20 repositorios
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 es un generador de bindings y capa de interoperabilidad diseñada para mapear tipos de datos y funciones a través del límite entre WebAssembly y JavaScript. Funciona como una interfaz de función extranjera que sintetiza el boilerplate necesario para permitir la comunicación bidireccional entre Rust y el runtime del navegador. El proyecto genera código de pegamento y envoltorios que automatizan la conversión de tipos complejos, permitiendo que las funciones de Rust se exporten como módulos de JavaScript y que las APIs del navegador se importen a Rust. Utiliza macros procedimentales para definir estas interfaces y sintetiza bindings basados en definiciones de tipos de Rust. El sistema gestiona la memoria a través del paso de punteros de memoria lineal y maneja el intercambio de recursos utilizando manejadores de memoria gestionados por JavaScript. Se basa en una convención de llamada compatible con la ABI de C para pasar enteros primitivos y flotantes entre el módulo y el 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.
Este proyecto es un puente de runtime políglota y framework de interoperabilidad diseñado para ejecutar código .NET y Node.js dentro de un único proceso del sistema operativo. Funciona como un motor de ejecución cross-runtime y host de scripting in-process, permitiendo la comunicación bidireccional y el intercambio de datos entre el Common Language Runtime y los entornos de JavaScript para eliminar la sobrecarga de comunicación entre procesos. El framework se distingue por proporcionar un sistema para callbacks asíncronos bidireccionales y marshalling automático de buffers binarios y valores serializables entre diferentes tipos de objetos gestionados. Permite la compilación y ejecución de archivos fuente o scripts en línea de múltiples lenguajes dentro de una aplicación en ejecución aprovechando un modelo de compilador común. El proyecto cubre una amplia gama de capacidades, incluyendo la descarga de tareas asíncronas a hilos en segundo plano, la integración de lógica externa como middleware de framework web y la ejecución asíncrona de SQL. También proporciona herramientas de observabilidad para el mapeo de excepciones cross-runtime y admite la depuración de procesos tanto gestionados como nativos.
Allows the asynchronous invocation of specific JavaScript functions from within a .NET environment.
Vugu es una librería y framework de UI para Go WebAssembly utilizado para construir aplicaciones de una sola página (SPA) basadas en componentes y con seguridad de tipos. Funciona como un framework de componentes de archivo único que agrupa marcado, estilos y lógica en unidades modulares, utilizando un motor de DOM virtual para sincronizar los cambios de estado con la salida del navegador. El proyecto cuenta con un generador de componentes de Go que convierte plantillas de UI personalizadas en código fuente de Go ejecutable en tiempo de compilación. Se distingue por un runtime basado en WebAssembly que ejecuta la lógica de la aplicación como un binario compilado en el navegador y una herramienta de renderizado del lado del servidor para generar HTML estático para mejorar los tiempos de carga inicial. El framework cubre una amplia gama de capacidades, incluyendo enrutamiento basado en archivos, gestión del ciclo de vida de componentes y sincronización de UI basada en estado. Proporciona primitivas para la composición de componentes, manejo de eventos y enlace de datos dinámico, soportado por un servidor de desarrollo y automatización de build para la optimización del tamaño del binario.
Implements a common layer for exchanging data and calling functions between Go and JavaScript.
Kraken es un framework de interfaz de usuario multiplataforma y runtime de estándares web diseñado para construir aplicaciones nativas utilizando marcado y estilos web estándar. Utiliza un motor de renderizado basado en Flutter para procesar HTML y CSS, produciendo interfaces de usuario visualmente consistentes en plataformas móviles y de escritorio. El sistema se distingue por compilar el runtime a código máquina y emplear un pipeline de rasterización síncrono para asegurar que las animaciones y el desplazamiento coincidan con la fluidez de las aplicaciones nativas. Además, integra componentes nativos de alto rendimiento directamente en un árbol de objetos de documento (DOM) de estándar web, permitiendo la definición de etiquetas HTML personalizadas respaldadas por widgets nativos. El framework cubre una amplia superficie de capacidades, incluyendo la ejecución de árboles de componentes JavaScript, sincronización de estado global y local, y manejo estandarizado de gestos. También proporciona un sistema basado en plugins para extender la API con funciones de backend personalizadas y admite la integración con varios frameworks de frontend. Los flujos de trabajo de los desarrolladores se apoyan mediante la integración con el protocolo Chrome DevTools, permitiendo la inspección del estado de la aplicación y la modificación del estilo de la interfaz de usuario.
Allows triggering custom JavaScript functions from a backend language to extend the runtime's capabilities.
Este proyecto es una biblioteca de componentes Blazor y framework de UI web utilizado para construir aplicaciones web con ASP.NET Core Blazor. Sirve como una implementación del Fluent Design System, proporcionando una colección de elementos de interfaz de usuario reutilizables y pre-estilizados para garantizar la consistencia visual y la accesibilidad. La biblioteca incluye una rejilla de datos asíncrona capaz de resolver consultas remotas mediante la obtención de datos asíncrona y mapeo de entidades. Utiliza un sistema de tokens de diseño para gestionar estilos visuales y configuraciones de personalización en toda la aplicación. El framework cubre capacidades más amplias para el diseño de UI empresarial, incluyendo la integración de conjuntos estandarizados de iconos y emojis, y herramientas para componer interfaces accesibles. También proporciona mecanismos para probar la salida de los componentes y verificar el comportamiento del HTML.
Interfaces with underlying web components using JavaScript interop to bridge Blazor logic with native browser behaviors.
Scala.js es un compilador y cadena de herramientas de lenguaje multiplataforma que transforma código fuente de Scala en JavaScript o WebAssembly. Funciona como una herramienta tipada estáticamente para el ecosistema JavaScript, permitiendo el desarrollo de aplicaciones para navegadores web y entornos Node.js. El proyecto sirve como framework de interoperabilidad con JavaScript, permitiendo la creación de fachadas y bindings tipados de forma segura para interactuar con librerías externas y objetos globales. Proporciona mecanismos para la invocación de JavaScript tanto estática como dinámica, incluyendo la generación de bindings de TypeScript y la capacidad de exportar lógica interna para su uso en código JavaScript externo. La cadena de herramientas incluye una herramienta de construcción frontend para empaquetado de producción y optimización de salida, incluyendo eliminación de código muerto y división de módulos. Cubre una amplia superficie de capacidades, incluyendo verificación de tipos de elementos DOM para desarrollo de UI, intercambio de código multiplataforma para desarrollo full-stack y varios frameworks de pruebas para verificar artefactos de construcción optimizados. Los scripts compilados pueden ejecutarse directamente dentro de un entorno de línea de comandos utilizando un intérprete de JavaScript.
Allows the creation of type-safe representations of external APIs to map structural interfaces to a strict type system.
This project is a comprehensive performance programming guide and reference for the Go language, focusing on runtime efficiency and memory optimization. It provides a collection of patterns and techniques designed to increase execution speed by reducing garbage collection overhead and optimizing memory usage. The resource distinguishes itself through detailed reference implementations for memory optimization, such as escape analysis, object pooling, and structure memory alignment. It offers specific strategies for reducing binary size and improving CPU cache efficiency through structure memor
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.
Esta biblioteca proporciona un puente de comunicación seguro para aplicaciones de Android, permitiendo la interacción entre código Java nativo e interfaces JavaScript basadas en web dentro de un WebView. Facilita la invocación de métodos del sistema nativo desde scripts web y gestiona el intercambio de datos a través del límite del lenguaje. El marco utiliza una capa de interceptación basada en avisos para validar las firmas de los métodos antes de la ejecución, asegurando que solo se active el código nativo autorizado. Admite el intercambio de datos complejos a través de serialización estructurada y proporciona un mecanismo para mapear métodos nativos a interfaces web, permitiendo la ejecución dinámica mediante inspección en tiempo de ejecución. El sistema maneja operaciones asíncronas manteniendo un registro de referencias de funciones del lado web. Esto permite que las tareas en segundo plano nativas activen devoluciones de llamada de JavaScript específicas al finalizar, apoyando flujos de trabajo integrados en aplicaciones móviles híbridas.
Bridges native Android code and web content for complex data exchange and cross-environment logic.
Este proyecto proporciona un envoltorio de C++ solo de cabecera para la Node-API, sirviendo como marco para construir complementos nativos de alto rendimiento para Node.js. Actúa como un puente entre C++ y JavaScript, ofreciendo una interfaz orientada a objetos que simplifica la creación de extensiones compiladas mientras gestiona las complejidades del límite del lenguaje. La biblioteca se distingue por proporcionar abstracciones seguras de tipos para la organización de datos y la gestión de memoria, asegurando que los objetos nativos y del lado del script sean rastreados y reclamados correctamente. Incluye mecanismos para coordinar tareas asíncronas entre hilos en segundo plano y el bucle de eventos principal, evitando la corrupción de datos mientras se descargan cálculos intensivos. Además, mapea las excepciones nativas a tipos de error de script estándar, asegurando informes de diagnóstico consistentes y manejo de fallas. Más allá de sus capacidades de puente central, el proyecto admite el ciclo de vida completo del desarrollo nativo, incluida la exposición de clases y métodos de C++ al tiempo de ejecución de JavaScript. Proporciona herramientas para gestionar ciclos de vida de entornos, automatizar migraciones de código y ejecutar puntos de referencia de rendimiento para evaluar el comportamiento de los componentes nativos.
Translates native exceptions into JavaScript errors and provides mechanisms to manage error states across the language boundary.