Arquitectura de IronBarcode (2025.2+)
A partir de la versión 2025.2, el paquete IronBarcode está dividido en capas separadas: manejado, nativo y de aprendizaje automático. La estructura refleja las convenciones de nomenclatura ya utilizadas por IronOCR e IronPDF, lo que proporciona un soporte multiplataforma más limpio y un mantenimiento más sencillo.
Estructura del Paquete
Distribución Principal
Los paquetes NuGet de nivel superior se asignan a una plataforma de destino:
BarCode: el paquete predeterminado para Windows, y el NuGet principal para uso general.BarCode.Linux,BarCode.MacOS, y similares: distribuciones específicas del sistema operativo que siguen la misma convención de nombres que IronOCR y IronPDF.
Capas Internas del Paquete
Cada paquete de nivel superior se ensambla a partir de varios subpaquetes internos, cada uno con una función específica.
1. BarCode.Slim
Sostiene el núcleo gestionado: el código C#, la capa de interop, todo el código relacionado con PDF y cada dependencia de terceros C#. Esta es la lógica central y la capa de enlace que impulsa las características gestionadas de IronBarcode.
2. IronSoftware.ReaderInternals.XXX
Contiene el código nativo C++ para la lectura, escritura y detección de códigos de barras. Existen variantes específicas de la plataforma para Windows, Linux, Mac, y otros.
3. BarCode.Detection
Transporta la lógica de detección de aprendizaje automático, actualmente escrito en C# sobre ONNX Runtime. No depende del OS en esta etapa.
BarCode.Detection eventualmente se trasladará a ncnn, una biblioteca nativa de inferencia ML en C++, que luego introducirá variantes específicas del sistema operativo.
Exclusiones de la Plataforma Móvil
BarCode.Detection no está empaquetado en Barcode.iOS o Barcode.Android. La omisión es deliberada: la detección de ML plantea preocupaciones de rendimiento y limitaciones de compatibilidad en plataformas móviles.
Beneficios
La arquitectura reestructurada ofrece:
- Una separación modular entre código gestionado y nativo.
- Paquetes limpios y orientados al SO.
- Preparación para detección ML nativa de alto rendimiento.
- Mayor alineación con otras bibliotecas de Iron Software.
- Mantenimiento y solución de problemas más fáciles.

