2022-01-23 22:48:42 +03:00
< img src = ".github/splash.png" alt = "Tauri" / >
2019-07-13 22:55:25 +03:00
2022-07-25 18:03:18 +03:00
[![status ](https://img.shields.io/badge/status-stable-blue.svg )](https://github.com/tauri-apps/tauri/tree/dev)
2021-04-25 19:15:05 +03:00
[![License ](https://img.shields.io/badge/License-MIT%20or%20Apache%202-green.svg )](https://opencollective.com/tauri)
Merge remote-tracking branch 'origin/dev' into next (#7067)
Co-authored-by: wusyong <wusyong@users.noreply.github.com>
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Simon Hyll <hyllsimon@gmail.com>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.studio>
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: chip <chip@chip.sh>
Co-authored-by: Raphii <iam@raphii.co>
Co-authored-by: Ronie Martinez <ronmarti18@gmail.com>
Co-authored-by: hanaTsuk1 <101488209+hanaTsuk1@users.noreply.github.com>
Co-authored-by: nathan-fall <39990940+nathan-fall@users.noreply.github.com>
Co-authored-by: Akshay <nerdy@peppe.rs>
Co-authored-by: KurikoMoe <kurikomoe@gmail.com>
Co-authored-by: Guilherme Oenning <me@goenning.net>
Co-authored-by: Pierre Cashon <biaocy91@gmail.com>
Co-authored-by: Jack Wills <32690432+mrjackwills@users.noreply.github.com>
Co-authored-by: Amirhossein Akhlaghpour <m9.akhlaghpoor@gmail.com>
Co-authored-by: Risto Stevcev <me@risto.codes>
Co-authored-by: Soumt <rltks1305@naver.com>
Co-authored-by: yutotnh <57719497+yutotnh@users.noreply.github.com>
Co-authored-by: Gökçe Merdun <agmmnn@gmail.com>
Co-authored-by: Nathanael Rea <Nathan@NathanaelRea.com>
Co-authored-by: Usman Rajab <usman.rajab@gmail.com>
Co-authored-by: Francis The Basilisk <36006338+snorkysnark@users.noreply.github.com>
Co-authored-by: Lej77 <31554212+Lej77@users.noreply.github.com>
Co-authored-by: Tomáš Diblík <dibla.tomas@post.cz>
Co-authored-by: Jonas Kruckenberg <iterpre@protonmail.com>
Co-authored-by: Pascal Sommer <Pascal-So@users.noreply.github.com>
Co-authored-by: Bo <bertonzh@gmail.com>
Co-authored-by: Kevin Yue <k3vinyue@gmail.com>
fixed grammar and typos (#6937)
Fix api.js docs pipeline with updated typedoc dependencies (#6945)
closes #6887 (#6922)
fix(core): Fix `WindowBuilder::on_navigation` handler never registerd, closes #6865 (#6921)
fix(core): Fix `WindowBuilder::on_navigation` handler never registerd, closes #6865
fix broken symlinks in license files (#6336)
fix(cli): fix cli connection timeout to dev server (fix #6045) (#6046)
fix(bundler): ensure that there are no duplicate extension arguments when bundling on Windows, fixes #6103 (#6917)
fix(bundler): ensure that there are no duplicate extension arguments during bundling on Windows (fix #6103)
closes #5491 (#6408)
fix(nsis): prefill $INSTDIR with previous install path and respect `/D` flag, closes #6928 (#6935)
fix(nsis): prefill $INSTDIR with previous install path and respect `/D` flag, closes #6928
fix(updater): emit `UPTODATE` when server responds with 204, closes #6934 (#6970)
fix(core): unpin all dependencies, closes #6944 (#6966)
fix(bundler): Add new lang_file option in persian variant. (#6972)
fix(core/ipc): access url through webview native object, closes #6889 (#6976)
fix(core): remove trailing slash in http scope url, closes #5208 (#6974)
fix(core): remove trailing slash in http scope url, closes #5208
fix(cli): find correct binary when `--profile` is used, closes #6954 (#6979)
fix(cli): find correct binary when `--profile` is used, closes #6954
closes #6955 (#6987)
closes #6955
closes #6158 (#6969)
closes #6158
fix(cli): improve vs build tools detection (#6982)
fix: updated appimage script to follow symlinks for /usr/lib* (fix: #6992) (#6996)
fix(cli): correctly remove Cargo features (#7013)
Fix typo (#7012)
fix(cli): revert metadata.json field rename from #6795 (#7029)
closes #6732 (#6736)
fix: add missing file properties on Windows, closes #6676 (#6693)
fix(cli.js): detect node-20 binary (#6667)
fix version-or-publish workflow (#7031)
fix(cli/devserver): inject autoreload into HTML only, closes #6997 (#7032)
fix(bundler/nsis): write installer templates UTF16LE encoded, closes #7036 (#7040)
fix(bundler/nsis): write installer templates UTF16LE encoded, closes #7036
fix(core): rewrite `asset` protocol streaming, closes #6375 (#6390)
closes #5939 (#5960)
fix(core): use `safe_block_on` (#7047)
closes #6859 (#6933)
closes #6955 (#6998)
fix(core): populate webview_attrs from config, closes #6794 (#6797)
closes #5176 (#5180)
fix: sound for notifications on windows (fix #6652) (#6680)
close native window's buttons, closes #2353 (#6665)
fix(bundler/nsis): calculate accurate app size, closes #7056 (#7057)
fix(tests): only download update when it is available (#7061)
closes #6706 (#6712)
fix(doc): correct the doc of `content_protected()` (#7065)
closes #6472 (#6530)
fix(macros): use full path to Result to avoid issues with type aliases (#7071)
2023-05-30 03:29:24 +03:00
[![test core ](https://img.shields.io/github/actions/workflow/status/tauri-apps/tauri/test-core.yml?label=test%20core&logo=github )](https://github.com/tauri-apps/tauri/actions/workflows/test-core.yml)
2021-04-23 23:34:10 +03:00
[![FOSSA Status ](https://app.fossa.com/api/projects/git%2Bgithub.com%2Ftauri-apps%2Ftauri.svg?type=shield )](https://app.fossa.com/projects/git%2Bgithub.com%2Ftauri-apps%2Ftauri?ref=badge_shield)
2022-07-25 18:03:18 +03:00
[![Chat Server ](https://img.shields.io/badge/chat-discord-7289da.svg )](https://discord.gg/SpmNs4S)
[![website ](https://img.shields.io/badge/website-tauri.app-purple.svg )](https://tauri.app)
2019-07-13 22:55:25 +03:00
[![https://good-labs.github.io/greater-good-affirmation/assets/images/badge.svg ](https://good-labs.github.io/greater-good-affirmation/assets/images/badge.svg )](https://good-labs.github.io/greater-good-affirmation)
2022-07-25 18:03:18 +03:00
[![support ](https://img.shields.io/badge/sponsor-Open%20Collective-blue.svg )](https://opencollective.com/tauri)
2020-05-22 18:40:32 +03:00
## Introduction
2022-06-23 21:31:11 +03:00
2022-03-18 12:26:48 +03:00
Tauri is a framework for building tiny, blazingly 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.
2020-05-22 18:40:32 +03:00
2023-11-30 13:15:02 +03:00
The user interface in Tauri apps currently leverages [`tao` ](https://docs.rs/tao ) as a window handling library on macOS, Windows, Linux, Android and iOS. To render your application, Tauri uses [WRY ](https://github.com/tauri-apps/wry ), a library which provides a unified interface to the system webview, leveraging WKWebView on macOS & iOS, WebView2 on Windows, WebKitGTK on Linux and Android System WebView on Android.
2020-05-22 18:40:32 +03:00
2021-05-10 21:39:24 +03:00
To learn more about the details of how all of these pieces fit together, please consult this [ARCHITECTURE.md ](https://github.com/tauri-apps/tauri/blob/dev/ARCHITECTURE.md ) document.
2020-05-22 18:40:32 +03:00
2023-11-30 13:15:02 +03:00
## Getting Started
2022-06-23 21:31:11 +03:00
2023-11-30 13:15:02 +03:00
If you are interested in making a tauri app, please visit the [documentation website ](https://tauri.app ).
2022-06-23 21:31:11 +03:00
2023-11-30 13:15:02 +03:00
The quickest way to get started is to install the [prerequisites ](https://tauri.app/v1/guides/getting-started/prerequisites ) for your system and create a new project with [`create-tauri-app` ](https://github.com/tauri-apps/create-tauri-app/#usage ). For example with `npm` :
2022-06-23 21:31:11 +03:00
2023-11-30 13:15:02 +03:00
```sh
npm create tauri-app@latest
```
2022-06-23 21:31:11 +03:00
2023-11-30 13:15:02 +03:00
## Features
2021-04-25 19:15:05 +03:00
2023-11-30 13:15:02 +03:00
The list of Tauri's features includes, but is not limited to:
2022-09-30 19:06:24 +03:00
2023-12-23 20:38:15 +03:00
- Built-in app bundler to create app bundles in formats like `.app` , `.dmg` , `.deb` , `.rpm` , `.AppImage` and Windows installers like `.exe` (via NSIS) and `.msi` (via WiX).
2023-11-30 13:15:02 +03:00
- Built-in self updater (desktop only)
- System tray icons
- Native notifications
2024-03-19 00:47:10 +03:00
- Localhost free (🔥)
2023-11-30 13:15:02 +03:00
- GitHub action for streamlined CI
- VS Code extension
2019-07-31 11:41:46 +03:00
2023-11-30 13:15:02 +03:00
### Platforms
2020-05-22 18:40:32 +03:00
2023-11-30 13:15:02 +03:00
Tauri currently supports development and distribution on the following platforms:
2022-06-23 21:31:11 +03:00
2023-11-30 13:15:02 +03:00
| Platform | Versions |
| :----------------- | :-------------------------------------------------------------------------------------------------------------- |
| Windows | 7 and above |
| macOS | 10.15 and above |
| Linux | webkit2gtk 4.0 for Tauri v1 (for example Ubuntu 18.04). webkit2gtk 4.1 for Tauri v2 (for example Ubuntu 22.04). |
2024-06-24 09:37:40 +03:00
| iOS/iPadOS (beta) | 9 and above |
| Android (beta) | 7 and above |
2020-05-22 18:40:32 +03:00
2023-11-30 13:15:02 +03:00
## Contributing
2022-06-23 21:31:11 +03:00
2022-05-11 02:05:01 +03:00
Before you start working on something, it's best to check if there is an existing issue first. It's also a good idea to stop by the Discord server and confirm with the team if it makes sense or if someone else is already working on it.
2021-12-23 16:09:30 +03:00
Please make sure to read the [Contributing Guide ](./.github/CONTRIBUTING.md ) before making a pull request.
Thank you to everyone contributing to Tauri!
2020-05-22 18:40:32 +03:00
### Documentation
2022-06-23 21:31:11 +03:00
2023-11-30 13:15:02 +03:00
Documentation in a polyglot system is a tricky proposition. To this end, we prefer to use inline documentation in the Rust & JS source code as much as possible. Check out the hosting repository for the documentation site for further information: https://github.com/tauri-apps/tauri-docs
2022-06-23 21:31:11 +03:00
2023-11-30 13:15:02 +03:00
## Partners
2022-06-23 21:31:11 +03:00
2023-11-30 13:15:02 +03:00
< table >
< tbody >
< tr >
< td align = "center" valign = "middle" >
< a href = "https://crabnebula.dev" target = "_blank" >
< img src = ".github/sponsors/crabnebula.svg" alt = "CrabNebula" width = "283" >
< / a >
< / td >
< / tr >
< / tbody >
< / table >
2020-05-22 18:40:32 +03:00
2023-11-30 13:15:02 +03:00
For the complete list of sponsors please visit our [website ](https://tauri.app#sponsors ) and [Open Collective ](https://opencollective.com/tauri ).
2019-07-14 12:14:14 +03:00
2019-08-28 14:28:49 +03:00
## Organization
2022-06-23 21:31:11 +03:00
2021-04-25 19:15:05 +03:00
Tauri aims to be a sustainable collective based on principles that guide [sustainable free and open software communities ](https://sfosc.org ). To this end it has become a Programme within the [Commons Conservancy ](https://commonsconservancy.org/ ), and you can contribute financially via [Open Collective ](https://opencollective.com/tauri ).
2019-07-14 17:29:41 +03:00
2019-07-13 20:14:13 +03:00
## Licenses
2022-06-23 21:31:11 +03:00
2023-11-30 13:15:02 +03:00
Code: (c) 2015 - Present - The Tauri Programme within The Commons Conservancy.
2019-07-25 02:06:55 +03:00
2020-05-22 18:40:32 +03:00
MIT or MIT/Apache 2.0 where applicable.
2019-07-13 20:14:13 +03:00
Logo: CC-BY-NC-ND
2021-04-23 23:34:10 +03:00
2022-06-23 21:31:11 +03:00
- Original Tauri Logo Designs by [Alve Larsson ](https://alve.io/ ), [Daniel Thompson-Yvetot ](https://github.com/nothingismagick ) and [Guillaume Chau ](https://github.com/akryum )
2021-04-23 23:34:10 +03:00
2021-04-25 19:15:05 +03:00
[![FOSSA Status ](https://app.fossa.com/api/projects/git%2Bgithub.com%2Ftauri-apps%2Ftauri.svg?type=large )](https://app.fossa.com/projects/git%2Bgithub.com%2Ftauri-apps%2Ftauri?ref=badge_large)