20 مستودعات
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 هي مكتبة مرجعية تقنية توفر مجموعة مختارة من مقتطفات التعليمات البرمجية وأنماط التنفيذ لتطوير Python المتقدم، وتكامل النظام، والحوسبة عالية الأداء. تعمل كدليل شامل لتنفيذ برمجة الشبكات منخفضة المستوى، وإضافات C الأصلية، والبرمجة غير المتزامنة والمتزامنة. يوفر المشروع أطر عمل متخصصة لتطوير ونشر نماذج اللغات الكبيرة، بما في ذلك أدوات لاستنتاج GPU الموزع والخدمة عالية الأداء. يتضمن أيضاً أنماطاً مفصلة لتنظيم مجموعات الحوسبة عالية الأداء، وتغطية تخصيص موارد GPU وإدارة عبء العمل متعدد العقد. تغطي المكتبة سطحاً واسعاً من القدرات، بما في ذلك اتصالات الشبكة الآمنة والتشفير، والتعيين الكائني-العلائقي وإدارة قواعد البيانات، وتنفيذ هياكل البيانات والخوارزميات المعقدة. كما توفر أدوات لإدارة الذاكرة، وقابلية التشغيل البيني الأصلية عبر واجهات الوظائف الخارجية، وتكامل نظام التشغيل على مستوى النظام.
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 is an embeddable JavaScript engine and portable scripting runtime designed for integration into C and C++ applications. It functions as a lightweight ECMAScript runtime that provides a C-JavaScript bridge for exchanging data and invoking functions between native code and a script execution environment. The engine includes an ECMAScript bytecode compiler that allows for the serialization and caching of compiled functions to disk to reduce application startup time. It organizes script dependencies using a CommonJS-compliant module loader. The runtime covers a variety of capabilities in
Provides a lightweight ECMAScript runtime designed for seamless integration as a component within C and C++ applications.
Defold هو محرك ألعاب متعدد المنصات وبيئة تطوير متكاملة تستخدم لإنشاء ألعاب ثنائية وثلاثية الأبعاد لمنصات سطح المكتب، والأجهزة المحمولة، والويب. يجمع بين بيئة تطوير ألعاب لإدارة الأصول والمشاهد مع نظام بناء متعدد المنصات وبيئة برمجة تعتمد على Lua. يتضمن المحرك وقت تشغيل متخصص بدون واجهة رسومية (headless) لاستضافة خوادم الألعاب وإجراء الاختبارات الآلية. يدعم إضافات المحرك الأصلية، مما يسمح بدمج كود منخفض المستوى مخصص في النواة لتوسيع الوظائف بما يتجاوز واجهة البرمجة القياسية. تغطي مجموعة الأدوات أتمتة بناء الألعاب للتوزيع على منصات مثل Steam وEpic Games Store، إلى جانب حزم الأصول وإدارة توطين المشاريع. تشمل قدرات التطوير تصحيح أخطاء الألعاب في الوقت الفعلي مع تحديثات الحالة المباشرة، وتحليل حجم البناء، واختبارات الدخان (smoke testing) الآلية.
Enables the integration of low-level C++ code to provide specialized functionality beyond the Lua scripting interface.
Puerts هو مضمن وقت تشغيل TypeScript وإطار عمل برمجة لمحرك الألعاب مصمم لدمج اللغات الديناميكية في تطبيقات المضيف منخفضة المستوى. يعمل كجسر واجهة برمجة تطبيقات عالي الأداء عبر اللغات، مما يسمح للمطورين بتنفيذ منطق اللعب ونصوص المحرر باستخدام TypeScript وJavaScript داخل بيئة مضيفة مجمعة. يتميز المشروع بجسر واجهة برمجة تطبيقات موحد يدعم خلفيات البرمجة القابلة للتوصيل، مما يتيح اختيار أو تبديل محركات اللغات المختلفة لموازنة سرعة التنفيذ مقابل حجم الملف الثنائي. يوفر توليد إعلان نوع آلي لضمان الوصول الآمن من حيث النوع والإكمال التلقائي لواجهات برمجة تطبيقات المضيف الأصلية. يغطي إطار العمل مساحة قدرات واسعة بما في ذلك جسر واجهة برمجة تطبيقات قائم على الانعكاس (reflection) لاستدعاء الدوال الأصلية، وتعيين الكائنات عبر اللغات، ودمج حزم الطرف الثالث. كما يدعم الأتمتة المتقدمة من خلال التحكم في محرك اللغة الطبيعية، وتكامل وكيل الذكاء الاصطناعي للسلوكيات الديناميكية، وبروتوكول تحكم عن بعد موحد لربط أدوات برمجة الذكاء الاصطناعي الخارجية بمشروع قيد التشغيل.
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 هو دليل تنفيذ تقني ومرجع لمفسر CPython. يوفر تحليلاً مفصلاً لكود مصدر C الداخلي والبنية، مع التركيز على المنطق الذي يحكم سلوك المفسر. يوثق المشروع نموذج كائن Python وخط أنابيب التجميع، متتبعاً العملية من القواعد النحوية الخام وأشجار بناء الجملة المجردة إلى bytecode القابل للتنفيذ. كما يعمل كمرجع لتطوير إضافات C، موضحاً كيفية التفاعل مع هياكل البيانات الداخلية واستخدام واجهة برمجة تطبيقات C. تغطي المادة إدارة الذاكرة، بما في ذلك عد المراجع وجمع القمامة الجيلي، بالإضافة إلى وظيفة قفل المفسر العام (GIL).
Documents the native C API used to create high-performance Python extensions.
gdext provides a set of language bindings for writing high-performance native game logic in Rust for the Godot 4 engine. It serves as a framework for creating native engine extensions and custom classes via the GDExtension library, allowing developers to extend core engine functionality without recompiling the engine source code. The project includes a dedicated Rust WebAssembly toolchain to compile native logic into modules for execution in web browsers. This system supports WebAssembly-compatible compilation with specific configurations for web threading and module debugging. The toolkit c
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.
يوفر هذا المشروع غلاف C++ فقط للرأس (header-only) لـ Node-API، ويعمل كإطار عمل لبناء إضافات أصلية عالية الأداء لـ Node.js. يعمل كجسر بين C++ وJavaScript، حيث يوفر واجهة موجهة للكائنات تبسط إنشاء الامتدادات المجمعة مع إدارة تعقيدات حدود اللغة. تتميز المكتبة بتوفير تجريدات آمنة للأنواع (type-safe) لتسلسل البيانات وإدارة الذاكرة، مما يضمن تتبع الكائنات الأصلية وكائنات البرنامج النصي واستردادها بشكل صحيح. تتضمن المكتبة آليات لتنسيق المهام غير المتزامنة بين خيوط الخلفية وحلقة الأحداث الرئيسية، مما يمنع تلف البيانات أثناء تفريغ العمليات الحسابية المكثفة. علاوة على ذلك، تقوم المكتبة بتعيين الاستثناءات الأصلية لأنواع أخطاء البرنامج النصي القياسية، مما يضمن تقارير تشخيصية متسقة ومعالجة الفشل. بعيداً عن قدرات الربط الأساسية، يدعم المشروع دورة حياة التطوير الأصلية بالكامل، بما في ذلك كشف فئات وأساليب C++ لوقت تشغيل JavaScript. يوفر المشروع أدوات لإدارة دورات حياة البيئة، وأتمتة ترحيلات الكود، وتنفيذ معايير الأداء لتقييم سلوك المكونات الأصلية.
Provides a framework for building high-performance native addons for Node.js by wrapping native interfaces into object-oriented structures.