20 repository-uri
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 este o bibliotecă de referință tehnică ce oferă o colecție curatoriată de fragmente de cod și modele de implementare pentru dezvoltarea avansată în Python, integrarea sistemelor și calculul de înaltă performanță. Servește ca un ghid cuprinzător pentru implementarea programării de rețea de nivel scăzut, extensiilor native C și programării asincrone și concurente. Proiectul oferă framework-uri specializate pentru dezvoltarea și implementarea modelelor de limbaj mari, inclusiv instrumente pentru inferență distribuită pe GPU și servire de înaltă performanță. Include, de asemenea, modele detaliate pentru orchestrarea clusterelor de calcul de înaltă performanță, acoperind alocarea resurselor GPU și gestionarea sarcinilor de lucru pe mai multe noduri. Biblioteca acoperă o gamă largă de capabilități, inclusiv comunicarea securizată în rețea și criptografia, object-relational mapping și gestionarea bazelor de date, precum și implementarea structurilor de date și algoritmilor complecși. Oferă, de asemenea, utilitare pentru gestionarea memoriei, interoperabilitate nativă prin interfețe de funcții străine (FFI) și integrarea la nivel de sistem de operare.
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 este un motor JavaScript embeddable și un runtime de scripting portabil conceput pentru integrarea în aplicații C și C++. Acesta funcționează ca un runtime ECMAScript ușor care oferă o punte C-JavaScript pentru schimbul de date și invocarea funcțiilor între codul nativ și un mediu de execuție de scripturi. Motorul include un compilator de bytecode ECMAScript care permite serializarea și cache-uirea funcțiilor compilate pe disc pentru a reduce timpul de pornire al aplicației. Acesta organizează dependențele de script folosind un încărcător de module compatibil CommonJS. Runtime-ul acoperă o varietate de capabilități, inclusiv programarea cooperativă a corutinelor pentru execuție asincronă și un sistem hibrid de garbage collection care combină numărarea referințelor cu mark-and-sweep. De asemenea, oferă un protocol de debugging printr-un proxy JSON și suportă transporturi de debug personalizate pentru hardware restricționat. Configurațiile de build sunt gestionate prin setări bazate pe YAML pentru a genera headere C specifice platformei.
Provides a lightweight ECMAScript runtime designed for seamless integration as a component within C and C++ applications.
Defold este un motor de jocuri cross-platform și un mediu de dezvoltare integrat (IDE) utilizat pentru a crea jocuri 2D și 3D pentru desktop, mobil și web. Acesta combină un IDE de dezvoltare a jocurilor pentru gestionarea activelor și a scenelor cu un sistem de build multi-platformă și un mediu de scripting bazat pe Lua. Motorul include un runtime headless specializat pentru găzduirea serverelor de joc și efectuarea de teste automate fără o interfață grafică. Suportă extensii native ale motorului, permițând integrarea codului personalizat de nivel scăzut în nucleu pentru a extinde funcționalitatea dincolo de interfața standard de scripting. Setul de instrumente acoperă automatizarea build-ului de jocuri pentru distribuția pe platforme precum Steam și Epic Games Store, alături de împachetarea activelor și gestionarea localizării proiectelor. Capabilitățile de dezvoltare includ debugging-ul jocurilor în timp real cu actualizări de stare live, analiza dimensiunii build-ului și teste automate de tip smoke testing.
Enables the integration of low-level C++ code to provide specialized functionality beyond the Lua scripting interface.
Puerts este un embedder de runtime TypeScript și un framework de scripting pentru motoare de jocuri, conceput pentru a integra limbaje dinamice în aplicații host de nivel scăzut. Acesta funcționează ca o punte API cross-language de înaltă performanță, permițând dezvoltatorilor să execute logica de gameplay și scripturile de editor folosind TypeScript și JavaScript într-un mediu host compilat. Proiectul se distinge printr-un API de bridging unificat care suportă backend-uri de scripting pluggable, permițând selecția sau schimbarea la cald a diferitelor motoare de limbaj pentru a echilibra viteza de execuție cu dimensiunea binarului. Oferă generarea automată a declarațiilor de tip pentru a asigura accesul type-safe și autocomplete pentru API-urile host native. Framework-ul acoperă o suprafață largă de capabilități, inclusiv bridging API bazat pe reflexie pentru invocarea funcțiilor native, maparea obiectelor cross-language și integrarea pachetelor terțe. De asemenea, suportă automatizarea avansată prin controlul motorului în limbaj natural, integrarea agenților AI pentru comportamente dinamice și un protocol standardizat de control de la distanță pentru conectarea instrumentelor externe de codare AI la un proiect în execuție.
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 este un ghid tehnic de implementare și referință pentru interpretorul CPython. Oferă o analiză detaliată a codului sursă C intern și a arhitecturii, concentrându-se pe logica care guvernează comportamentul interpretorului. Proiectul documentează modelul de obiecte Python și pipeline-ul de compilare, urmărind procesul de la gramatica brută și arborii de sintaxă abstractă până la bytecode-ul executabil. De asemenea, servește ca referință pentru dezvoltarea extensiilor C, explicând cum să interfațați cu structurile de date interne și să utilizați API-ul C. Materialul acoperă gestionarea memoriei, inclusiv numărarea referințelor și garbage collection-ul generațional, precum și funcția global interpreter lock (GIL).
Documents the native C API used to create high-performance Python extensions.
gdext oferă un set de binding-uri de limbaj pentru scrierea logicii de joc native de înaltă performanță în Rust pentru motorul Godot 4. Servește drept framework pentru crearea de extensii native de motor și clase personalizate prin biblioteca GDExtension, permițând dezvoltatorilor să extindă funcționalitatea de bază a motorului fără a recompila codul sursă al acestuia. Proiectul include un toolchain dedicat Rust WebAssembly pentru a compila logica nativă în module pentru execuție în browserele web. Acest sistem suportă compilarea compatibilă cu WebAssembly cu configurații specifice pentru threading-ul web și debugging-ul modulelor. Toolkit-ul acoperă o gamă largă de capabilități de integrare în motor, inclusiv definiții de clase personalizate, gestionarea nodurilor din arborele de scenă și gestionarea semnalelor type-safe. Oferă utilitare pentru simularea fizicii, generarea procedurală de conținut și dezvoltarea de plugin-uri personalizate pentru editor. Dezvoltarea este susținută de instrumente de automatizare pentru configurarea proiectului, testarea extensiilor native și testarea unitară a logicii.
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.
Acest proiect oferă un wrapper C++ „header-only” pentru Node-API, servind drept framework pentru construirea de addon-uri native de înaltă performanță pentru Node.js. Acționează ca o punte între C++ și JavaScript, oferind o interfață orientată pe obiecte care simplifică crearea de extensii compilate, gestionând în același timp complexitățile graniței dintre limbaje. Biblioteca se distinge prin oferirea de abstracțiuni „type-safe” pentru marshalling-ul datelor și gestionarea memoriei, asigurându-se că obiectele native și cele de pe partea de script sunt urmărite și recuperate corect. Include mecanisme pentru coordonarea sarcinilor asincrone între thread-urile de fundal și event loop-ul principal, prevenind coruperea datelor în timp ce se deleagă calculele intensive. Mai mult, mapează excepțiile native la tipurile standard de eroare din script, asigurând raportarea diagnostică consistentă și gestionarea eșecurilor. Dincolo de capabilitățile sale de bază de bridging, proiectul susține întregul ciclu de viață al dezvoltării native, inclusiv expunerea claselor și metodelor C++ către runtime-ul JavaScript. Oferă instrumente pentru gestionarea ciclurilor de viață ale mediului, automatizarea migrațiilor de cod și executarea de benchmark-uri de performanță pentru a evalua comportamentul componentelor native.
Provides a framework for building high-performance native addons for Node.js by wrapping native interfaces into object-oriented structures.