20 repositorios
Integrating a JavaScript execution engine as a component within a larger host application.
Distinct from WebAssembly Engine Embedding: Specializes the general concept of engine embedding specifically for JavaScript, distinct from WebAssembly.
Explore 20 awesome GitHub repositories matching programming languages & runtimes · JavaScript Engine Embedding. Refine with filters or upvote what's useful.
V8 is a high-performance JavaScript and WebAssembly engine designed to compile and execute code within host applications. It functions as an embeddable scripting engine and just-in-time compiler, providing a portable library for integrating dynamic script execution into native software environments. The engine incorporates a WebAssembly runtime to execute compiled binary code for a stack-based virtual machine at near-native speeds. It enables native application scripting by allowing a JavaScript execution environment to be embedded directly into a native program to handle dynamic logic. The
Designed as an embeddable engine that can be integrated into native applications to handle dynamic logic.
Hermes is a mobile-optimized JavaScript runtime and engine designed for React Native. It functions as an ahead-of-time bytecode compiler that converts JavaScript source code into a dense binary format during the build process to eliminate the need for parsing and compilation at runtime. The engine features a baseline JIT compiler that generates native machine code for frequently called functions to improve performance after the initial launch. It also includes a mobile-optimized garbage collector that precisely identifies reachable objects to minimize memory overhead and pause times on resour
Designed to be embedded as the primary JavaScript execution engine within React Native host applications.
WasmEdge is an extensible WebAssembly runtime that executes WebAssembly bytecode in a secure sandbox for cloud, edge, and embedded applications. It functions as a multi-language compiler, compiling applications written in Rust, JavaScript, Go, and Python into WebAssembly bytecode for sandboxed execution, and as a server-side JavaScript runtime that runs JavaScript programs with ES6 modules, NPM packages, and Node.js-compatible APIs. The runtime also serves as an AI inference runtime, executing AI models from JavaScript using WASI-NN plug-ins for inference tasks on personal devices and edge har
Builds custom runtime capabilities by adding native functions written in C, Go, or Rust to the WebAssembly environment.
Napajs is an embeddable JavaScript engine and multi-threaded runtime designed to be integrated directly into other software applications as a component. It serves as a parallel computation framework that allows JavaScript code to execute across multiple threads, bypassing the standard single-threaded event loop limitation to handle CPU-intensive tasks. The runtime is distinguished by its ability to load and execute modules from the NPM ecosystem and its pluggable execution environment. This architecture allows for custom implementations of memory allocation, system logging, and performance me
Provides the core capability of integrating a JavaScript runtime directly into other software applications as a component.
Otto is a Go implementation of a JavaScript interpreter and embedded scripting engine. It provides a runtime environment for executing JavaScript code within native applications and includes a parser that converts source code into an abstract syntax tree for analysis and processing. The project enables the creation of custom scripting interfaces by binding native Go functions into the JavaScript global scope. It also includes a utility to translate JavaScript regular expression patterns into compatible formats for other programming languages. The engine supports safe script sandboxing throug
Integrates a full JavaScript execution engine as a component within a Go host application.
pysheeet es una biblioteca de referencia técnica que proporciona una colección curada de fragmentos de código y patrones de implementación para el desarrollo avanzado en Python, integración de sistemas y computación de alto rendimiento. Sirve como una guía completa para implementar programación de red de bajo nivel, extensiones nativas en C y programación asíncrona y concurrente. El proyecto proporciona frameworks especializados para el desarrollo y despliegue de modelos de lenguaje de gran tamaño, incluyendo herramientas para inferencia distribuida en GPU y servicio de alto rendimiento. También incluye patrones detallados para la orquestación de clústeres de computación de alto rendimiento, cubriendo la asignación de recursos de GPU y la gestión de cargas de trabajo en múltiples nodos. La biblioteca cubre una amplia superficie de capacidades, incluyendo comunicación de red segura y criptografía, mapeo objeto-relacional y gestión de bases de datos, y la implementación de estructuras de datos y algoritmos complejos. También proporciona utilidades para la gestión de memoria, interoperabilidad nativa a través de interfaces de funciones externas e integración de sistemas operativos a nivel de sistema.
Provides documentation and implementation patterns for integrating C and C++ code into Python applications.
miniblink49 is a stripped-down Blink browser kernel and embedded web UI framework used to integrate HTML user interfaces into native C++ applications. It functions as a C++ JavaScript interop bridge that maps high-level script calls to low-level native logic and provides a resource-optimized headless browser engine for processing web content without a graphical interface. The project enables custom browser environment control by bypassing cross-origin security policies to allow requests across different domains. It further allows for the interception of network resources to replace remote ass
Embeds a high-performance JavaScript engine within a C++ application to process script logic.
JerryScript is a lightweight, ECMAScript-compliant JavaScript engine and bytecode compiler designed for resource-constrained devices. It serves as an embedded interpreter and IoT scripting runtime, enabling the execution of JavaScript code within native C applications on hardware with limited memory. The project differentiates itself through a focus on low-memory runtime management, utilizing bytecode precompilation and pre-compiled state snapshots to reduce startup time and memory overhead. It features a C-binding native bridge for bidirectional communication between native code and scripts,
Provides a lightweight JavaScript engine designed for embedding into native C applications on resource-constrained devices.
Goja is a JavaScript engine and ECMAScript compliant interpreter implemented entirely in Go. It serves as an embedded scripting engine that allows Go applications to execute JavaScript code and integrate a programmable scripting layer without relying on Cgo or external native dependencies. The project functions as a bridge between Go and JavaScript, enabling bidirectional data exchange and function invocation. It allows Go hosts to expose native structs, slices, and maps as JavaScript objects and arrays, while providing mechanisms to export script values and functions back into native Go type
Integrates a full JavaScript execution engine as an embedded component within Go applications.
Duktape es un motor de JavaScript embebible y runtime de scripting portátil diseñado para la integración en aplicaciones C y C++. Funciona como un runtime de ECMAScript ligero que proporciona un puente C-JavaScript para intercambiar datos e invocar funciones entre código nativo y un entorno de ejecución de scripts. El motor incluye un compilador de bytecode ECMAScript que permite la serialización y el almacenamiento en caché de funciones compiladas en disco para reducir el tiempo de inicio de la aplicación. Organiza las dependencias de scripts utilizando un cargador de módulos compatible con CommonJS. El runtime cubre una variedad de capacidades, incluyendo programación de corrutinas cooperativas para ejecución asíncrona y un sistema de recolección de basura híbrido que combina conteo de referencias con recolección mark-and-sweep. También proporciona un protocolo de depuración mediante un proxy JSON y soporta transportes de depuración personalizados para hardware restringido. Las configuraciones de compilación se gestionan a través de ajustes basados en YAML para generar encabezados C específicos de la plataforma.
Provides a lightweight ECMAScript runtime designed for seamless integration as a component within C and C++ applications.
Defold es un motor de juegos multiplataforma y entorno de desarrollo integrado utilizado para crear juegos 2D y 3D para escritorio, móvil y web. Combina un IDE de desarrollo de juegos para la gestión de activos y escenas con un sistema de compilación multiplataforma y un entorno de scripting basado en Lua. El motor incluye un runtime headless especializado para alojar servidores de juegos y realizar pruebas automatizadas sin una interfaz gráfica. Soporta extensiones nativas del motor, permitiendo que código personalizado de bajo nivel se integre en el núcleo para expandir la funcionalidad más allá de la interfaz de scripting estándar. El conjunto de herramientas cubre la automatización de compilación de juegos para su distribución en plataformas como Steam y Epic Games Store, junto con el empaquetado de activos y la gestión de localización de proyectos. Las capacidades de desarrollo incluyen depuración de juegos en tiempo real con actualizaciones de estado en vivo, análisis del tamaño de la compilación y pruebas de humo automatizadas.
Enables the integration of low-level C++ code to provide specialized functionality beyond the Lua scripting interface.
Puerts es un incrustador de runtime de TypeScript y framework de scripting de motor de juegos diseñado para integrar lenguajes dinámicos en aplicaciones host de bajo nivel. Funciona como un puente de API entre lenguajes de alto rendimiento, permitiendo a los desarrolladores ejecutar lógica de juego y scripts de editor utilizando TypeScript y JavaScript dentro de un entorno host compilado. El proyecto se distingue por una API de puente unificada que soporta backends de scripting conectables, permitiendo la selección o el intercambio en caliente de diferentes motores de lenguaje para equilibrar la velocidad de ejecución frente al tamaño del binario. Proporciona generación automática de declaraciones de tipo para asegurar el acceso con seguridad de tipos y autocompletado para APIs de host nativas. El framework cubre una amplia superficie de capacidades, incluyendo puente de API basado en reflexión para la invocación de funciones nativas, mapeo de objetos entre lenguajes y la integración de paquetes de terceros. También soporta automatización avanzada a través del control del motor mediante lenguaje natural, integración de agentes de IA para comportamientos dinámicos y un protocolo de control remoto estandarizado para conectar herramientas de codificación de IA externas a un proyecto en ejecución.
Integrates a JavaScript and TypeScript execution engine directly into low-level host applications.
mQuickjs is a compact JavaScript engine designed for memory-constrained devices, such as microcontrollers, requiring as little as 10 KB of RAM and 100 KB of ROM. It achieves this through a fixed-buffer memory allocation scheme that avoids system heap usage, a compacting tracing garbage collector that eliminates fragmentation, and a ROM-embedded standard library that reduces both memory footprint and startup time. The engine compiles JavaScript source into portable bytecode that can be stored in persistent memory and executed without reparsing, and it emulates IEEE 754 floating-point arithmetic
Embeds a JavaScript runtime as a component within a host application, requiring as little as 10 KB of RAM and 100 KB of ROM.
CPython-Internals es una guía técnica de implementación y referencia para el intérprete CPython. Proporciona un análisis detallado del código fuente en C interno y su arquitectura, centrándose en la lógica que gobierna el comportamiento del intérprete. El proyecto documenta el modelo de objetos de Python y el pipeline de compilación, rastreando el proceso desde la gramática cruda y los árboles de sintaxis abstracta hasta el bytecode ejecutable. También sirve como referencia para el desarrollo de extensiones en C, explicando cómo interactuar con estructuras de datos internas y utilizar la API de C. El material cubre la gestión de memoria, incluyendo el conteo de referencias y la recolección de basura generacional, así como la función del Global Interpreter Lock (GIL).
Documents the native C API used to create high-performance Python extensions.
gdext proporciona un conjunto de bindings de lenguaje para escribir lógica de juego nativa de alto rendimiento en Rust para el motor Godot 4. Sirve como framework para crear extensiones nativas del motor y clases personalizadas mediante la librería GDExtension, permitiendo a los desarrolladores extender la funcionalidad central del motor sin recompilar el código fuente del mismo. El proyecto incluye un toolchain dedicado de Rust WebAssembly para compilar lógica nativa en módulos para su ejecución en navegadores web. Este sistema soporta compilación compatible con WebAssembly con configuraciones específicas para threading web y depuración de módulos. El kit de herramientas cubre una amplia gama de capacidades de integración con el motor, incluyendo definiciones de clases personalizadas, gestión de nodos del árbol de escenas y manejo de señales con seguridad de tipos. Proporciona utilidades para simulación física, generación procedimental de contenido y desarrollo de plugins personalizados para el editor. El desarrollo cuenta con herramientas de automatización para la configuración de proyectos, pruebas de extensiones nativas y pruebas unitarias de lógica.
Provides a framework for creating native engine extensions and custom classes without recompiling the core engine source.
Templater is an Obsidian template engine and JavaScript automation plugin that functions as a dynamic content generator and workflow orchestrator. It enables the automation of document creation and note-taking tasks through the use of dynamic placeholders and embedded logic. The project distinguishes itself by executing custom JavaScript and shell commands to manipulate files and insert data. It allows for interactive note generation via modal prompts for user input and the import of external JavaScript modules to provide reusable logic outside of template files. Its capabilities include pro
Executes custom JavaScript code within templates to manipulate data and access global application variables.
rusty_v8 is a Rust wrapper for the V8 JavaScript engine that allows for the embedding of a JavaScript runtime into native applications. It provides core components for managing engine bindings, memory allocation, sandboxed isolates, and the execution of WebAssembly modules. The project features a native host function bridge to map Rust functions to JavaScript objects and a dedicated memory allocator to manage thread-safe allocation and heap pressure. It includes a system for compiling and executing binary WebAssembly modules within the hosted native environment. The runtime covers capabiliti
Integrates the V8 JavaScript engine into native Rust applications to execute scripts and manage the runtime.
Cinder is a high-performance Python runtime implementation based on CPython. It is designed as an execution environment optimized for large-scale distributed systems and cloud environments. The project integrates a distributed memory cache and an asynchronous memory layer to manage data across multiple network nodes. It also provides a native C extension framework for developing high-performance compiled modules that link directly into the interpreter memory space. The system covers capabilities for asynchronous data retrieval, large-scale execution, and the integration of embedded scripting
Provides a stable C-language interface for linking high-performance compiled modules directly into the interpreter memory space.
QuickJS is a lightweight, embeddable ECMAScript runtime that executes JavaScript programs conforming to the latest specification. It is designed as a compact, standards-compliant JavaScript engine suitable for resource-constrained environments and embedded systems, available both as prebuilt binaries and as source code that can be compiled for custom integration. The engine distinguishes itself through a minimal runtime footprint achieved by a single-pass compiler that produces compact bytecode, executed on a stack-based virtual machine. Memory management uses reference-counting garbage colle
Provides a minimal C API for embedding a standards-compliant JavaScript runtime into host applications.
Este proyecto proporciona un envoltorio de C++ solo de cabecera para la Node-API, sirviendo como marco para construir complementos nativos de alto rendimiento para Node.js. Actúa como un puente entre C++ y JavaScript, ofreciendo una interfaz orientada a objetos que simplifica la creación de extensiones compiladas mientras gestiona las complejidades del límite del lenguaje. La biblioteca se distingue por proporcionar abstracciones seguras de tipos para la organización de datos y la gestión de memoria, asegurando que los objetos nativos y del lado del script sean rastreados y reclamados correctamente. Incluye mecanismos para coordinar tareas asíncronas entre hilos en segundo plano y el bucle de eventos principal, evitando la corrupción de datos mientras se descargan cálculos intensivos. Además, mapea las excepciones nativas a tipos de error de script estándar, asegurando informes de diagnóstico consistentes y manejo de fallas. Más allá de sus capacidades de puente central, el proyecto admite el ciclo de vida completo del desarrollo nativo, incluida la exposición de clases y métodos de C++ al tiempo de ejecución de JavaScript. Proporciona herramientas para gestionar ciclos de vida de entornos, automatizar migraciones de código y ejecutar puntos de referencia de rendimiento para evaluar el comportamiento de los componentes nativos.
Provides a framework for building high-performance native addons for Node.js by wrapping native interfaces into object-oriented structures.