20 Repos
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 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
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.
Dieses Projekt ist eine polyglotte Runtime-Brücke und ein Interop-Framework, das darauf ausgelegt ist, .NET- und Node.js-Code innerhalb eines einzigen Betriebssystemprozesses auszuführen. Es fungiert als Cross-Runtime-Execution-Engine und In-Process-Skript-Host, was eine bidirektionale Kommunikation und Datenaustausch zwischen der Common Language Runtime (CLR) und JavaScript-Umgebungen ermöglicht, um den Overhead der Cross-Process-Kommunikation zu eliminieren. Das Framework zeichnet sich dadurch aus, dass es ein System für bidirektionale asynchrone Callbacks und automatisches Data-Marshalling von Binärpuffern und serialisierbaren Werten zwischen verschiedenen verwalteten Objekttypen bereitstellt. Es ermöglicht die Kompilierung und Ausführung von Quelldateien oder Inline-Skripten aus mehreren Sprachen innerhalb einer laufenden Anwendung durch Nutzung eines gemeinsamen Compilermodells. Das Projekt deckt ein breites Spektrum an Funktionen ab, einschließlich asynchronem Task-Offloading auf Hintergrundthreads, der Integration externer Logik als Web-Framework-Middleware und asynchroner SQL-Ausführung. Zudem bietet es Observability-Tools für Cross-Runtime-Exception-Mapping und unterstützt sowohl verwaltetes als auch natives Prozess-Debugging.
Allows the asynchronous invocation of specific JavaScript functions from within a .NET environment.
Vugu ist eine Go-WebAssembly-UI-Bibliothek und ein Framework, das zum Aufbau typsicherer, komponentenbasierter Single-Page-Anwendungen verwendet wird. Es fungiert als Single-File-Komponenten-Framework, das Markup, Stile und Logik in modularen Einheiten bündelt und eine virtuelle DOM-Engine nutzt, um Zustandsänderungen mit der Browser-Ausgabe zu synchronisieren. Das Projekt bietet einen Go-Komponentengenerator, der benutzerdefinierte UI-Vorlagen zur Kompilierzeit in ausführbaren Go-Quellcode konvertiert. Es zeichnet sich durch eine WebAssembly-basierte Laufzeitumgebung aus, die Anwendungslogik als kompilierte Binärdatei im Browser ausführt, sowie durch ein serverseitiges Rendering-Tool zur Generierung statischer HTML-Dateien für verbesserte initiale Ladezeiten. Das Framework deckt ein breites Spektrum an Funktionen ab, einschließlich dateibasiertem Routing, Komponenten-Lebenszyklusmanagement und zustandsgesteuerter UI-Synchronisation. Es bietet Primitive für Komponentenkomposition, Ereignisbehandlung und dynamisches Data-Binding, unterstützt durch einen Entwicklungsserver und Build-Automatisierung zur Optimierung der Binärgröße.
Implements a common layer for exchanging data and calling functions between Go and JavaScript.
Kraken ist ein plattformübergreifendes UI-Framework und eine Web-Standards-Laufzeitumgebung, die entwickelt wurde, um native Anwendungen unter Verwendung von Standard-Web-Markup und -Styling zu erstellen. Es nutzt eine Flutter-basierte Rendering-Engine, um HTML und CSS zu verarbeiten, und erzeugt visuell konsistente Benutzeroberflächen über mobile und Desktop-Plattformen hinweg. Das System zeichnet sich dadurch aus, dass es die Laufzeitumgebung in Maschinencode kompiliert und eine synchrone Rasterisierungspipeline verwendet, um sicherzustellen, dass Animationen und Scrollvorgänge der Fluidität nativer Anwendungen entsprechen. Es integriert zudem hochperformante native Komponenten direkt in einen Web-Standard-DOM-Baum, was die Definition benutzerdefinierter HTML-Tags ermöglicht, die von nativen Widgets unterstützt werden. Das Framework deckt eine breite Funktionsfläche ab, einschließlich der Ausführung von JavaScript-Komponenten-Bäumen, der Synchronisierung globaler und lokaler Zustände sowie der standardisierten Gestenverarbeitung. Es bietet zudem ein Plugin-basiertes System zur Erweiterung der API um benutzerdefinierte Backend-Funktionen und unterstützt die Integration mit verschiedenen Frontend-Frameworks. Entwickler-Workflows werden durch die Integration mit dem Chrome DevTools-Protokoll unterstützt, was die Inspektion des Anwendungszustands und die Modifikation von UI-Stilen ermöglicht.
Allows triggering custom JavaScript functions from a backend language to extend the runtime's capabilities.
Dieses Projekt ist eine Blazor-Komponentenbibliothek und ein Web-UI-Framework für die Erstellung von Webanwendungen mit ASP.NET Core Blazor. Es dient als Implementierung des Fluent Design Systems und bietet eine Sammlung wiederverwendbarer, vorformatierter Benutzeroberflächenelemente, um visuelle Konsistenz und Barrierefreiheit zu gewährleisten. Die Bibliothek enthält ein asynchrones Datengitter (Data Grid), das in der Lage ist, Remote-Abfragen durch asynchrones Datenabrufen und Entity-Mapping aufzulösen. Es nutzt ein Design-Token-System, um visuelle Stile und Personalisierungseinstellungen innerhalb einer Anwendung zu verwalten. Das Framework deckt breitere Funktionen für Enterprise-UI-Design ab, einschließlich der Integration standardisierter Icon- und Emoji-Sets sowie Tools zur Erstellung barrierefreier Schnittstellen. Es bietet zudem Mechanismen, um die Komponentenausgabe zu testen und das HTML-Verhalten zu verifizieren.
Interfaces with underlying web components using JavaScript interop to bridge Blazor logic with native browser behaviors.
Scala.js ist ein Compiler- und plattformübergreifendes Sprach-Toolchain-Projekt, das Scala-Quellcode in JavaScript oder WebAssembly transformiert. Es fungiert als statisch typisiertes Tool für das JavaScript-Ökosystem und ermöglicht die Entwicklung von Anwendungen für Webbrowser und Node.js-Umgebungen. Das Projekt dient als JavaScript-Interop-Framework, das die Erstellung typsicherer Facaden und Bindings ermöglicht, um mit externen Bibliotheken und globalen Objekten zu interagieren. Es bietet Mechanismen für sowohl statische als auch dynamische JavaScript-Aufrufe, einschließlich der Generierung von TypeScript-Bindings und der Möglichkeit, interne Logik für die Verwendung in externem JavaScript-Code zu exportieren. Die Toolchain enthält ein Frontend-Build-Tool für Production-Bundling und Output-Optimierung, einschließlich Dead-Code-Elimination und Modul-Splitting. Sie deckt ein breites Funktionsspektrum ab, einschließlich DOM-Element-Typ-Checking für UI-Entwicklung, plattformübergreifendes Code-Sharing für Full-Stack-Entwicklung sowie verschiedene Test-Frameworks zur Verifizierung optimierter Build-Artefakte. Kompilierte Skripte können direkt innerhalb einer Command-Line-Umgebung mittels eines JavaScript-Interpreters ausgeführt werden.
Allows the creation of type-safe representations of external APIs to map structural interfaces to a strict type system.
Dieses Projekt ist ein umfassender Leitfaden und eine Referenz für Performance-Programmierung in Go, mit Fokus auf Laufzeiteffizienz und Speicheroptimierung. Es bietet eine Sammlung von Patterns und Techniken, die darauf ausgelegt sind, die Ausführungsgeschwindigkeit durch Reduzierung des Garbage-Collection-Overheads und Optimierung der Speichernutzung zu steigern. Die Ressource zeichnet sich durch detaillierte Referenzimplementierungen zur Speicheroptimierung aus, wie etwa Escape-Analyse, Object Pooling und Structure Memory Alignment. Sie bietet spezifische Strategien zur Reduzierung der Binärgröße und zur Verbesserung der CPU-Cache-Effizienz durch Optimierung des Speicherlayouts von Strukturen und die Verwendung von Zero-Allocation-Platzhaltern. Das Projekt deckt ein breites Spektrum an Backend-Engineering-Fähigkeiten ab, einschließlich Concurrency-Management mit Worker Pools und Synchronisations-Primitiven, High-Performance-RPC und HTTP-Routing sowie Strategien für verteiltes Caching. Es enthält zudem Anleitungen zur Observability durch CPU- und Memory-Profiling sowie Quality-Assurance-Patterns für funktionale Unit-Tests und die Generierung von Mock-Objekten. Der Inhalt ist als Serie von Tutorials, Architekturbeispielen und Benchmarking-Leitfäden strukturiert, um Entwicklern bei der Analyse und Behebung von Performance-Engpässen zu helfen.
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.
Diese Bibliothek bietet eine sichere Kommunikationsbrücke für Android-Anwendungen, die die Interaktion zwischen nativem Java-Code und webbasierten JavaScript-Schnittstellen innerhalb einer WebView ermöglicht. Sie erleichtert den Aufruf nativer Systemmethoden aus Web-Skripten und verwaltet den Datenaustausch über die Sprachgrenze hinweg. Das Framework nutzt eine promptbasierte Interzeptionsschicht, um Methodensignaturen vor der Ausführung zu validieren und sicherzustellen, dass nur autorisierter nativer Code ausgelöst wird. Es unterstützt den komplexen Datenaustausch durch strukturierte Serialisierung und bietet einen Mechanismus zur Zuordnung nativer Methoden zu Webschnittstellen, was eine dynamische Ausführung mittels Laufzeit-Inspektion ermöglicht. Das System handhabt asynchrone Operationen durch die Pflege eines Registers von Web-seitigen Funktionsreferenzen. Dies ermöglicht es nativen Hintergrundaufgaben, bei Abschluss spezifische JavaScript-Callbacks auszulösen, was integrierte Workflows in hybriden mobilen Anwendungen unterstützt.
Bridges native Android code and web content for complex data exchange and cross-environment logic.
Dieses Projekt bietet einen Header-only C++-Wrapper für die Node-API und dient als Framework für den Aufbau leistungsstarker nativer Addons für Node.js. Es fungiert als Brücke zwischen C++ und JavaScript und bietet eine objektorientierte Schnittstelle, die die Erstellung kompilierter Erweiterungen vereinfacht und gleichzeitig die Komplexität der Sprachgrenze verwaltet. Die Bibliothek zeichnet sich durch die Bereitstellung typsicherer Abstraktionen für Data-Marshalling und Speicherverwaltung aus, wodurch sichergestellt wird, dass native und Skript-seitige Objekte korrekt verfolgt und freigegeben werden. Sie enthält Mechanismen zur Koordination asynchroner Aufgaben zwischen Hintergrund-Threads und dem Haupt-Event-Loop, um Datenkorruption zu verhindern und gleichzeitig intensive Berechnungen auszulagern. Darüber hinaus ordnet sie native Ausnahmen (Exceptions) Standard-Skript-Fehlertypen zu, was eine konsistente Diagnoseberichterstattung und Fehlerbehandlung sicherstellt. Über ihre Kern-Brückenfunktionen hinaus unterstützt das Projekt den gesamten Lebenszyklus der nativen Entwicklung, einschließlich der Bereitstellung von C++-Klassen und -Methoden für die JavaScript-Laufzeit. Es bietet Tools zur Verwaltung von Umgebungs-Lebenszyklen, zur Automatisierung von Code-Migrationen und zur Durchführung von Leistungsbenchmarks, um das Verhalten nativer Komponenten zu bewerten.
Translates native exceptions into JavaScript errors and provides mechanisms to manage error states across the language boundary.