13 रिपॉजिटरी
Mechanisms for exchanging data and invoking functions between a custom language and the JavaScript runtime.
Distinct from JavaScript Interoperability: None of the candidates specifically cover general Lisp-to-JS interoperability without focusing on specific frameworks like Elixir.
Explore 13 awesome GitHub repositories matching programming languages & runtimes · JavaScript Interoperability. 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
Facilitates the execution and interoperability of JavaScript and WebAssembly within the same runtime environment.
This project is a Lisp interpreter implementation guide and framework designed to teach the core principles of programming language design. It provides a structured, step-by-step technical framework for building a functional Lisp language from scratch, featuring a specialized interpreter engine and an S-expression parser that converts syntax into abstract syntax trees. The project emphasizes a code-as-data metaprogramming framework, enabling the implementation of macros, quoting, and quasiquoting to transform expressions during evaluation. It is designed with host language agnosticism, allowi
Integrates the Lisp environment with JavaScript to call external methods and exchange data.
ClojureScript is a Lisp-based compiler and runtime that translates Clojure source code into JavaScript. It enables functional programming across different JavaScript engines and platforms, allowing developers to build user interfaces and applications for web browsers and server environments. The project provides a read-eval-print loop for executing code live within a browser or server for immediate feedback. This facilitates an interactive development workflow where code can be written and tested in real time without restarting the application. The system covers a broad capability surface, i
Provides essential mechanisms for exchanging data and invoking functions between ClojureScript and the JavaScript runtime.
wasm-bindgen is a bindings generator and interop layer designed to map data types and functions across the boundary between WebAssembly and JavaScript. It functions as a foreign function interface that synthesizes the necessary boilerplate to enable bidirectional communication between Rust and the browser runtime. The project generates glue code and wrappers that automate the conversion of complex types, allowing Rust functions to be exported as JavaScript modules and browser APIs to be imported into Rust. It uses procedural macros to define these interfaces and synthesizes bindings based on
Manages the exchange of complex data types, functions, and memory between WebAssembly and JavaScript.
wasm-bindgen is a glue code generator and interoperability tool that facilitates high-level communication and data exchange between compiled Rust modules and JavaScript environments. It functions as a memory bridge and type definition generator, allowing the exchange of complex data types and the calling of functions across execution boundaries. The project distinguishes itself by automating the conversion of data types and function signatures using attribute-based bindings. It generates the necessary JavaScript and WebAssembly wrappers to manage linear memory mapping and creates automatic Ty
Facilitates high-level communication and data exchange between compiled Rust modules and the host JavaScript environment.
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
Maps high-level JavaScript function calls to low-level C++ logic through member pointers and internal callbacks.
This project is a functional programming compiler and JavaScript transpiler that transforms a statically typed language into optimized JavaScript for web browsers. It serves as a frontend architecture framework, providing a static type system and a package manager that enforces semantic versioning. The compiler uses a type-checking engine with automatic type inference to prevent runtime errors and guide code refactoring. It implements a structural pattern for managing application state and rendering user interfaces through a virtual DOM, utilizing immutable data and purity-based state transit
Integrates external JavaScript logic and DOM elements into a typed application via ports and custom elements.
ReScript is a statically typed programming language and compiler designed to transform type-safe source code into efficient, human-readable JavaScript. It functions as a transpiler that enforces data consistency and prevents runtime errors through static type analysis for both web and server applications. The project distinguishes itself as an incremental build system that analyzes dependency graphs to recompile only modified files and their dependents. It includes a JSX compatible compiler for building user interfaces and provides a framework for bridging type-safe code with existing JavaScr
Bridges the type-safe language with the JavaScript runtime for exchanging data and invoking functions.
Brython is a Python 3 runtime and interpreter that executes scripts directly in the web browser. It serves as a client-side environment that translates Python source code into executable JavaScript to handle frontend logic without requiring server round-trips. The project provides a bidirectional interoperability bridge between Python and JavaScript, allowing for the integration of external JavaScript libraries. It further functions as a tool for packaging Python scripts into standalone native mobile applications for Android devices. The runtime includes a library for programmatic manipulati
Provides a bidirectional bridge for exchanging data and invoking functions between the Python runtime and JavaScript libraries.
Datascript is an immutable, in-memory state store and schema-based triple store. It manages application state as a versioned database, storing data as immutable facts consisting of an entity, attribute, value, and transaction. The project provides a logic engine for executing Datalog queries with support for implicit joins, recursive rules, and negation. It also features a declarative pull API for retrieving deeply nested entity graphs and related data structures. The database enforces data integrity through schema-driven constraints and attribute types. It supports atomic transactions, plug
Integrates with JavaScript engines to allow queries and transactions using standard arrays and objects.
Documents how to share data and functions between JavaScript and WebAssembly modules.
Scala.js एक कंपाइलर और क्रॉस-प्लेटफॉर्म भाषा टूलचेन है जो Scala सोर्स कोड को JavaScript या WebAssembly में बदलता है। यह JavaScript इकोसिस्टम के लिए एक स्टेटिकली टाइप्ड टूल के रूप में कार्य करता है, जो वेब ब्राउज़र और Node.js वातावरण के लिए एप्लिकेशन्स के विकास को सक्षम बनाता है। यह प्रोजेक्ट एक JavaScript इंटरऑप फ्रेमवर्क के रूप में कार्य करता है, जो बाहरी लाइब्रेरीज़ और ग्लोबल ऑब्जेक्ट्स के साथ इंटरैक्ट करने के लिए टाइप-सेफ फेसेड्स और बाइंडिंग्स बनाने की अनुमति देता है। यह स्टेटिक और डायनामिक JavaScript इनवोकेशन दोनों के लिए मैकेनिज्म प्रदान करता है, जिसमें TypeScript बाइंडिंग्स का जनरेशन और बाहरी JavaScript कोड में उपयोग के लिए इंटरनल लॉजिक को एक्सपोर्ट करने की क्षमता शामिल है। टूलचेन में प्रोडक्शन बंडलिंग और आउटपुट ऑप्टिमाइज़ेशन के लिए एक फ्रंटएंड बिल्ड टूल शामिल है, जिसमें डेड कोड एलिमिनेशन और मॉड्यूल स्प्लिटिंग शामिल है। यह UI डेवलपमेंट के लिए DOM एलिमेंट टाइप चेकिंग, फुल-स्टैक डेवलपमेंट के लिए क्रॉस-प्लेटफॉर्म कोड शेयरिंग, और ऑप्टिमाइज़्ड बिल्ड आर्टिफैक्ट्स को सत्यापित करने के लिए विभिन्न टेस्टिंग फ्रेमवर्क्स सहित व्यापक क्षमताएं कवर करता है। संकलित (compiled) स्क्रिप्ट्स को JavaScript इंटरप्रेटर का उपयोग करके सीधे कमांड-लाइन वातावरण के भीतर निष्पादित किया जा सकता है।
Provides a framework for creating type-safe facades and bindings to interact with external JavaScript libraries and APIs.
TeaVM is a Java bytecode transpiler and browser-based JVM runtime that converts compiled Java class files into JavaScript or WebAssembly. It functions as a compiler and build pipeline tool that enables applications written in various JVM languages to execute natively within a web browser. The project distinguishes itself by transforming bytecode directly into optimized web formats without requiring the original source code. It includes a WebAssembly bytecode compiler for high-performance execution and a specialized emulation system to handle asynchronous multithreading within the single-threa
Provides mechanisms for exchanging data and invoking functions between the JVM runtime and the native JavaScript environment.