Duktape — это встраиваемый JavaScript-движок с акцентом на портативность, компактный объём кода и низкие требования к памяти. Проект ориентирован на интеграцию в приложения на C и C++, где важны небольшие размеры бинарника, простота сборки и детерминированное поведение. Duktape реализует подмножество спецификаций ECMAScript, предоставляя интерпретаторный механизм выполнения скриптов, управление стеком значений, базовые объекты языка и механизмы расширения средствами C API.
Исторически Duktape развивался как открытый проект с целью предложить лёгкую альтернативу более тяжёлым движкам для встраиваемых систем и приложений с ограниченными ресурсами. Он сочетает интерпретатор, промежуточное представление и набор утилит для интеграции, включая средства для сериализации/десериализации облегчённых значений, обработки ошибок и управления памятью. Поддержка языковых возможностей ориентирована на стабильность и предсказуемость поведения в условиях ограниченных ресурсов.
- Компактность: реализован с упором на небольшой объём исходного кода и память во время выполнения, что упрощает включение в встраиваемые и мобильные приложения.
 - Портабельность: написан на C с минимальными зависимостями, легко компилируется для широкого круга платформ и архитектур.
 - C API для встраивания: предоставляет функции для вызова скриптов, управления контекстами выполнения, регистрации нативных функций и обмена данными между хостом и скриптами.
 - Поддержка ES-совместимых объектов: включает основные объекты и конструкции JavaScript (функции, объекты, массивы, замыкания), достаточные для типичных сценариев автоматизации и расширения приложения.
 - Управление памятью: содержит механизмы аллокации с возможностью подмены аллокатора и контроля использования памяти, полезные в системах с жёсткими лимитами ресурсов.
 - Обработка ошибок и отладка: предоставляет средства генерации исключений, трассировки и простые инструменты для логирования и диагностики скриптов во встраиваемой среде.
 - Конфигурируемость: позволяет отключать или включать функции и оптимизации на этапе сборки, чтобы подогнать размер и поведение под конкретные требования проекта.
 - Безопасность и изоляция: поддерживает изоляцию контекстов выполнения и контроль над доступом нативных расширений к ресурсам хоста, что помогает ограничивать область влияния скриптов.
 - Формат хранения кода: обеспечивает простые способы загрузки и выполнения исходного JavaScript-кода, а также возможность предварительной компиляции или упаковки скриптов для уменьшения времени запуска.
 - Сообщество и лицензия: как открытый проект, Duktape обычно распространяется с лицензией, позволяющей встраивание и модификацию; конкретные условия зависят от версии и репозитория.