Об этом проекте
ChakraCore — это открытый движок JavaScript, предоставляющий API на языке C, что позволяет разработчикам добавлять поддержку JavaScript в любой проект на C или C++. Изначально это был движок браузера Microsoft Edge, но теперь он поддерживается как проект сообщества под лицензией MIT.
Поддержка платформ: ChakraCore можно компилировать для процессоров x64 на Linux, macOS и Windows, а также для x86 и ARM только на Windows. Поддержка x86/ARM на Linux и ARM на macOS указана как будущая цель.
Статус проекта: Microsoft Edge больше не использует Chakra, и Microsoft предоставляла обновления безопасности для ChakraCore 1.11 только до 9 марта 2021 года. Планируется, что проект продолжит существование как инициатива сообщества, ориентированная в основном на встраиваемые сценарии, с опубликованными документами планирования для будущего релиза 1.12. Координация сообщества осуществляется через GitHub issues и сервер в Discord.
Использование: После сборки движок можно протестировать с помощью ch (ch.exe на Windows) — легковесного приложения-хоста для запуска небольших программ на JavaScript. Основной сценарий использования — прямое встраивание ChakraCore в приложения через API JSRT (JavaScript Runtime), официальная документация по встраиванию и примеры доступны. Также его можно установить через менеджер зависимостей vcpkg с интеграцией CMake (vcpkg install chakracore).
Важное замечание об области применения: ChakraCore — это только движок JavaScript. Он не включает внешние API, предоставляемые веб-браузером или Node.js, такие как DOM API, например document.write(). Приложения, встраивающие движок, должны реализовывать свои собственные API ввода и вывода; хост ch предоставляет print() для вывода в терминал.
Сборка: На Windows сборка выполняется с помощью Visual Studio 2015 или 2017 (с поддержкой C++) через решение Chakra.Core.sln. На macOS сборка выполняется с помощью инструментов командной строки Xcode и CMake. На Linux сборка выполняется с помощью CMake и Ninja. Также доступны предсобранные бинарные файлы.
Документация включает обзор архитектуры, краткое руководство по встраиванию, полное справочное руководство по API JSRT, рекомендации по внесению вклада, а также коллекцию блогов, докладов и других ресурсов. Приветствуются вклады в виде сообщений об ошибках, проверки исправлений и pull requests. Вопросы безопасности в ветке 1.11 обрабатывались через закрытый канал сообщений Microsoft, в то время как проблемы, обнаруженные только в ветке master, сообщаются участникам основной команды в приватном порядке через Discord.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.