Crate tauri

source ·
Expand description

Tauri is a framework for building tiny, blazing fast binaries for all major desktop platforms. Developers can integrate any front-end framework that compiles to HTML, JS and CSS for building their user interface. The backend of the application is a rust-sourced binary with an API that the front-end can interact with.

Cargo features

The following are a list of Cargo features that can be enabled or disabled:

  • wry (enabled by default): Enables the wry runtime. Only disable it if you want a custom runtime.
  • test: Enables the [test] module exposing unit test helpers.
  • objc-exception: Wrap each msg_send! in a @try/@catch and panics if an exception is caught, preventing Objective-C from unwinding into Rust.
  • linux-ipc-protocol: Use custom protocol for faster IPC on Linux. Requires webkit2gtk v2.40 or above.
  • linux-libxdo: Enables linking to libxdo which enables Cut, Copy, Paste and SelectAll menu items to work on Linux.
  • isolation: Enables the isolation pattern. Enabled by default if the tauri > pattern > use config option is set to isolation on the tauri.conf.json file.
  • custom-protocol: Feature managed by the Tauri CLI. When enabled, Tauri assumes a production environment instead of a development one.
  • devtools: Enables the developer tools (Web inspector) and Window::open_devtools. Enabled by default on debug builds. On macOS it uses private APIs, so you can’t enable it if your app will be published to the App Store.
  • native-tls: Provides TLS support to connect over HTTPS.
  • native-tls-vendored: Compile and statically link to a vendored copy of OpenSSL.
  • rustls-tls: Provides TLS support to connect over HTTPS using rustls.
  • process-relaunch-dangerous-allow-symlink-macos: Allows the process::current_binary function to allow symlinks on macOS (this is dangerous, see the Security section in the documentation website).
  • tray-icon: Enables application tray icon APIs. Enabled by default if the trayIcon config is defined on the tauri.conf.json file.
  • macos-private-api: Enables features only available in macOS’s private APIs, currently the transparent window functionality and the fullScreenEnabled preference setting to true. Enabled by default if the tauri > macosPrivateApi config flag is set to true on the tauri.conf.json file.
  • window-data-url: Enables usage of data URLs on the webview.
  • compression *(enabled by default): Enables asset compression. You should only disable this if you want faster compile times in release builds - it produces larger binaries.
  • config-json5: Adds support to JSON5 format for tauri.conf.json.
  • config-toml: Adds support to TOML format for the configuration Tauri.toml.
  • icon-ico: Adds support to set .ico window icons. Enables Icon::File and Icon::Raw variants.
  • icon-png: Adds support to set .png window icons. Enables Icon::File and Icon::Raw variants.

Cargo allowlist features

The following are a list of Cargo features that enables commands for Tauri’s API package. These features are automatically enabled by the Tauri CLI based on the allowlist configuration under tauri.conf.json.

Protocol allowlist

  • protocol-asset: Enables the asset custom protocol.

Re-exports

Modules

  • The singleton async runtime used by Tauri and exposed to users.
  • The Tauri custom commands types and traits.
  • Types and functions related to Inter Procedure Call(IPC).
  • Path APIs.
  • The Tauri plugin extension to expand Tauri functionality.
  • Types and functions related to child processes management.
  • The allowlist scopes.
  • testtest
    Utilities for unit testing on Tauri applications.
  • The Tauri window types and functions.

Macros

Structs

Enums

Constants

Traits

  • Represents a container of file assets that are retrievable during runtime.
  • Manages a running application.
  • The webview runtime interface. A wrapper around runtime::Runtime with the proper user event type associated.

Functions

Type Aliases

Attribute Macros