Выпуск OneScript 2.0.0, среды исполнения скриптов на языке 1С:Предприятие
Опубликован выпуск проекта OneScript 2.0.0, развивающего независимую от компании 1С кроссплатформенную виртуальную машину для выполнения скриптов на языке 1С: Предприятие. Система самодостаточна и позволяет выполнять скрипты на языке 1С без установки платформы 1С: Предприятие и специфичных для неё библиотек. Виртуальную машину OneScript можно использовать как для прямого исполнения сценариев на языке 1С, так и для встраивания поддержки их исполнения в приложения, написанные на других языках. Код проекта написан на языке С# и распространяется под лицензией MPL-2.0. Поддерживается работа в Linux, Windows и macOS.
OneScript поддерживает все возможности языка 1С, включая нестрогую типизацию, условные выражения, циклы, исключения, массивы, регулярные выражения, COM-объекты и встроенные функции для работы с примитивными типами. Стандартная библиотека предоставляет функции для работы с файлами и строками, взаимодействия с системой, обработки JSON и XML, сетевого доступа и использования протокола HTTP, математических вычислений, работы с макетами.
Изначально система рассчитана на разработку консольных приложений на языке 1С, но сообществом развивается библиотека OneScriptForms, позволяющая создавать приложения с графическим интерфейсом. Кроме стандартной библиотеки и OneScriptForms для OneScript доступно около 200 пакетов с дополнительными библиотеками и утилитами. Для упрощения установки и распространения библиотек предлагается пакетный менеджер opm.
В новой версии:
Осуществлён переход на новую платформу .NET, позволивший повысить производительность 1Script и обойтись без использования Mono в Linux и macOS. Из-за замены базовой платформы потеряна бинарная совместимость с существующими внешними компонентами (dll) и требуется перекомпиляция компоненов под новую версию .NET (как минимум, под слой совместимости netstandard 2.0).
Помимо классического режима компиляции и выполнения кода (стековая машина) добавлена поддержка native-компиляции в код машины .NET. Добавлен экспериментальный строго-типизированный статический компилятор для высоконагруженных участков кода, позволяющий компилировать язык 1С напрямую в коды машины .NET, а затем в машинный код, демонстрирующий производительность на уровне чистого C#.
Реализована возможность создания самодостаточных сборок, не требующих установки .NET на целевую систему (компоненты .NET встраиваются в поставку).
Модуль, имеющий в начале директиву #native компилируется новым компилятором и выполняется новой средой исполнения. Подобный код должен быть строго типизированным, поэтому не все привычные конструкции языка 1С работают (например, не всегда можно записывать в одну и ту же переменную значения разных типов).
- Проведён глубокий рефакторинг ядра 1Script и добавлен новый парсер языка, реализованный в виде отдельной библиотеки OneScript.Language и позволяющий создавать независимые инструменты анализа кода, обфускаторы и трансляторы.
Упрощена интеграция среды исполнения в сторонние приложения.
- Добавлен встроенный http-сервер на базе Kestrel.
Источник: http://www.opennet.ru/opennews/art.shtml? num=64547
OpenNet прочитано 263 раза
