20 repository-uri
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 este un generator de binding-uri și un strat de interop conceput pentru a mapa tipurile de date și funcțiile peste granița dintre WebAssembly și JavaScript. Funcționează ca o interfață de funcții străine (FFI) care sintetizează boilerplate-ul necesar pentru a permite comunicarea bidirecțională între Rust și runtime-ul browserului. Proiectul generează cod glue și wrapper-e care automatizează conversia tipurilor complexe, permițând funcțiilor Rust să fie exportate ca module JavaScript și API-urilor browserului să fie importate în Rust. Utilizează macro-uri procedurale pentru a defini aceste interfețe și sintetizează binding-urile bazate pe definițiile de tip Rust. Sistemul gestionează memoria prin transmiterea pointerilor în memoria liniară și gestionează schimbul de resurse folosind handle-uri de memorie gestionate de JavaScript. Se bazează pe o convenție de apelare compatibilă cu C ABI pentru a transmite numere întregi primitive și float-uri între modul și host.
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.
Acest proiect este un bridge de runtime poliglot și un framework de interop conceput pentru a executa cod .NET și Node.js în cadrul unui singur proces de sistem de operare. Acesta funcționează ca un motor de execuție cross-runtime și host de scripting in-process, permițând comunicarea bidirecțională și schimbul de date între Common Language Runtime și mediile JavaScript pentru a elimina overhead-ul comunicării cross-process. Framework-ul se distinge prin furnizarea unui sistem pentru callback-uri asincrone bidirecționale și marshalling automat al bufferelor binare și al valorilor serializabile între diferite tipuri de obiecte gestionate. Permite compilarea și execuția fișierelor sursă sau a scripturilor inline din mai multe limbaje în cadrul unei aplicații care rulează, prin utilizarea unui model de compilator comun. Proiectul acoperă o gamă largă de capabilități, inclusiv offloading-ul sarcinilor asincrone către thread-uri de fundal, integrarea logicii externe ca middleware de framework web și execuția SQL asincronă. De asemenea, oferă instrumente de observabilitate pentru maparea excepțiilor cross-runtime și suportă debugging-ul proceselor atât gestionate, cât și native.
Allows the asynchronous invocation of specific JavaScript functions from within a .NET environment.
Vugu este o bibliotecă și un framework UI WebAssembly pentru Go, utilizat pentru a construi aplicații single-page bazate pe componente și sigure din punct de vedere al tipurilor (type-safe). Funcționează ca un framework de componente single-file care grupează marcajele, stilurile și logica în unități modulare, utilizând un motor virtual DOM pentru a sincroniza schimbările de stare cu output-ul browserului. Proiectul dispune de un generator de componente Go care convertește șabloanele UI personalizate în cod sursă Go executabil la momentul compilării. Se distinge printr-un runtime bazat pe WebAssembly care execută logica aplicației ca un binar compilat în browser și un instrument de randurare server-side pentru a genera HTML static pentru timpi de încărcare inițială îmbunătățiți. Framework-ul acoperă o gamă largă de capabilități, inclusiv rutarea bazată pe fișiere, gestionarea ciclului de viață al componentelor și sincronizarea UI bazată pe stare. Oferă primitive pentru compunerea componentelor, gestionarea evenimentelor și legarea dinamică a datelor, susținute de un server de dezvoltare și automatizarea build-ului pentru optimizarea dimensiunii binarului.
Implements a common layer for exchanging data and calling functions between Go and JavaScript.
Kraken este un framework UI cross-platform și un runtime de standarde web conceput pentru a construi aplicații native folosind markup și stiluri web standard. Acesta utilizează un motor de randare bazat pe Flutter pentru a procesa HTML și CSS, producând interfețe de utilizator vizual consistente pe platformele mobile și desktop. Sistemul se distinge prin compilarea runtime-ului în cod mașină și utilizarea unui pipeline de rasterizare sincronă pentru a asigura că animațiile și scrolling-ul se potrivesc cu fluiditatea aplicațiilor native. De asemenea, integrează componente native de înaltă performanță direct într-un arbore de obiecte document (DOM) standard web, permițând definirea de tag-uri HTML personalizate susținute de widget-uri native. Framework-ul acoperă o suprafață largă de capabilități, inclusiv execuția arborelui de componente JavaScript, sincronizarea stării globale și locale și gestionarea standardizată a gesturilor. De asemenea, oferă un sistem bazat pe plugin-uri pentru extinderea API-ului cu funcții backend personalizate și suportă integrarea cu diverse framework-uri frontend. Fluxurile de lucru ale dezvoltatorilor sunt susținute prin integrarea cu protocolul Chrome DevTools, permițând inspecția stării aplicației și modificarea stilului UI.
Allows triggering custom JavaScript functions from a backend language to extend the runtime's capabilities.
Acest proiect este o bibliotecă de componente Blazor și un framework UI web utilizat pentru construirea de aplicații web cu ASP.NET Core Blazor. Servește drept implementare a Fluent Design System, oferind o colecție de elemente de interfață reutilizabile și pre-stilate pentru a asigura consistența vizuală și accesibilitatea. Biblioteca include un data grid asincron capabil să rezolve interogări la distanță prin preluarea asincronă a datelor și maparea entităților. Utilizează un sistem de „design tokens” pentru a gestiona stilurile vizuale și setările de personalizare în cadrul unei aplicații. Framework-ul acoperă capabilități mai largi pentru design UI enterprise, inclusiv integrarea seturilor standardizate de pictograme și emoji-uri, precum și instrumente pentru compunerea interfețelor accesibile. De asemenea, oferă mecanisme pentru a testa output-ul componentelor și a verifica comportamentul HTML.
Interfaces with underlying web components using JavaScript interop to bridge Blazor logic with native browser behaviors.
Scala.js este un compilator și un toolchain de limbaj cross-platform care transformă codul sursă Scala în JavaScript sau WebAssembly. Funcționează ca un instrument tipizat static pentru ecosistemul JavaScript, permițând dezvoltarea de aplicații pentru browsere web și medii Node.js. Proiectul servește ca framework de interop JavaScript, permițând crearea de fațade și binding-uri type-safe pentru a interacționa cu biblioteci externe și obiecte globale. Oferă mecanisme atât pentru invocarea JavaScript statică, cât și dinamică, inclusiv generarea de binding-uri TypeScript și capacitatea de a exporta logica internă pentru utilizare în cod JavaScript extern. Toolchain-ul include un instrument de build frontend pentru bundling-ul de producție și optimizarea output-ului, inclusiv eliminarea codului mort și împărțirea modulelor. Acoperă o suprafață largă de capabilități, inclusiv verificarea tipurilor elementelor DOM pentru dezvoltarea UI, partajarea codului cross-platform pentru dezvoltarea full-stack și diverse framework-uri de testare pentru verificarea artefactelor de build optimizate. Scripturile compilate pot fi executate direct într-un mediu de linie de comandă folosind un interpretor JavaScript.
Allows the creation of type-safe representations of external APIs to map structural interfaces to a strict type system.
Acest proiect este un ghid cuprinzător de programare pentru performanță și o referință pentru limbajul Go, concentrându-se pe eficiența runtime și optimizarea memoriei. Oferă o colecție de tipare și tehnici concepute pentru a crește viteza de execuție prin reducerea overhead-ului garbage collection-ului și optimizarea utilizării memoriei. Resursa se distinge prin implementări de referință detaliate pentru optimizarea memoriei, cum ar fi escape analysis, object pooling și alinierea memoriei structurilor. Oferă strategii specifice pentru reducerea dimensiunii binarului și îmbunătățirea eficienței cache-ului CPU prin optimizarea layout-ului memoriei structurilor și utilizarea placeholder-elor cu alocare zero. Proiectul acoperă o gamă largă de capabilități de inginerie backend, inclusiv gestionarea concurenței cu worker pools și primitive de sincronizare, RPC de înaltă performanță și rutare HTTP, precum și strategii de caching distribuit. Include, de asemenea, îndrumări privind observabilitatea prin profilarea CPU și a memoriei, precum și tipare de asigurare a calității pentru unit testing funcțional și generarea de obiecte mock. Conținutul este structurat ca o serie de tutoriale, exemple arhitecturale și ghiduri de benchmarking pentru a ajuta dezvoltatorii să analizeze și să remedieze blocajele de performanță.
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.
Această bibliotecă oferă o punte de comunicare securizată pentru aplicațiile Android, permițând interacțiunea între codul Java nativ și interfețele JavaScript bazate pe web în cadrul unui WebView. Aceasta facilitează invocarea metodelor de sistem native din scripturile web și gestionează schimbul de date peste granița limbajelor. Framework-ul utilizează un strat de interceptare bazat pe prompt-uri pentru a valida semnăturile metodelor înainte de execuție, asigurându-se că este declanșat doar codul nativ autorizat. Susține schimbul complex de date prin serializare structurată și oferă un mecanism pentru maparea metodelor native la interfețele web, permițând execuția dinamică prin inspecție la runtime. Sistemul gestionează operațiunile asincrone prin menținerea unui registru de referințe ale funcțiilor de pe partea web. Acest lucru permite sarcinilor native de fundal să declanșeze callback-uri JavaScript specifice la finalizare, susținând fluxuri de lucru integrate în aplicații mobile hibride.
Bridges native Android code and web content for complex data exchange and cross-environment logic.
Acest proiect oferă un wrapper C++ „header-only” pentru Node-API, servind drept framework pentru construirea de addon-uri native de înaltă performanță pentru Node.js. Acționează ca o punte între C++ și JavaScript, oferind o interfață orientată pe obiecte care simplifică crearea de extensii compilate, gestionând în același timp complexitățile graniței dintre limbaje. Biblioteca se distinge prin oferirea de abstracțiuni „type-safe” pentru marshalling-ul datelor și gestionarea memoriei, asigurându-se că obiectele native și cele de pe partea de script sunt urmărite și recuperate corect. Include mecanisme pentru coordonarea sarcinilor asincrone între thread-urile de fundal și event loop-ul principal, prevenind coruperea datelor în timp ce se deleagă calculele intensive. Mai mult, mapează excepțiile native la tipurile standard de eroare din script, asigurând raportarea diagnostică consistentă și gestionarea eșecurilor. Dincolo de capabilitățile sale de bază de bridging, proiectul susține întregul ciclu de viață al dezvoltării native, inclusiv expunerea claselor și metodelor C++ către runtime-ul JavaScript. Oferă instrumente pentru gestionarea ciclurilor de viață ale mediului, automatizarea migrațiilor de cod și executarea de benchmark-uri de performanță pentru a evalua comportamentul componentelor native.
Translates native exceptions into JavaScript errors and provides mechanisms to manage error states across the language boundary.