# tauri-apps/wry

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/tauri-apps-wry).**

4,831 stars · 477 forks · Rust · Apache-2.0

## Links

- GitHub: https://github.com/tauri-apps/wry
- awesome-repositories: https://awesome-repositories.com/repository/tauri-apps-wry.md

## Description

Wry is a Rust library for embedding and controlling native system webviews within desktop applications across multiple operating systems. It acts as a native webview wrapper and cross-platform renderer that utilizes the host operating system's default browser engine to display web content.

The project provides a communication layer to execute JavaScript within a webview and receive serialized results back in Rust. It allows for the implementation of custom protocols to map URL schemes to internal handlers, enabling the loading of local assets and the interception of network requests without a server.

The library covers native window management and UI rendering, including the ability to nest child webviews and customize appearance settings. It includes capabilities for navigation interception, cookie and session management, and the activation of native browser developer tools for debugging.

Wry exposes native window handles and provides a foreign function interface for platform-specific extensions.

## Tags

### User Interface & Experience

- [Native Webview Embedders](https://awesome-repositories.com/f/user-interface-experience/native-webview-embedders.md) — Wraps system-provided web engines in Rust to render web content without bundling a full browser.
- [JavaScript Execution Bridges](https://awesome-repositories.com/f/user-interface-experience/javascript-execution-bridges.md) — Provides a communication bridge to execute scripts and invoke functions within the browser from a native host.
- [Native WebView Integrations](https://awesome-repositories.com/f/user-interface-experience/native-webview-integrations.md) — Embeds web content into native desktop applications using Rust and the operating system's default browser engine.
- [Remote JavaScript Execution](https://awesome-repositories.com/f/user-interface-experience/remote-javascript-execution.md) — Enables executing JavaScript code within the webview from the native Rust process and receiving results. ([source](https://github.com/tauri-apps/wry/blob/dev/CHANGELOG.md))
- [Web-Based Native UI](https://awesome-repositories.com/f/user-interface-experience/native-ui-component-libraries/web-based-native-ui.md) — Combines web technologies with native window management to create desktop user interfaces.
- [Nested Component Hierarchies](https://awesome-repositories.com/f/user-interface-experience/nested-component-hierarchies.md) — Supports embedding child webview controllers within parent native windows for layered user interfaces.
- [Window Request Handlers](https://awesome-repositories.com/f/user-interface-experience/window-request-handlers.md) — Intercepts requests to open new windows to determine how and when to create a new view. ([source](https://github.com/tauri-apps/wry/blob/dev/CHANGELOG.md))

### Development Tools & Productivity

- [Protocol Scheme Registrations](https://awesome-repositories.com/f/development-tools-productivity/url-scheme-handlers/protocol-scheme-registrations.md) — Allows the registration of custom protocol schemes to intercept network requests and serve local content. ([source](https://github.com/tauri-apps/wry#readme))
- [Native Handle Accessors](https://awesome-repositories.com/f/development-tools-productivity/macos-utilities/native-window-contexts/native-handle-accessors.md) — Provides interfaces for retrieving underlying platform-specific windowing and graphics context handles. ([source](https://github.com/tauri-apps/wry/blob/dev/CHANGELOG.md))

### Graphics & Multimedia

- [Native Browser Renderers](https://awesome-repositories.com/f/graphics-multimedia/native-browser-renderers.md) — Utilizes the host operating system's default browser engine as a rendering layer to display web content.

### Networking & Communication

- [Custom URI Scheme Handlers](https://awesome-repositories.com/f/networking-communication/custom-protocol-implementations/custom-uri-scheme-handlers.md) — Provides mechanisms to intercept and handle custom URI schemes for loading local assets into the webview. ([source](https://github.com/tauri-apps/wry/blob/dev/README.md))

### Operating Systems & Systems Programming

- [WebView Libraries](https://awesome-repositories.com/f/operating-systems-systems-programming/webview-libraries.md) — Provides a comprehensive Rust library for embedding and controlling native system webviews across platforms.

### Programming Languages & Runtimes

- [Rust-JavaScript Bridges](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/language-runtimes/language-host-runtime-bridges/rust-javascript-bridges.md) — Provides serialization and function mapping between Rust and JavaScript runtimes for native interoperability.
- [Foreign Function Interfaces](https://awesome-repositories.com/f/programming-languages-runtimes/language-interoperability/foreign-function-interfaces.md) — Exposes raw native window handles through an FFI to allow platform-specific extensions.

### Web Development

- [Webview Rendering Engines](https://awesome-repositories.com/f/web-development/webview-rendering-engines.md) — Renders web pages within a native window using the operating system's default browser engine. ([source](https://github.com/tauri-apps/wry#readme))
- [Navigation Interception](https://awesome-repositories.com/f/web-development/browser-integration-utilities/browser-infrastructure/service-worker-controls/service-worker-libraries/interception-logic/navigation-interception.md) — Intercepts web address requests before navigation to block or redirect the request. ([source](https://github.com/tauri-apps/wry/blob/dev/CHANGELOG.md))
- [Layout Bounds Control](https://awesome-repositories.com/f/web-development/html-content-renderers/webview-content-renderers/layout-bounds-control.md) — Enables creating webviews as child elements with specific bounds for precise layout control. ([source](https://github.com/tauri-apps/wry/blob/dev/README.md))
- [View Nesting](https://awesome-repositories.com/f/web-development/html-content-renderers/webview-content-renderers/view-nesting.md) — Supports embedding a webview inside another existing window to create complex interface layouts. ([source](https://github.com/tauri-apps/wry#readme))

### Mobile Development

- [WebView DevTools Access](https://awesome-repositories.com/f/mobile-development/hybrid-app-debugging-workflows/webview-devtools-access.md) — Enables opening native browser developer tools within the embedded webview for runtime inspection.

### Software Engineering & Architecture

- [Navigation Interceptors](https://awesome-repositories.com/f/software-engineering-architecture/event-driven-architectures/ui-event-driven-navigation/navigation-interceptors.md) — Intercepts URL change requests via callbacks to block or redirect navigation before the browser loads the page.
