20 dépôts
Mechanisms for exchanging data and calling functions between a host language and JavaScript.
Distinguishing note: Candidates focus on transpilation or specific binary interop, not general runtime data/function exchange.
Explore 20 awesome GitHub repositories matching programming languages & runtimes · JavaScript Interop. Refine with filters or upvote what's useful.
WebViewJavascriptBridge is a communication layer for sending bidirectional messages between native Objective-C code and JavaScript within iOS and macOS web views. It serves as an interoperability toolkit for synchronizing data and executing callbacks between native Apple platform applications and their embedded web content. The project provides a messaging interface that exposes native functions to the web environment and triggers JavaScript handlers from native application code. It enables the registration of named handlers in native code that can be invoked by JavaScript to request device a
Enables synchronization of state and execution of functions between Objective-C native logic and JavaScript.
This project is a collection of programming language references and syntax cheat sheets designed for rapid developer onboarding. It serves as a library of code-based documentation that uses valid source code files to provide whirlwind tours of various language specifications. The project focuses on programming language learning by providing concise, commented code examples that explain core features and syntax in place. This approach enables developers to quickly grasp language-specific patterns, data types, and execution flow through a consistent reference format. The content covers a broad
Illustrates how to integrate and invoke external JavaScript functions within a compiled module.
Blazor is a .NET framework for building interactive web user interfaces using C# instead of JavaScript. It provides a component-based UI composition model where reusable, self-contained UI elements are built with C# logic and Razor markup, supporting nesting, parameters, and lifecycle events. The framework offers two primary rendering models: a client-side runtime that compiles C# to WebAssembly and executes directly in the browser, and a server-side model that renders UI on the server and sends incremental DOM updates over a persistent SignalR connection. A central capability of Blazor is it
Provides efficient byte array transfer between .NET and JavaScript without Base64 encoding overhead.
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.
Provides the ability to invoke specific JavaScript functions and browser APIs from within Rust code.
This is a JavaScript library for parsing and serializing JSON data, with a particular focus on handling objects that contain circular references. It provides a standard JSON parser that reads text and reconstructs JavaScript values without using the eval function, guarding against code injection, alongside a standard serializer that converts objects into JSON strings for data interchange. The library distinguishes itself by offering specialized encoding and decoding for cyclical object graphs. It can serialize objects with circular references by replacing repeated object paths with JSONPath s
Handles encoding and recovery of JavaScript objects with circular references using JSONPath links.
This project is a JavaScript algorithm library and computer science reference. It provides a collection of standard computational logic patterns and data structure implementations, including linked lists, trees, and graphs, for both educational and practical use. The codebase serves as a technical interview study guide, offering a practical resource for practicing common coding challenges and data structure manipulations. It is designed for computer science education, allowing users to study how classic algorithms work by reviewing and running implementations of established logic patterns. T
Simulates memory addresses using JavaScript object references to connect nodes in graphs and linked lists.
Enso is a visual dataflow programming environment and multi-language data processing engine that compiles Enso, Python, Java, and JavaScript into a unified representation with a shared memory model for zero-overhead inter-language calls. It functions as a self-service data preparation and analysis platform where users can build data pipelines by connecting nodes in a graph, switching between a no-code visual interface and a code view while keeping all changes reviewable. The platform also serves as a cloud data workflow scheduler and API exposer, allowing workflows to run on a timetable or be
Enables zero-overhead method calls and value passing between Enso, Python, Java, and JavaScript.
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
Facilitates the exchange of data and function calls between Go and JavaScript using shared objects and maps.
Eel is a framework for creating desktop applications using a Python backend and a web-based frontend. It acts as a bidirectional bridge between Python and JavaScript, allowing developers to build graphical user interfaces with HTML and JavaScript that communicate with local system logic. The project facilitates two-way communication by enabling the exposure of Python functions to the browser and allowing the backend to trigger JavaScript functions. It uses a local server to render web interfaces as standalone desktop windows and provides tools to bundle the Python code and web assets into a s
Allows the Python backend to trigger JavaScript functions to update the user interface.
Osmedeus is a security workflow orchestration engine that coordinates AI agents, shell commands, and scanning tools through declarative YAML pipelines. It functions as a distributed security scanner, a declarative workflow automator, and an AI agent framework for security, enabling automated multi-step security analysis with conditional branching, parallel execution, and distributed workers. The engine distinguishes itself through a hybrid runner model that executes workflow steps on the local host, inside Docker containers, or over SSH to remote machines, selected per step or module. It supp
Executes utility functions written in JavaScript using a pooled Goja runtime for parallel execution.
:city_sunrise: Client-side image placeholders.
Triggers placeholder generation on image elements via a programmatic JavaScript API call.
Ce projet est un pont d'exécution polyglotte et un framework d'interopérabilité conçu pour exécuter du code .NET et Node.js au sein d'un processus système unique. Il fonctionne comme un moteur d'exécution multi-runtime et un hôte de script in-process, permettant une communication bidirectionnelle et un échange de données entre le Common Language Runtime et les environnements JavaScript pour éliminer la surcharge de communication inter-processus. Le framework se distingue en fournissant un système pour les callbacks asynchrones bidirectionnels et le marshalling automatique de données de buffers binaires et de valeurs sérialisables entre différents types d'objets gérés. Il permet la compilation et l'exécution de fichiers sources ou de scripts en ligne à partir de plusieurs langages au sein d'une application en cours d'exécution en tirant parti d'un modèle de compilateur commun. Le projet couvre un large éventail de capacités incluant le déchargement de tâches asynchrones vers des threads d'arrière-plan, l'intégration de logique externe en tant que middleware de framework web, et l'exécution SQL asynchrone. Il fournit également des outils d'observabilité pour le mapping d'exceptions multi-runtime et supporte le débogage de processus gérés et natifs.
Allows the asynchronous invocation of specific JavaScript functions from within a .NET environment.
Vugu est une bibliothèque et un framework UI Go WebAssembly utilisé pour construire des applications monopages (SPA) typées et basées sur des composants. Il fonctionne comme un framework de composants à fichier unique qui regroupe le balisage, les styles et la logique en unités modulaires, utilisant un moteur de DOM virtuel pour synchroniser les changements d'état avec la sortie du navigateur. Le projet dispose d'un générateur de composants Go qui convertit les modèles UI personnalisés en code source Go exécutable au moment de la compilation. Il se distingue par un runtime basé sur WebAssembly qui exécute la logique d'application en tant que binaire compilé dans le navigateur et un outil de rendu côté serveur pour générer du HTML statique pour des temps de chargement initiaux améliorés. Le framework couvre un large éventail de capacités, y compris le routage basé sur les fichiers, la gestion du cycle de vie des composants et la synchronisation UI pilotée par l'état. Il fournit des primitives pour la composition de composants, la gestion des événements et la liaison de données dynamique, soutenues par un serveur de développement et une automatisation de build pour l'optimisation de la taille des binaires.
Implements a common layer for exchanging data and calling functions between Go and JavaScript.
Kraken est un framework d'interface utilisateur multiplateforme et un runtime de standards web conçu pour construire des applications natives en utilisant le balisage et le style web standard. Il utilise un moteur de rendu basé sur Flutter pour traiter le HTML et le CSS, produisant des interfaces utilisateur visuellement cohérentes sur les plateformes mobiles et de bureau. Le système se distingue en compilant le runtime en code machine et en employant un pipeline de rastérisation synchrone pour garantir que les animations et le défilement correspondent à la fluidité des applications natives. Il intègre en outre des composants natifs haute performance directement dans un arbre d'objets de document standard web, permettant la définition de balises HTML personnalisées soutenues par des widgets natifs. Le framework couvre une large surface de capacités, y compris l'exécution d'arbres de composants JavaScript, la synchronisation d'état global et local, et la gestion standardisée des gestes. Il fournit également un système basé sur des plugins pour étendre l'API avec des fonctions backend personnalisées et prend en charge l'intégration avec divers frameworks frontend. Les flux de travail des développeurs sont soutenus par l'intégration avec le protocole Chrome DevTools, permettant l'inspection de l'état de l'application et la modification du style de l'interface utilisateur.
Allows triggering custom JavaScript functions from a backend language to extend the runtime's capabilities.
Ce projet est une bibliothèque de composants Blazor et un framework d'interface web utilisé pour construire des applications web avec ASP.NET Core Blazor. Il sert d'implémentation du Fluent Design System, fournissant une collection d'éléments d'interface utilisateur réutilisables et pré-stylisés pour garantir la cohérence visuelle et l'accessibilité. La bibliothèque inclut une grille de données asynchrone capable de résoudre des requêtes distantes via le chargement asynchrone de données et le mapping d'entités. Elle utilise un système de jetons de design (design tokens) pour gérer les styles visuels et les paramètres de personnalisation à travers une application. Le framework couvre des capacités plus larges pour le design d'interface d'entreprise, incluant l'intégration de jeux d'icônes et d'emojis standardisés, ainsi que des outils pour composer des interfaces accessibles. Il fournit également des mécanismes pour tester le rendu des composants et vérifier le comportement HTML.
Interfaces with underlying web components using JavaScript interop to bridge Blazor logic with native browser behaviors.
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.
Allows the creation of type-safe representations of external APIs to map structural interfaces to a strict type system.
Ce projet est un guide complet de programmation de performance et une référence pour le langage Go, se concentrant sur l'efficacité du runtime et l'optimisation de la mémoire. Il fournit une collection de modèles et de techniques conçus pour augmenter la vitesse d'exécution en réduisant la surcharge du garbage collector et en optimisant l'utilisation de la mémoire. La ressource se distingue par des implémentations de référence détaillées pour l'optimisation mémoire, telles que l'analyse d'échappement (escape analysis), le pooling d'objets et l'alignement mémoire des structures. Elle propose des stratégies spécifiques pour réduire la taille des binaires et améliorer l'efficacité du cache CPU grâce à l'optimisation de la disposition mémoire des structures et à l'utilisation de placeholders sans allocation. Le projet couvre un large éventail de capacités d'ingénierie backend, incluant la gestion de la concurrence avec des pools de workers et des primitives de synchronisation, le routage RPC et HTTP haute performance, et des stratégies de mise en cache distribuée. Il inclut également des conseils sur l'observabilité via le profilage CPU et mémoire, ainsi que des modèles d'assurance qualité pour les tests unitaires fonctionnels et la génération d'objets mock. Le contenu est structuré comme une série de tutoriels, d'exemples architecturaux et de guides de benchmarking pour aider les développeurs à analyser et corriger les goulots d'étranglement de performance.
Provides mechanisms to trigger specific JavaScript functions from a Go backend to execute native client-side actions.
DSBridge-Android is a communication framework and JavaScript bridge for Android that enables bidirectional function calls and data exchange between native Android code and web views. It serves as an integration tool for hybrid applications, providing a system to orchestrate synchronous and asynchronous messaging between the native mobile environment and web-based interfaces. The project distinguishes itself through a namespace-based method dispatching system that uses dot-notation to organize functions into hierarchical groups, preventing naming conflicts. It also includes a cross-layer debug
Enables native Android code to trigger specific JavaScript functions and receive return values through a defined handler.
This library provides a secure communication bridge for Android applications, enabling interaction between native Java code and web-based JavaScript interfaces within a WebView. It facilitates the invocation of native system methods from web scripts and manages the exchange of data across the language boundary. The framework utilizes a prompt-based interception layer to validate method signatures before execution, ensuring that only authorized native code is triggered. It supports complex data exchange through structured serialization and provides a mechanism for mapping native methods to web
Bridges native Android code and web content for complex data exchange and cross-environment logic.
This project provides a header-only C++ wrapper for the Node-API, serving as a framework for building high-performance native addons for Node.js. It acts as a bridge between C++ and JavaScript, offering an object-oriented interface that simplifies the creation of compiled extensions while managing the complexities of the language boundary. The library distinguishes itself by providing type-safe abstractions for data marshalling and memory management, ensuring that native and script-side objects are tracked and reclaimed correctly. It includes mechanisms for coordinating asynchronous tasks bet
Translates native exceptions into JavaScript errors and provides mechanisms to manage error states across the language boundary.