Se ha lanzado OneScript 2.0.0. Desarrolla una máquina virtual multiplataforma y un compilador para ejecutar scripts de 1C:Enterprise, independientemente de 1C. El sistema es autónomo y permite ejecutar scripts de 1C sin instalar la plataforma 1C:Enterprise ni sus bibliotecas específicas. La máquina virtual OneScript puede utilizarse tanto para ejecutar scripts de 1C directamente como para integrar la ejecución de scripts en aplicaciones escritas en otros lenguajes. El código del proyecto está escrito en C# y se distribuye bajo la licencia MPL-2.0. Funciona en Linux, Windows y macOS.
OneScript es compatible con todas las funciones del lenguaje 1C, incluida la tipificación suelta, las expresiones condicionales, los bucles, las excepciones, las matrices, las expresiones regulares, los objetos COM y las funciones integradas para trabajar con tipos primitivos. La biblioteca estándar proporciona funciones para trabajar con archivos y cadenas, interactuar con el sistema, procesar JSON y XML, acceder a la red y usar el protocolo HTTP, cálculos matemáticos, trabajar con diseños.
El sistema se diseñó originalmente para desarrollar aplicaciones de consola en lenguaje 1C, pero la comunidad está desarrollando la biblioteca OneScriptForms, que permite crear aplicaciones con una interfaz gráfica. Además de la biblioteca estándar y OneScriptForms, hay disponibles aproximadamente 200 paquetes con bibliotecas y utilidades adicionales para OneScript. Para simplificar la instalación y distribución de bibliotecas, está disponible el gestor de paquetes OPM.
Versículos nuevos:
- Se ha implementado la transición a una plataforma .NET unificada (que combina .NET Framework, .NET Core y Mono), eliminando así la necesidad de Mono en Linux y macOS. Debido al cambio en la plataforma subyacente, se pierde la compatibilidad binaria con los componentes externos (DLL) existentes, lo que requiere la recompilación de estos componentes para la nueva versión de .NET (al menos la capa de compatibilidad NetStandard 2.0).
- Además de ejecutar código en la pila máquina virtual Se ha añadido compatibilidad con la compilación nativa. Se ha implementado un compilador estático fuertemente tipado para las secciones de código con alta carga, lo que permite compilar el lenguaje 1C directamente a código máquina .NET y, posteriormente, a código nativo, demostrando un rendimiento comparable al de C# puro.
- Se ha añadido la directiva #native para compilar módulos con el nuevo compilador y ejecutarlos en el nuevo entorno de ejecución. Este código debe tener un tipado estricto, por lo que no todas las construcciones habituales del lenguaje 1C funcionan (por ejemplo, no siempre es posible asignar valores de diferentes tipos a la misma variable).
- Se ha implementado la capacidad de crear ensamblajes autónomos que no requieren la instalación de .NET en el sistema de destino (los componentes .NET están integrados en la entrega).
- El núcleo de 1Script se ha refactorizado a fondo y se ha añadido un nuevo analizador de lenguaje. Este analizador, implementado como una biblioteca independiente, OneScript.Language, permite la creación de herramientas de análisis de código, ofuscadores y traductores independientes. Se ha mejorado el rendimiento de 1Script.
- Se ha simplificado la integración del entorno de ejecución en aplicaciones de terceros.
- Se agregó un servidor HTTP integrado basado en Kestrel.
Fuente: opennet.ru
