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
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
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
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
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 an Android hybrid mobile framework that enables the development of applications running web content inside a native Android container. It functions as a cross-platform build system that packages shared web assets into native binaries, allowing developers to access device hardware and system APIs via JavaScript. The framework utilizes a native device API bridge and a plugin architecture to expose hardware sensors and system-level functionality not available through standard browser interfaces. It employs a manifest-driven orchestration system to manage application metadata, bra
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
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
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
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
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
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-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
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.
Janet is a Lisp-based dynamic programming language featuring a register-based bytecode virtual machine and an embeddable scripting engine. It functions as a fiber-based concurrency runtime and includes a parsing engine based on Parsing Expression Grammars. The project is distinguished by its ability to be integrated into C or C++ applications via a minimal header interface. It utilizes a Lisp-style macro system for compile-time code transformation and employs prototype-based table inheritance for object-oriented behavior. The runtime covers a broad set of capabilities, including asynchronous
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 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.
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,
DoKit is a frontend development debugging toolset designed for web and mobile applications. It provides a suite of utilities for intercepting network traffic, mocking API responses, inspecting UI hierarchies, and monitoring mobile app performance. The project is distinguished by its focus on hybrid app inspection, allowing developers to execute scripts within web views and browse internal application sandboxes. It includes a visual UI audit tool with alignment rulers and color pickers to verify that interfaces match design specifications, as well as a diagnostic system that tracks CPU usage a