Architektura IronBarcode (od 2025.2+)

This article was translated from English: Does it need improvement?
Translated
View the article in English

Od wersji 2025.2, pakiet IronBarcode jest podzielony na osobne warstwy zarządzane, natywne i maszynowego uczenia. Struktura odzwierciedla konwencje nazewnictwa już używane przez IronOCR i IronPDF, co zapewnia lepsze wsparcie międzyplatformowe i łatwiejszą konserwację.

Struktura pakietu

Główna dystrybucja

Pakiety NuGet na najniższym poziomie mapują się na docelową platformę:

  • BarCode: domyślny pakiet dla Windows i główny NuGet do ogólnego użytku.
  • BarCode.Linux, BarCode.MacOS i podobne: specyficzne dla systemu operacyjnego dystrybucje, które stosują tę samą konwencję nazewniczą co IronOCR i IronPDF.

Wewnętrzne warstwy pakietów

Każdy pakiet najwyższego poziomu jest złożony z kilku wewnętrznych podpaczki, z których każda dotyczy jednego konkretnego zadania.

1. BarCode.Slim

Zawiera zarządzane jądro: kod C#, warstwę interop, cały kod związany z PDF i każdą zależność stron trzecich w C#. To centralna logika i warstwa wiążąca, która napędza zarządzane funkcje IronBarcode.

2. IronSoftware.ReaderInternals.XXX

Zawiera natywny kod C++ do odczytu, zapisu i wykrywania kodów kreskowych. Istnieją różne wersje specyficzne dla platformy dla Windows, Linux, Mac i innych.

3. BarCode.Detection

Zawiera logikę detekcji maszynowego uczenia, obecnie napisaną w C# na bazie ONNX Runtime. Na tym etapie nie jest zależna od OS.

BarCode.Detection w końcu zostanie przeniesiony do ncnn, natywnej biblioteki inferencji ML w C++, która następnie wprowadzi warianty specyficzne dla systemu operacyjnego.

Wykluczenia platform mobilnych

BarCode.Detection nie jest dołączony do Barcode.iOS ani Barcode.Android. Pominięcie jest celowe: detekcja ML budzi obawy związane z wydajnością i ograniczeniami kompatybilności na platformach mobilnych.

Korzyści

Przebudowana architektura dostarcza:

  • Modułowy podział między zarządzanym i natywnym kodem.
  • Czyste, ukierunkowane na OS pakietowanie.
  • Przygotowanie na przyszłość dla wysokowydajnej natywnej detekcji ML.
  • Bliższe dopasowanie z innymi bibliotekami Iron Software.
  • Łatwiejsza konserwacja i rozwiązywanie problemów.
Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 2,317,217 | Wersja: 2026.7 właśnie wydany
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package BarCode
uruchom przykład zobacz, jak twoje ciągi zamieniają się w kody kreskowe.