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
