30 open-source projects similar to marcuswestin/webviewjavascriptbridge, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best WebViewJavascriptBridge alternative.
JsBridge is a bidirectional communication layer for Android that synchronizes data and triggers actions between a native Java application and an embedded web view. It serves as an interface for calling Java methods from JavaScript and executing JavaScript functions from native Android code. The project features an asynchronous bridge queue that stores pending function calls in a readiness buffer, ensuring requests are executed only after the connection between the native and web environments is stable. It utilizes callback identifier mapping to route asynchronous native responses back to the
CefSharp is a .NET binding for the Chromium Embedded Framework that allows developers to embed a full web browser into desktop applications. It provides an embedded browser control for rendering HTML, CSS, and JavaScript content within a native host window. The project features a bidirectional JavaScript bridge interface that enables the execution of scripts and the exposure of native host classes and methods to the browser environment. It also includes a headless browser automation tool for executing web tasks and capturing page screenshots without a graphical user interface. The library co
Carlo is a Node.js web rendering framework and desktop application bundler. It functions as a server-side browser controller and headless automation bridge that uses a local browser instance as the primary user interface for Node.js applications. The project distinguishes itself by providing a bidirectional bridge for cross-environment JavaScript integration, allowing server-side functions to be exposed to the browser window object and enabling the execution of page-context code from the server. It includes capabilities for packaging applications into standalone desktop executables, complete
This project is a cross-platform mobile web view component and native browser wrapper used to embed and display web content within mobile applications. It functions as a communication layer that allows JavaScript in a web page to exchange data with native mobile code. The component enables in-app web browsing and the integration of external websites or custom HTML pages. It provides a programmable interface for customizing how web content is rendered and interacted with inside a native application.
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
Lorca is a framework for building cross-platform desktop applications using Go for the backend logic and HTML5 for the user interface. It functions as a wrapper that renders a web browser as the application window while executing core logic in a native process. The project provides a communication bridge that binds native Go functions to the browser environment and allows the backend to execute JavaScript directly within the browser window. It includes capabilities for packaging binaries with custom icons and branding for multiple operating systems. The framework covers window management, su
The Chromium Embedded Framework (CEF) is a framework for embedding a full Chromium web browser into native desktop applications, enabling them to render web content and execute JavaScript. It provides a multi-process browser runtime that manages isolated browser, renderer, and GPU processes to maintain application stability and security, along with a process sandboxing framework that restricts child process capabilities to prevent malicious web content from affecting the host system. CEF distinguishes itself through a comprehensive native JavaScript bridge library that bridges native applicat
VasSonic is a hybrid mobile app framework for Android and iOS designed to optimize the loading speed of web views. It functions as a web view performance optimizer and a mobile web resource cache, utilizing an HTML differential update engine to minimize remote network fetches and reduce first-screen load times. The framework distinguishes itself by splitting HTML into static templates and dynamic data, calculating differences between server state and cached content to send only modified fragments. It employs a native-to-JavaScript bridge to sync these server-side data updates directly into th
Bagisto Next.js Commerce is a headless, server-side rendered e-commerce storefront built on Next.js that connects to any backend commerce API exclusively through GraphQL. It delivers SEO-optimized product pages with fast initial loads by combining server-side rendering with incremental static regeneration, and automatically optimizes images for different devices and network conditions. The storefront decouples the user interface from backend commerce logic, enabling flexible integration with any API protocol without modifying the frontend code. It supports the full shopping lifecycle includin
This is a comprehensive library of code examples and reference implementations for building cross-platform user interfaces with Flutter. The project provides a collection of demo applications and guides designed to illustrate the implementation of design patterns, animation techniques, and testing workflows. The repository features specific demonstrations for native integration, including examples of embedding modules into existing native applications, using platform channels, and bridging native code with the framework. It also serves as an animation reference, providing implementations for
Rhai is an embedded scripting engine and dynamically typed language designed for integration into Rust applications. It functions as an abstract syntax tree compiler and native interop layer, allowing developers to map Rust types and functions into a scripting environment for bidirectional communication. The project serves as a framework for creating customizable domain-specific languages. It allows for the definition of custom operators, syntax, and restricted execution environments, enabling the creation of specialized languages with tailored functional sets. The engine covers a broad rang
This project is a cross-platform user interface framework that maps mobile-native component primitives to standard web elements. It enables developers to build consistent applications that function across both mobile and web environments by providing a unified library of components and shared logic. The framework distinguishes itself through a specialized style engine that converts JavaScript object-based declarations into optimized, scoped CSS at runtime. It also features a responsive layout engine that implements a flexbox-based system, ensuring that interfaces adapt dynamically to differen
Rustler is a native function wrapper and foreign function interface that enables the development of high-performance extensions for the BEAM virtual machine. It serves as a bridge for writing native functions in Rust that can be called from Erlang environments. The project focuses on maintaining memory safety to prevent system crashes and memory corruption when executing compiled code. It achieves this by wrapping native calls in safe abstractions and applying Rust's ownership and borrowing rules to the management of external memory and structured data objects. The library provides mechanism
JNA is a foreign function interface and native memory mapper that allows Java applications to call functions in shared native libraries without writing custom JNI wrapper code. It serves as a JNI alternative framework for invoking C functions and mapping native data structures using high-level interfaces. The library distinguishes itself through its ability to translate Java objects and primitives into C-style structs, unions, and pointers for cross-platform memory exchange. On Windows, it provides a dedicated toolkit for interacting with Component Object Model objects using both early and la
Incubator-weex is a cross-platform mobile framework used to build user interfaces that run across different operating systems from a single codebase. It functions as a native UI renderer and a JavaScript native UI bridge, sending serialized UI descriptions from a JavaScript engine to native mobile components. The project includes a cross-platform UI bundler and build tool to compile source code into optimized bundles for native renderers. It also provides a UI previewer and prototyping toolset that allows for testing mobile interface pages within web browsers and on physical devices. The fra
Capacitor is a cross-platform mobile framework that enables developers to build native applications using web technologies. It functions as a hybrid app container, wrapping web assets within a native runtime that provides a standardized bridge to device hardware and system-level services. By exposing native functionality through a plugin-based architecture, it allows web applications to access platform-specific features while maintaining a consistent interface across mobile and desktop environments. The project distinguishes itself by maintaining native project files as source assets, allowin
NativeScript is a cross-platform mobile development framework that enables the creation of native iOS and Android applications using JavaScript or TypeScript. It provides a direct bridge to native platform APIs, allowing developers to invoke native classes, methods, and properties directly from script code while maintaining full access to underlying mobile operating system features. The framework distinguishes itself through its direct native UI rendering, which maps declarative markup components to actual platform-native widgets rather than web-based views. This architecture is supported by
Tauri is a cross-platform framework for building desktop applications that combine web-based user interfaces with a memory-safe systems-language backend. It functions as a secure runtime that hosts web content within native windowing containers, allowing developers to leverage existing web technologies while maintaining high-performance native logic. By compiling applications into small-footprint, platform-specific binaries, the framework avoids bundling heavy runtime environments, resulting in lightweight executables. The project distinguishes itself through a capability-based security model
Hotwire Turbo is a server-driven navigation and HTML streaming framework that intercepts link clicks and form submissions to fetch pages in the background and replace content without full browser reloads. It provides a Turbo Frame component that scopes page regions into independent contexts, enabling partial page updates where only a specific area of the page navigates or loads content. The framework includes a page cache and morph system that stores recently visited pages for instant restoration and applies minimal DOM changes on refresh, preserving scroll position and element state. The fra
react-sketchapp is a design system automation tool that translates React components into native Sketch design layers. It functions as a custom renderer that maps a virtual component tree to a design canvas, allowing for the programmatic generation and updating of design files from source code. The project provides a framework for building custom design utilities and automation scripts by treating the visual canvas as a programmable target. It includes a system for fetching external data to populate design components, enabling the creation of high-fidelity mockups and data-driven prototypes.
This project is a comprehensive reference guide and directory of web browser capabilities. It serves as a technical map for accessing native operating system functions, hardware interfaces, and standard web APIs to bridge the gap between web applications and desktop or mobile environments. The resource provides detailed guidance on implementing Progressive Web App features, including offline caching, push notifications, and native installation prompts. It also catalogs methods for interacting with hardware peripherals via USB, Bluetooth, and NFC, as well as reading raw data from device sensor
react-native-config is a cross-platform mobile environment manager and native build configuration tool. It implements twelve-factor app configuration principles by separating environment-specific settings from application code. The project provides a mechanism to inject environment variables directly into native project files and build settings during the compilation process. It further functions as a type-safe configuration loader that generates TypeScript definitions for environment variables to ensure autocompletion and safety. The tool manages multi-environment configurations by loading
Cordova CLI is a command-line interface that enables the development of native mobile applications using standard web technologies. It functions as a unified environment that transforms HTML, CSS, and JavaScript assets into installable binary packages for multiple mobile operating systems. By acting as a facade over platform-specific build chains, the tool automates the conversion of web-based source code into native applications. The system distinguishes itself through a modular plugin architecture that bridges web-based applications with native hardware capabilities, such as cameras and sen
JerryScript is a lightweight, ECMAScript-compliant JavaScript engine and bytecode compiler designed for resource-constrained devices. It serves as an embedded interpreter and IoT scripting runtime, enabling the execution of JavaScript code within native C applications on hardware with limited memory. The project differentiates itself through a focus on low-memory runtime management, utilizing bytecode precompilation and pre-compiled state snapshots to reduce startup time and memory overhead. It features a C-binding native bridge for bidirectional communication between native code and scripts,
This project is a framework for Windows desktop application development that allows the creation of native user interfaces using React and JavaScript. It enables the compilation of high-level application logic into native executables by targeting the Windows software development kit. The system leverages a C++ scene graph and visual layer for high-performance native rendering and provides mechanisms to map JavaScript calls to native C++ or C# methods. It synchronizes application styles with native operating system theme brushes to maintain visual consistency and manages desktop-specific inter
lottie-react-native is a library for rendering Lottie JSON animations as native graphics within a cross-platform mobile framework. It serves as a JSON-based animation renderer that parses design-exported files into high-performance vector animations on mobile devices. The framework uses a GPU-accelerated vector animation implementation to offload rendering to the device processor, reducing CPU load to maintain smooth motion. It provides a cross-platform motion framework for controlling animation playback, layout scaling, and dynamic color modifications across different mobile screens. The li
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
This project is a collection of official plugin packages and a native integration library designed to provide a consistent interface for accessing hardware and software functionality across different mobile and desktop platforms. It serves as a native platform bridge, enabling cross-platform applications to invoke native code and manage operating system dependencies. The project utilizes a federated plugin architecture, splitting plugins into common interfaces and separate platform implementations to allow for independent development and extension. It further supports native integration throu
This project is a cross-platform UI framework and component library designed for the Weex framework. It provides a collection of high-performance interactive interface components and a toolkit of pre-made elements, such as buttons and popups, to create consistent user interfaces across different platforms from a single codebase. The library focuses on accelerating mobile app interface construction by offering a set of reusable layout elements and interactive tools. This enables the development of functional mobile screens and cross-platform UI designs through a shared component library.
mQuickjs is a compact JavaScript engine designed for memory-constrained devices, such as microcontrollers, requiring as little as 10 KB of RAM and 100 KB of ROM. It achieves this through a fixed-buffer memory allocation scheme that avoids system heap usage, a compacting tracing garbage collector that eliminates fragmentation, and a ROM-embedded standard library that reduces both memory footprint and startup time. The engine compiles JavaScript source into portable bytecode that can be stored in persistent memory and executed without reparsing, and it emulates IEEE 754 floating-point arithmetic