Pages

Tuesday, 3 November 2020

TAURI

 

Build smaller, faster, and more secure desktop applications with a web frontend.

https://tauri.studio/

Tauri Apps
  footprint:   minuscule
  performance: ludicrous
  flexibility: gymnastic
  security:    hardened

Current Releases

ComponentDescriptionVersionLinWinMac
tauri.js CLIcreate, develop and build apps
tauri corebinding to the low level WEBVIEW
tauri apiinterface with the underlying OS
tauri bundlermanufacture the final binaries
tauri utilscommon tools for tauri
tauri updater [WIP]update the userland app

Introduction

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.

The user interface in Tauri apps currently leverages Cocoa/WebKit on macOS, gtk-webkit2 on Linux and MSHTML (IE10/11) or Webkit via Edge on Windows. Tauri uses (and contributes to) the MIT licensed project that you can find at webview and the related webview organization.

Get Started

If you are interested in making a tauri-app, please visit the documentation website. This README is directed towards those who are interested in contributing to the core library. But if you just want a quick overview about where tauri is at in its development, here's a quick burndown:

App Bundles

  •  App Icons
  •  Build on MacOS (.app, .dmg)
  •  Build on Linux (.deb, AppImage)
  •  Build on Windows (.exe, .msi)
  •  Copy Buffer
  •  Device Notifications (toast)
  •  Self Updater (in progress)
  •  deeplink RPC (in progress)
  •  One-Time commands (coming soon)
  •  App Signing (coming soon)
  •  Frameless Mode (coming soon)
  •  Transparent Mode (coming soon)
  •  Multiwindow Mode (coming soon)
  •  Tray (coming soon)

API

  •  setTitle - set the window title
  •  command - make custom API interfaces
  •  execute - STDOUT Passthrough with command invocation
  •  open - open link in a browser
  •  event - two part api consisting of emit and listen
  •  httpRequest - command rust to make an http request
  •  openDialog - native file chooser dialog
  •  saveDialog - native file saver dialog
  •  readDir - list files in a directory
  •  createDir - create a directory
  •  removeDir - remove a directory
  •  removeFile - remove a file
  •  renameFile - rename a file
  •  copyFile - copy a file to a new destination
  •  writeFile - write file to local filesystem
  •  writeBinaryFile - write binary file to local filesystem
  •  readBinaryFile - read binary file from local filesystem
  •  readTextFile - read text file from local filesystem
  •  channel - stream constant data to the webview

Security Features

  •  localhost-free mode (🔥)
  •  Dynamic ahead of Time Compilation (dAoT) with functional tree-shaking
  •  functional Address Space Layout Randomization
  •  OTP salting of function names and messages at runtime
  •  CSP Injection
  •  Frida-based harness for Post-Binary Analysis (in progress)

Utilities

  •  GH Action for creating binaries for all platforms
  •  VS Code Extension
  •  Tauri Core Plugins
  •  Update core dependencies automatically from the command line
  •  Rust-based CLI with deno binding

Comparison between Tauri and Electron

DetailTauriElectron
Binary Size MacOS0.6 MB (1)47.7 MB
Memory Consumption MacOS13 MB34.1 MB
Interface Service ProviderVariesChromium
Backend BindingRustNode.js (ECMAScript)
Underlying EngineC/C++V8 (C/C++)
FLOSSYesNo
MultithreadingYesNo
Bytecode DeliveryYesNo
Can Render PDFYesNo
Multiple WindowsSoonYes
Auto UpdaterSoonYes (2)
Cross PlatformYesYes
Custom App IconYesYes
Windows BinaryYesYes
MacOS BinaryYesYes
Linux BinaryYesYes
iOS BinarySoonNo
Android BinarySoonNo
Localhost ServerYesYes
No localhost optionYesNo
Desktop TraySoonYes
SplashscreenYesYes
Sidecar BinariesYesNo

Notes

  1. This is the smallest known binary, depending on your framework the size may be different.
  2. Electron has no native auto updater on Linux, but is offered by electron-packager

Development

Tauri is a system composed of a number of moving pieces:

Infrastructure

  • git for code management
  • github for project management
  • github actions for CI and CD
  • discord for discussions
  • netlify-hosted documentation website

Major Runtimes

  • node.js for running the CLI (deno and pure rust are on the roadmap)
  • cargo for testing, running the dev service, building binaries and as the runtime harness for the webview

Major Languages

  • typescript for the CLI
  • javascript for the JS-side of the API
  • rust for bindings, rust side of the API, harnesses
  • C / obj-c for interfacing with the webviews

Operating systems

Tauri core can be developed on Mac, Linux and Windows, but you are encouraged to use the latest possible operating systems and build tools for your OS.

Contribution Flow

Before you start working on something, it is best to check if there is an existing issue first. Also it is a good idea to stop by the Discord guild and confirm with the team if it makes sense or if someone is already working on it. If you want to read more about this, please see this page.

Documentation

Documentation in a polyglot system is a tricky proposition. To this end, we prefer to use inline documentation of Rust code and at JSDoc in typescript / javascript code. We autocollect these and publish them using Docusaurus v2 and netlify. Here is the hosting repository for the documentation site: https://github.com/tauri-apps/tauri-docs

Testing & Linting

Test all the things! We have a number of test suites, but are always looking to improve our coverage:

  • Rust (cargo test) => sourced via inline #[cfg(test)] declarations
  • TS (jest) => via spec files
  • Smoke Tests (run on merges to latest)
  • eslint, clippy

CI/CD

We recommend you read this article to understand better how we run our pipelines: https://www.jacobbolda.com/setting-up-ci-and-cd-for-tauri/

Organization

Tauri aims to be a sustainable collective based on principles that guide sustainable free and open software communities. You can get involved in many ways.

This has been done with our best attempt at due diligence and in respect of the original authors. Thankyou - this project would never have been possible without your amazing contribution to open-source and we are honoured to carry the torch further. Of special note:

  • zserge for the original webview approach and go bindings
  • Burtonago for the Cargo Bundle prototype

from https://github.com/tauri-apps/tauri

------

 
Build smaller, faster, and more secure desktop applications with a web frontend | Tauri Apps

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.
Build smaller, faster, and more secure desktop applications with a web frontend | Tauri Apps 倾城之链

推荐语:Tauri 是一个框架,用于为所有主要的桌面平台构建微小、快速的二进制文件,旨在为多平台部署构建优化、安全且独立于前端的应用程序。开发人员可以整合任何可以编译成 HTML、JS 和 CSS 的前端框架,以构建他们的用户界面。应用程序的后端是一个来自 rust 的二进制文件,带有一个前端可以与之交互的 API。

如何开始使用

# npm
npm create tauri-app

# yarn
yarn create tauri-app

# pnpm
pnpm create tauri-app

Tauri 具备如下功能特性:
兼容性良好

与任何前端框架的兼容性意味着您不必更改堆栈。
安全

Tauri 团队的首要任务是推动我们的最高优先事项和最大的创新。
开源

由于 MIT 或 MIT/Apache 2.0 许可(如果适用),重新许可和重新分发是可能的。
体积小

通过使用操作系统的原生网络渲染器,Tauri 应用的大小可以小于 600KB。
跨平台

捆绑所有主要桌面平台的二进制文件(移动和 WASM 即将推出)。
建立在 Rust 之上

以性能和安全为中心,Rust 是下一代应用程序的语言。

除此之外,tauri 还具备自动更新、原生通知、数据存储、核心插件系统等。Tauri 是一个工具包,可帮助开发人员为主要桌面平台制作应用程序;几乎使用现有的任何前端框架。核心是用 Rust 构建的,CLI 利用 Node.js 使 Tauri 成为一种真正的多语言方法来创建和维护出色的应用程序。

在基于前端技术,而构建桌面应用工具中,Electron 无疑是其中的佼佼者;tauri 则有意成为 Electron的替代品,主张使用 Web 前端构建更小、更快、更安全的桌面应用程序

https://tauri.app/

-----------------

Awesome Tauri Apps, Plugins and Resources  。

Awesome Tauri

A curated collection of the best stuff from the Tauri ecosystem and community.


Awesome

Table of Contents

Getting Started

Guides

Tutorials

Templates

Development

Plugins

Integrations

Articles

Applications

Audio & Video

  • Cardo - Podcast player with integrated search and management of subscriptions.
  • Curses - Speech-to-Text and Text-to-Speech captions for OBS, VRChat, Twitch chat and more.
  • Douyin Downloader - Cross-platform douyin video downloader.
  • Feiyu Player - Cross-platform online video player where beauty meets functionality.
  • Hypetrigger closed source - Detect highlight clips in video with FFMPEG + Tensorflow on the GPU.
  • Jellyfin Vue - GUI client for a Jellyfin server based on Vue.js and Tauri.
  • Lofi Engine - Generate Lo-Fi music on the go and locally.
  • mediarepo - Tag-based media management application.
  • Mr Tagger - Music file tagging app.
  • Musicat - Sleek desktop music player and tagger for offline music.
  • screenpipe - Build AI apps based on all your screens & mics context.
  • Watson.ai - Easily record and extract the most important information from your meetings.
  • XGetter closed source- Cross-platform GUI to download videos and audio from Youtube, Facebook, X(Twitter), Instagram, Tiktok and more.
  • yt-dlp GUI - Cross-platform GUI client for the yt-dlp command-line audio/video downloader.

ChatGPT clients

  • ChatGPT - Cross-platform ChatGPT desktop application.
  • ChatGPT App - Cross-platform ChatGPT App and more.
  • ChatGPT-Desktop - Cross-platform productivity ChatGPT assistant launcher.
  • Kaas - Cross-platform desktop LLM client for OpenAI ChatGPT, Anthropic Claude, Microsoft Azure and more, with a focus on privacy and security.
  • Orion - Cross-platform app that lets you create multiple AI assistants with specific goals powered with ChatGPT.
  • QuickGPT - Lightweight AI assistant for Windows.
  • Yack - Spotlight like app for interfacing with GPT APIs.

Data

  • Annimate - Convenient export of query results from the ANNIS system for linguistic corpora.
  • BS Redis Desktop Client - The Best Surprise Redis Desktop Client.
  • Dataflare closed source paid - Simple and elegant database manager.
  • DocKit - GUI client for NoSQL databases such as elasticsearch, OpenSearch, etc.
  • Duckling - Lightweight and fast viewer for csv/parquet files and databases such as DuckDB, SQLite, PostgreSQL, MySQL, Clickhouse, etc.
  • Elasticvue - Free and open-source Elasticsearch GUI
  • Mason closed source - Seamlessly query, visualize and share data with your team.
  • Noir - Keyboard-driven database management client.
  • pgMagic🪄 closed source paid - GUI client to talk to Postgres in SQL or with natural language.
  • qsv pro closed source paid - Explore spreadsheet data including CSV in interactive data tables with generated metadata and a node editor based on the qsv CLI.

Developer tools

  • AHQ Store - Publish, Update and Install apps to the Windows-specific AHQ Store.
  • AppCenter Companion - Regroup, build and track your VS App Center apps.
  • AppHub - Streamlines .appImage package installation, management, and uninstallation through an intuitive Linux desktop interface.
  • Aptakube closed source - Multi-cluster Kubernetes UI.
  • claws closed source - Visual interface for the AWS CLI.
  • CrabNebula DevTools - Visual tool for understanding your app. Optimize the development process with easy debugging and profiling.
  • CrabNebula DevTools Premium closed source paid - Optimize the development process with easy debugging and profiling. Debug the Rust portion of your app with the same comfort as JavaScript!
  • DevBox closed source - Many useful tools for developers, like generators, viewers, converters, etc.
  • DevClean - Clean up development environment with ease.
  • DevTools-X - Collection of 30+ cross platform development utilities.
  • Dropcode - Simple and lightweight code snippet manager.
  • Echoo - Offline/Online utilities for developers on MacOS & Windows.
  • GitButler - GitButler is a new Source Code Management system.
  • GitLight - GitHub & GitLab notifications on your desktop.
  • JET Pilot - Kubernetes desktop client that focuses on less clutter, speed and good looks.
  • Hoppscotch closed source - Trusted by millions of developers to build, test and share APIs.
  • Keadex Mina - Open Source, serverless IDE to easily code and organize at a scale C4 model diagrams.
  • KFtray - A tray application that manages port forwarding in Kubernetes.
  • Ngroker closed source paid - 🆖ngrok gui client.
  • Soda - Generate source code from an IDL.
  • Pake - Turn any webpage into a desktop app with Rust with ease.
  • Rivet - Visual programming environment for creating AI features and agents.
  • TableX - Table viewer for modern developers
  • Tauri Mobile Test - Create and build cross-platform mobile applications.
  • Testfully closed source paid - Offline API Client & Testing tool.
  • verbcode closed source - Simplify your localization journey.
  • Yaak - Organize and execute REST, GraphQL, and gRPC requests.

Email & Feeds

  • Alduin - Alduin is a free and open source RSS, Atom and JSON feed reader that allows you to keep track of your favorite websites.
  • Aleph - Aleph is an RSS reader & podcast client.
  • BULKUS - Email validation software.
  • Lettura - Open-source feed reader for macOS.
  • mdsilo Desktop - Feed reader and knowledge base.

File management

  • enassi - Encryption assistant that encrypts and stores your notes and files.
  • EzUp - File and Image uploader. Designed for blog writing and note taking.
  • Orange - Cross-platform file search engine that can quickly locate files or folders based on keywords.
  • Payload closed source - Drag & drop file transfers over local networks.
  • Spacedrive - A file explorer from the future.
  • SquirrelDisk - Beautiful cross-platform disk usage analysis tool.
  • Time Machine Inspector - Find out what's taking up your Time Machine backup space.
  • Xplorer - Customizable, modern and cross-platform File Explorer.

Finance

  • Compotes - Local bank account operations storage to vizualize them as graphs and customize them with rules and tags for better filtering.
  • CryptoBal - Desktop application for monitoring your crypto assets.
  • Ghorbu Wallet - Cross-platform desktop HD wallet for Bitcoin.
  • nym-wallet - The Nym desktop wallet enables you to use the Nym network and take advantage of its key capabilities.
  • UsTaxes - Free, private, open-source US tax filings.
  • Mahalli - Local first inventory and invoicing management app.

Gaming

  • 9Launcher - Modern Cross-platform launcher for Touhou Project Games.
  • BestCraft - Crafting simulator with solver algorithms for Final Fantasy XIV(FF14).
  • BetterFleet - Help players of Sea of Thieves create an alliance server.
  • clear - Clean and minimalist video game library manager and launcher.
  • CubeShuffle - Card game shuffling utility.
  • En Croissant - Chess database and game analysis app.
  • FishLauncher - Cross-platform launcher for Fish Fight.
  • Modrinth App - Cross-platform launcher for Minecraft with mod management.
  • OpenGOAL - Cross-platform installer, mod-manager and launcher for OpenGOAL; the reverse engineered PC ports of the Jak and Daxter series.
  • Outer Wilds Mod Manager - Cross-platform mod manager for Outer Wilds.
  • OyasumiVR - Software that helps you sleep in virtual reality, for use with SteamVR, VRChat, and more.
  • Rai Pal - Manager for universal mods such as UEVR and UUVR.
  • Resolute - User-friendly, cross-platform mod manager for the game Resonite.
  • Steam Art Manager - Tool for customizing the art of your Steam games.
  • Tauri Chess - Implementation of Chess, logic in Rust and visualization in React.
  • Teyvat Guide - Game Tool for Genshin Impact player.

Information

  • Cores paid - Modern hardware monitor with remote monitoring.
  • Seismic - Taskbar app for USGS earthquake tracking.
  • Stockman - Display stock info on mac menubar.
  • Watchcoin - Display cypto price on OS menubar without a window.

Learning

  • Japanese - Learn Japanese Hiragana and Katakana. Memorize, write, pronounce, and test your knowledge.
  • Manjaro Starter - Documentation and support app for new Manjaro users.
  • Piano Trainer - Practice piano chords, scales, and more using your MIDI keyboard.
  • Solars - Visualize the planets of our solar system.
  • Syre - Scientific data assistant.
  • Rosary - Study Christianity.

Networking

  • Clash Verge Rev - Continuation of Clash Verge, a rule-based proxy.
  • CyberAPI - API tool client for developer.
  • Jexpe - Cross-platform, open source SSH and SFTP client that makes connecting to your remote servers easy.
  • Mail-Dev - Cross-platform, local SMTP server for email testing/debugging.
  • Nhex - Next-generation IRC client inspired by HexChat.
  • RustDesk - Self-hosted server for RustDesk, an open source remote desktop.
  • RustDuck - Cross platform dynamic DNS updater for duckdns.org.
  • T-Shell - An open-source SSH, SFTP intelligent command line terminal application.
  • TunnlTo - Windows WireGuard VPN client built for split tunneling.
  • UpVPN - WireGuard VPN client for Linux, macOS, and Windows.
  • Watcher - API manager built for a easier use to manage and collaborate.
  • Wirefish - Cross-platform packet sniffer and analyzer.

Office & Writing

  • fylepad - Notepad with powerful rich-text editing, built with Vue & Tauri.
  • Bidirectional - Write Arabic text in apps that don't support bidirectional text.
  • Blank - Minimalistic, opinionated markdown editor made for writing.
  • Ensō closed source - Write now, edit later. Ensō is a writing tool that helps you enter a state of flow.
  • Handwriting keyboard - Handwriting keyboard for Linux X11 desktop environment.
  • JournalV - Journaling app for your days and dreams.
  • MarkFlowy - Modern markdown editor application with built-in ChatGPT extension.
  • MD Viewer - Cross-platform markdown viewer.
  • MDX Notes - Versatile WeChat typesetting editor and cross-platform Markdown note-taking software.
  • Noor closed source - Chat app for high-performance teams. Designed for uninterrupted deep work and rapid collaboration.
  • Notedown - Minimal, local-first cross-platform note taking app.
  • Parchment - Simple local-only cross-platform text editor with basic markdown support.
  • Semanmeter closed source - OCR and document conversion software.
  • Ubiquity - Cross-platform markdown editor; built with Yew, Tailwind, and DaisyUI.

Productivity

  • Banban - Kanban board with tags, categories and markdown support.
  • BuildLog - Menu bar for keeping track of Vercel Deployments.
  • Dalgona - GIF meme finder app for Windows and macOS.
  • EcoPaste - Powerful open-source clipboard manager for MacOS and Windows platforms.
  • GitBar - System tray app for GitHub reviews.
  • Gitification - Menu bar app for managing Github notifications.
  • Google Task Desktop Client - Google Task Desktop Client
  • jasnoo closed source paid - Desktop software designed to help you solve problems, prioritise daily actions and focus
  • Kanri - Cross-platform, offline-first Kanban board app with a focus on simplicity and user experience.
  • Kianalol - Spotlight-like efficiency tool for swift website access.
  • Kunkun - Cross-platform, extensible app launcher. Alternative to Alfred and Raycast.
  • Link Saas - Efficiency tools for software development teams.
  • MacroGraph - Visual programming for content creators.
  • MeadTools - All-in-one Mead, Wine, and Cider making calculator.
  • mynd - Quick and very simple todo-list management app for developers that live mostly in the terminal.
  • Obliqoro - Oblique Strategies meets Pomodoro.
  • PasteBar - Limitless, Free Clipboard Manager for Mac and Windows. Effortless management of everything you copy and paste.
  • Pomodoro - Time management tool based on Pomodoro technique.
  • Qopy - The fixed Clipboard Manager for Windows and Mac.
  • Remind Me Again - Toggleable reminders app for Mac, Linux and Windows.
  • Takma - Kanban-style to-do app, fully offline with support for Markdown, labels, due dates, checklists and deep linking.
  • TimeChunks closed source - Time tracking for freelancers without timers and HH:MM:SS inputs.
  • WindowPet - Overlay app that lets you have adorable companions such as pets and anime characters on your screen.
  • Zawee closed source - Experience the synergy of Kanban boards, note-taking, file sharing, and more, seamlessly integrated into one powerful application.

Search

  • Harana - Search your desktop and 300+ cloud apps, instantly.
  • Spyglass - Personal search engine that indexes your files/folders, cloud accounts, and whatever interests you on the internet.

Security

  • Authme - Two-factor (2FA) authentication app for desktop.
  • Calciumdibromid - Generate "experiment wise safety sheets" in compliance to European law.
  • Defguard - WireGuard VPN destkop client with Two-factor (2FA) authentication.
  • Gluhny A graphical interface to validate IMEI numbers.
  • OneKeePass - Secure, modern, cross-platform and KeePass compatible password manager.
  • Padloc - Modern, open source password manager for individuals and teams.
  • Secops - Ubuntu Operating System security made easy.
  • Tauthy - Cross-platform TOTP authentication client.
  • Truthy - Modern cross-platform 2FA manager with tons of features and a beautiful UI.

Social media

  • Dorion - Light weight third-party Discord client with support for plugins and themes.
  • Identia - Decentralized social media on IPFS.
  • Kadium - App for staying on top of YouTube channel uploads.
  • Scraper Instagram GUI Desktop - Alternative Instagram front-end for desktop.

Utilities

  • AgeTimer - Desktop utility that counts your age in real-time.
  • Auto Wallpaper - Automatically generates 4K wallpapers based on user's location, weather, and time of day or any custom prompts.
  • bewCloud Desktop Sync - Desktop sync app for bewCloud, a simpler alternative to Nextcloud and ownCloud.
  • TypeView - KeyStroke Visualizer - Visualizes keys pressed on the screen and simulates the sound of mechanical keyboard.
  • Browsernaut - Browser picker for macOS.
  • Clipboard Record - Record Clipboard Content.
  • Clippy - Modern & Fast Clipboard Manager.
  • Fancy Screen Recorder closed source - Record entire screen or a selected area, trim and save as a GIF or video.
  • FanslySync - Sync your Fansly data with 3rd party applications, securely!
  • Flying Carpet - File transfer between Android, iOS, Linux, macOS, and Windows over auto-configured hotspot.
  • Happy - Control HappyLight compatible LED strip with ease.
  • Imagefly closed source - Powerful offline image processing toolkit for Windows, Linux and macOS
  • Jane Reader closed source - Modern and distraction-free epub reader.
  • KoS - Key on Screen - Show in your screen the keys you are pressing.
  • Lanaya - Easy to use, cross-platform clipboard management.
  • Lingo - Translate offline in every language on every platform.
  • Linka! - AI powered, easy to use, cross-platform bookmark management tool.
  • MBTiles Viewer - MBTiles Viewer and Inspector.
  • Metronome - Visual metronome for Windows, Linux and macOS.
  • Mobslide - Turn your smartphone into presentation remote controller.
  • Overlayed - Voice chat overlay for Discord.
  • Pachtop - Modern Cross-platform system monitor 🚀
  • Passwords - A random password generator.
  • Pavo - Cross-platform desktop wallpaper application.
  • Peekaboo A graphical interface to display images.
  • Pointless - Endless drawing canvas.
  • Pot - Cross-platform Translation Software.
  • Recordscript - Record & transcribe your online meetings, or subtitle your files. Cross-platform local-only screen recorder & subtitle generator.
  • Rounded Corners - Rounded Corners app for Windows.
  • RunMath - Keyboard-first calculator for Windows.
  • SensiMouse - Easily change macOS system-wide mouse sensitivity and acceleration settings.
  • SlimeVR Server - Server app for SlimeVR, facilitating full-body tracking in virtual reality.
  • Stable Diffusion Buddy - Desktop UI companion for the self-hosted Mac version of Stable Diffusion.
  • Stacks - Modern and capable clipboard manager for macOS. Seeking Linux and Windows contributions.
  • SwitchShuttle - Cross-platform system tray application that allows users to run predefined commands in various terminal applications.
  • Tauview - Minimalist image viewer for macOS and Linux based on Leaflet.js.
  • ToeRings - Conky Seamod inspired system monitor app.
  • Toolcat closed source - All-in-one toolkit for developers and creators.
  • TrguiNG - Remote GUI for Transmission torrent daemon.
  • Verve - Launcher for accessing and opening applications, files and documents.
  • Vibe - Transcribe audio or video in every language on every platform.
  • Wallpaper changer - Simple wallpaper changer app.
  • Zap closed source - macOS spotlight-like dock that makes navigating apps convenient.

from https://github.com/tauri-apps/awesome-tauri

 


No comments:

Post a Comment