Arquitectura de IronBarcode (2025.2+)

Curtis Chau
Curtis Chau
Updated: 29 de junio de 2026

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.

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.

Leer más

¿Listo para empezar?

Nuget Downloads 2,540,041Versión:2026.11recién lanzado