awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

13 dépôts

Awesome GitHub RepositoriesJavaScript Interoperability

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.

Awesome JavaScript Interoperability GitHub Repositories

Trouvez les meilleurs dépôts grâce à l'IA.Nous recherchons les dépôts les plus pertinents grâce à l'IA.
  • v8/v8Avatar de v8

    v8/v8

    25,089Voir sur GitHub↗

    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.

    C++
    Voir sur GitHub↗25,089
  • kanaka/malAvatar de kanaka

    kanaka/mal

    10,665Voir sur GitHub↗

    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.

    Assemblybashcc-plus-plus
    Voir sur GitHub↗10,665
  • clojure/clojurescriptAvatar de clojure

    clojure/clojurescript

    9,388Voir sur GitHub↗

    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.

    Clojure
    Voir sur GitHub↗9,388
  • rustwasm/wasm-bindgenAvatar de rustwasm

    rustwasm/wasm-bindgen

    9,057Voir sur GitHub↗

    wasm-bindgen est un générateur de liaisons et une couche d'interopérabilité conçue pour mapper les types de données et les fonctions à travers la frontière entre WebAssembly et JavaScript. Il fonctionne comme une interface de fonction étrangère qui synthétise le code répétitif nécessaire pour permettre une communication bidirectionnelle entre Rust et le runtime du navigateur. Le projet génère du code de liaison et des wrappers qui automatisent la conversion de types complexes, permettant aux fonctions Rust d'être exportées en tant que modules JavaScript et aux API de navigateur d'être importées dans Rust. Il utilise des macros procédurales pour définir ces interfaces et synthétise les liaisons basées sur les définitions de type Rust. Le système gère la mémoire via le passage de pointeurs de mémoire linéaire et gère l'échange de ressources en utilisant des handles de mémoire gérés par JavaScript. Il repose sur une convention d'appel compatible avec l'ABI C pour passer des entiers et des flottants primitifs entre le module et l'hôte.

    Manages the exchange of complex data types, functions, and memory between WebAssembly and JavaScript.

    Rust
    Voir sur GitHub↗9,057
  • wasm-bindgen/wasm-bindgenAvatar de wasm-bindgen

    wasm-bindgen/wasm-bindgen

    9,042Voir sur GitHub↗

    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.

    Rust
    Voir sur GitHub↗9,042
  • weolar/miniblink49Avatar de weolar

    weolar/miniblink49

    7,820Voir sur GitHub↗

    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.

    C++blinkchromiumelectron
    Voir sur GitHub↗7,820
  • elm/compilerAvatar de elm

    elm/compiler

    7,794Voir sur GitHub↗

    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.

    Haskellcompilerelm
    Voir sur GitHub↗7,794
  • rescript-lang/rescriptAvatar de rescript-lang

    rescript-lang/rescript

    7,396Voir sur GitHub↗

    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.

    ReScriptaltjscompilerjavascript
    Voir sur GitHub↗7,396
  • brython-dev/brythonAvatar de brython-dev

    brython-dev/brython

    6,598Voir sur GitHub↗

    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.

    Python
    Voir sur GitHub↗6,598
  • tonsky/datascriptAvatar de tonsky

    tonsky/datascript

    5,767Voir sur GitHub↗

    Datascript est un magasin d'état immuable en mémoire et un magasin de triplets basé sur un schéma. Il gère l'état de l'application comme une base de données versionnée, stockant les données sous forme de faits immuables consistant en une entité, un attribut, une valeur et une transaction. Le projet fournit un moteur logique pour exécuter des requêtes Datalog avec prise en charge des jointures implicites, des règles récursives et de la négation. Il dispose également d'une API de pull déclarative pour récupérer des graphes d'entités profondément imbriqués et des structures de données associées. La base de données impose l'intégrité des données via des contraintes basées sur le schéma et des types d'attributs. Elle prend en charge les transactions atomiques, les protocoles de stockage enfichables pour la persistance, et l'indexation d'attributs en arbre B pour optimiser les recherches. Le système est conçu pour être utilisé dans les environnements Clojure, ClojureScript et JavaScript.

    Integrates with JavaScript engines to allow queries and transactions using standard arrays and objects.

    Clojure
    Voir sur GitHub↗5,767
  • mdn/browser-compat-dataAvatar de mdn

    mdn/browser-compat-data

    5,585Voir sur GitHub↗

    Documents how to share data and functions between JavaScript and WebAssembly modules.

    JSONcompatcompatibilitydata
    Voir sur GitHub↗5,585
  • scala-js/scala-jsAvatar de scala-js

    scala-js/scala-js

    4,701Voir sur GitHub↗

    Scala.js est un compilateur et une chaîne d'outils linguistique multiplateforme qui transforme le code source Scala en JavaScript ou WebAssembly. Il fonctionne comme un outil typé statiquement pour l'écosystème JavaScript, permettant le développement d'applications pour les navigateurs web et les environnements Node.js. Le projet sert de framework d'interopérabilité JavaScript, permettant la création de façades et de bindings typés pour interagir avec des bibliothèques externes et des objets globaux. Il fournit des mécanismes pour l'invocation JavaScript statique et dynamique, incluant la génération de bindings TypeScript et la capacité d'exporter une logique interne pour une utilisation dans du code JavaScript externe. La chaîne d'outils inclut un outil de build frontend pour le bundling de production et l'optimisation de sortie, incluant l'élimination de code mort et le découpage de modules. Elle couvre une large surface de fonctionnalités, incluant la vérification de type des éléments DOM pour le développement d'interface, le partage de code multiplateforme pour le développement full-stack, et divers frameworks de test pour vérifier les artefacts de build optimisés. Les scripts compilés peuvent être exécutés directement au sein d'un environnement en ligne de commande en utilisant un interpréteur JavaScript.

    Provides a framework for creating type-safe facades and bindings to interact with external JavaScript libraries and APIs.

    Scala
    Voir sur GitHub↗4,701
  • konsoletyper/teavmAvatar de konsoletyper

    konsoletyper/teavm

    2,997Voir sur GitHub↗

    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.

    Javaaotjavajavascript
    Voir sur GitHub↗2,997
  1. Home
  2. Programming Languages & Runtimes
  3. JavaScript Interoperability

Explorer les sous-tags

  • JavaScript Class DefinitionsCreating classes and objects that adhere to JavaScript semantics for use by external code. **Distinct from JavaScript Interoperability:** Distinct from JavaScript Interoperability: focuses specifically on the definition of class structures rather than general data exchange or function calls.
  • JavaScript Function ExportingMechanisms for exposing internal language logic and APIs as callable functions in JavaScript. **Distinct from JavaScript Interoperability:** Distinct from JavaScript Interoperability: specifically targets the export of internal logic to JS, not just the invocation of JS from the language.
  • JavaScript Logic ExposureExposing internal types and methods to JavaScript through global scope or module exports. **Distinct from JavaScript Interoperability:** Distinct from JavaScript Interoperability: specifically covers the visibility and accessibility of internal code to the JS environment.
  • WebAssembly-JavaScript InteroperabilityMechanisms for exchanging functions, memory, global variables, and exceptions between JavaScript and WebAssembly modules. **Distinct from JavaScript Interoperability:** Distinct from JavaScript Interoperability: specifically targets the Wasm-JS boundary rather than general language interop.