Duktape — компактный встраиваемый JavaScript-движок

5 декабря 2014 года

В рамках проекта Duktape развивается JavaScript-движок, ориентированный на встраивание в кодовую базу проектов на языке C/C++ и отличающийся компактным размером, высокой переносимостью и низким потреблением ресурсов. Исходные тексты движка написаны на языке Си и распространяются под лицензией MIT. Состояние проекта отмечено как стабильное и пригодное для промышленного применения.

Для интеграции Duktape в код на C/C++ достаточно добавить в проект файлы duktape.c и duktape.h, и использовать Duktape API для вызова функций на JavaScript из кода на C/C++ или наоборот. Код Duktape занимает около 200 Кб и потребляет всего 46kB ОЗУ, а в режиме низкого потребления памяти 22kB ОЗУ. Подобная особенность позволяет использовать Duktape на встраиваемых системах, укомплектованных 256kB Flash и 96kB ОЗУ.

Движок является полностью совместимым со спецификациями Ecmascript E5/E5.1, а также поддерживает часть возможностей из находящегося в разработке стандарта Ecmascript E6, в том числе поддерживается объект Proxy, который можно использовать для виртуализации свойств. Предоставляется также набор собственных расширений, таких как сопрограммы, встроенный фреймворк для журналирования, механизм загрузки модулей на основе CommonJS.

В состав входит встроенный движок для выполнения регулярных выражений и подсистема для поддержки Unicode. Для освобождения неиспользуемых объектов из памяти применяется сборщик мусора с финализатором, построенный на основе комбинации алгоритма подсчёта ссылок с алгоритмом пометок (Mark and Sweep).

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Duktape — компактный встраиваемый JavaScript-движок», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.