tauri - Webフロントエンドを使用して、より小さく、より速く、より安全なデスクトップアプリケーションを構築します。

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

Created at: 2019-07-13 17:09:37
Language: Rust
License: MIT

タウロイ

状態 ライセンス テストライブラリ FOSSAステータス

チャットサーバー devto devto https://good-labs.github.io/greater-good-affirmation/assets/images/badge.svg サポート

現在のリリース

成分 説明 バージョン リン 勝つ マック
cli.rs アプリの作成、開発、構築
cli.js cli.rs用のNode.jsCLIラッパー
api.js Rustバックエンドと対話するためのJSAPI
create-tauri-app 最初のタウロイアプリを使い始めましょう
vue-cli-plugin-tauri タウロイ用のVueCLIプラグイン
ランタイムコア
バンドラー 最終的なバイナリを製造する

序章

Tauriは、すべての主要なデスクトッププラットフォーム向けに、非常に高速な小さなバイナリを構築するためのフレームワークです。開発者は、HTML、JS、CSSにコンパイルされるフロントエンドフレームワークを統合して、ユーザーインターフェイスを構築できます。アプリケーションのバックエンドは、フロントエンドが対話できるAPIを備えた錆びたソースのバイナリです。

Tauriアプリのユーザーインターフェースは現在

tao
、macOSとWindows、およびLinuxではTauriチーム
gtk
を介してウィンドウ処理ライブラリとして活用されています。WRYは、システムWebビュー(およびメニューやタスクバーなどの他の機能)への統合インターフェースを作成します。 macOSではWebKit、WindowsではWebView2、LinuxではWebKitGTKを活用します。

これらすべての要素がどのように組み合わされるかの詳細については、このARCHITECTURE.mdドキュメントを参照してください。

はじめに

タウロイアプリの作成に興味がある場合は、ドキュメントのWebサイトにアクセスしてください。このREADMEは、コアライブラリへの貢献に関心のある方を対象としています。

tauri
しかし、開発のどこにあるのかについての簡単な概要が必要な場合は、次の簡単な説明があります。

プラットフォーム

  • [x] Windows 7,8,10
  • [x] Linux
  • [x] macOS
  • [] iOS(進行中)
  • [] android(まもなく)

アプリバンドル

  • [x]アプリアイコン
  • [x] macOSでビルド(.app、.dmg)
  • [x] Linuxでビルド(.deb、AppImage)
  • [x] Windowsでビルド(.exe、.msi)
  • [x]コピーバッファ
  • [x]デバイス通知(トースト)
  • [x]セルフアップデータ
  • [x]アプリの署名
  • [x]フレームレスモード
  • [x]透過モード
  • [x]マルチウィンドウモード
  • [x]トレイ
  • []ディープリンクRPC(進行中)
  • []ワンタイムコマンド(近日公開)

セキュリティ機能

  • [x] localhost-free(🔥)。
  • [x]セキュアモードのカスタムプロトコル
  • [x]機能的なツリーシェーキングを備えた動的事前コンパイル(dAoT)
  • [x]機能的なアドレス空間配置のランダム化
  • [x]実行時の関数名とメッセージのOTPソルティング
  • [x]CSPインジェクション

ユーティリティ

  • [x]すべてのプラットフォーム用のバイナリを作成するためのGHアクション
  • [x]VSコード拡張
  • [x]Tauriコアプラグイン
  • [x]コマンドラインからコアの依存関係を自動的に更新します
  • [x]RustベースのCLI

タウロイとエレクトロンの比較

詳細 タウロイ 電子
インストーラーサイズLinux 3.1 MB 52.1 MB
メモリー消費Linux 180 MB 462 MB
起動時間Linux 0.39秒 0.80秒
インターフェイスサービスプロバイダー WRY クロム
バックエンドバインディング さび Node.js(ECMAScript)
基になるエンジン さび V8(C / C ++)
フロス はい いいえ
マルチスレッド はい はい
バイトコード配信 はい いいえ
複数のウィンドウ はい はい
オートアップデータ はい はい1
カスタムアプリアイコン はい はい
Windowsバイナリ はい はい
macOSバイナリ はい はい
Linuxバイナリ はい はい
iOSバイナリ 後で いいえ
Androidバイナリ 後で いいえ
デスクトップトレイ はい はい
サイドカーバイナリ はい いいえ

ノート

  1. ElectronにはLinux上にネイティブの自動アップデーターはありませんが、electron-packagerによって提供されます

発達

タウロイは、いくつかの可動部品で構成されるシステムです。

インフラストラクチャー

  • コード管理のためのGit
  • プロジェクト管理用のGitHub
  • CIおよびCDのGitHubアクション
  • 議論のための不和
  • NetlifyがホストするドキュメントのWebサイト
  • DigitalOceanMeilisearchインスタンス

主要なランタイム

  • CLIを実行するためのNode.js(denoとpure rustはロードマップにあります)
  • テスト、開発サービスの実行、バイナリの構築、およびWebビューのランタイムハーネスとしての貨物

主要言語

  • CLIの錆
  • タイプスクリプトで記述されたRustAPIへのECMAScriptバインディング
  • バインディングの錆、APIの錆の側面、ハーネス
  • TauriバックエンドへのRustプラグイン

オペレーティングシステム

TauriコアはMac、Linux、およびWindowsで開発できますが、OS用の最新のオペレーティングシステムとビルドツールを使用することをお勧めします。

貢献

何かに取り掛かる前に、まず既存の問題があるかどうかを確認することをお勧めします。また、Discordサーバーに立ち寄って、それが理にかなっているかどうか、または他の誰かがすでに作業しているかどうかをチームに確認することもお勧めします。

プルリクエストを行う前に、必ず寄稿ガイドをお読みください。

タウロイに貢献してくださった皆様、ありがとうございました!

ドキュメンテーション

ポリグロットシステムでのドキュメント化は難しい提案です。この目的のために、RustコードのインラインドキュメントとJSDocのtypescript/javascriptコードを使用することをお勧めします。これらを自動収集し、Docusaurusv2とnetlifyを使用して公開します。ドキュメントサイトのホスティングリポジトリは次のとおりです:https ://github.com/tauri-apps/tauri-docs

テストとリンティング

すべてをテストしてください!多数のテストスイートがありますが、常にカバレッジの改善を目指しています。

  • Rust(
    cargo test
    )=>インライン
    #[cfg(test)]
    宣言を介して供給
  • TS(
    jest
    )=>スペックファイル経由
  • スモークテスト(最新のものへのマージで実行)
  • eslint、clippy

CI / CD

パイプラインの実行方法をよりよく理解するために、この記事を読むことをお勧めします:https ://www.jacobbolda.com/setting-up-ci-and-cd-for-tauri/

組織

タウロイは、持続可能なフリーでオープンなソフトウェアコミュニティを導く原則に基づいた持続可能な集団になることを目指しています。この目的のために、それはCommons Conservancy内のプログラムになり、 OpenCollectiveを介して財政的に貢献することができます。

Semver

tauriSemanticVersioning2.0に準拠しています。

ライセンス

コード:(c)2015-2021-コモンズ保護区内のタウロイプログラム。

該当する場合は、MITまたはMIT /Apache2.0。

ロゴ:CC-BY-NC-ND

FOSSAステータス