В декабре 2015 года на конференции JSConf US мы объявили, что планируем открыть исходный код ключевых компонентов JavaScript-движка Chakra, работающего в Microsoft Edge. Сегодня мы рады сообщить, что мы выложили исходный код ChackraCore под MIT лицензией в соответствующем репозитарии на GitHub. В дальнейшем мы планируем продолжать разрабатывать ключевые компоненты Chakra в открытом виде.
В репозитарии ChakraCore вы найдете полностью поддерживаемый, открытый и изолированный движок JavaScript с теми же характеристиками, что и Chakra-движок в Microsoft Edge, который вы можете встраивать в свои проекты или расширять поверх. Мы будем также принимать вклад от сообщества в развитие движка. После того, как изменения из того или иного пул-запроса будут проверены, нашей дальнешей целью становится убедиться, что все улучшения будут также поставляться как часть JavaScript-движка в Microsoft Edge и универсальной платформе Windows (UWP) в Windows 10.
Мы также опубликовали в репозитории план развития (roadmap) ChakraCore. Используя сегодняшний релиз, вы можете собрать ChakraCore на Windows 7 SP1 и выше, используя Visual Studio 2013 или 2015 с установленной поддержкой С++. В будущем мы хотим перенести движок на другие платформы, начиная с Linux, и будем обновлять план и текущий статус по мере продвижения. Как первый шаг в этом направлении, мы отделили JIT-компилятор Chakra, сделав конфигурацию сборки, создающую интерпретатор и среду исполнения. Это относительно небольшое подмножество — наша первая цель на пути к кросс-платформенности движка. Мы будем рады поддержке сообщества: вы можете высказать мнение о том, какие платформы нам стоит поддержать в первую очередь, или даже помочь нам перенести движок на вашу любимую платформу.
В дополнение к кросс-платформенной поддержке, одна из наших целей, обозначенных в плане — включение в основную ветку Node.js поддержки запуска поверх ChackraCore. Мы также будем продолжать развивать поддержку новых возможностей языка и стандарта JavaScript и работать над улучшением диагностических средств в ChakraCore. Это включает как дальнейшее развитие поддержки ECMAScript 2015 (ES6) и будущих версий ECMAScript, так и, например, добавление поддержки «Time Travel»-отладки, позволяющей перемещаться назад во времени и между вызовами функций во время отладки JavaScript-кода.
Будем рады узнать, что вы обо всем этом думаете, вашим отзывам и вашим дополнения в движок. Нам интересно увидеть, какие приложения и решения вы сделаете, используя ChakraCore. Рассказывайте нам о своем опыте в твиттере @ChakraCore и в репозитарии на GitHub (вы можете поделиться мнением, открыв новый запрос.
Кажется, сегодня отличный день для JavaScript-сообщества и всех вовлеченных в этот процесс. Мы верим, что сделав разработку открытой, наша команда сможет лучше взаимодействовать с разработчиками по всему миру, а значит, сможет сделать выпускаемые продукты еще лучше для всех.
Автор: Microsoft