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 ステータス チャットサーバー ウェブサイト https://good-labs.github.io/greater-good-affirmation/assets/images/badge.svg 支える

現在のリリース

コア

コンポーネント 形容 バージョン 勝つ マック
タウロイ ランタイムコア
タウロイビルド ビルド時にマクロを適用する
タウロイ・コデゲン アセットを処理し、tauri.conf.json を解析します。
おうし座マクロ タウリコードゲンを使用してマクロを作成します
タウロイランタイム おうし座ライブラリとウェブビューライブラリの間のレイヤー
タウロイ-ランタイム-wry WRYを介したシステムレベルの相互作用を可能にします
タウロイユーティリティ おうし座の箱全体で使用される共通のコード

ツーリング

コンポーネント 形容 バージョン 勝つ マック
バンドラー 最終的なバイナリを製造する
アピ.js Rustバックエンドと対話するためのJS API
cli.rs アプリの作成、開発、構築
cli.js ノード.js cli.rs 用の CLI ラッパー

ユーティリティとプラグイン

コンポーネント 形容 バージョン 勝つ マック
タウロイアプリの作成 初めての Tauri アプリの使用を開始する
vue-cli-plugin-tauri タウロイ用の Vue CLI プラグイン

紹介

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

Tauriアプリのユーザーインターフェイスは現在、macOSとWindowsのウィンドウ処理ライブラリとしてtaoを活用し、タウロイチームのインキュベートおよびメンテナンスWRYを介してLinuxでgtkを活用し、macOSのWebKit、WindowsのWebView2、LinuxのWebKitGTKを活用して、システムのWebview(およびメニューやタスクバーなどの他の機能)への統一されたインターフェイスを作成します。

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

今すぐ始める

タウロイアプリの作成に興味がある場合は、ドキュメントWebサイトにアクセスしてください。この README は、コアライブラリへの貢献に関心のある方を対象としています。しかし、開発のどこにあるのかを簡単に把握したい場合は、簡単なバーンダウンを次に示します。

tauri

プラットフォーム

Tauriは現在、次のプラットフォームでの開発と配布をサポートしています。

プラットホーム バージョン
ウィンドウズ 7歳以上
マック 10.15以上
リナックス 下記参照
iOS/iPadOS (近日公開予定)
アンドロイド (近日公開予定)

リナックスのサポート

Tauriアプリの開発については、tauri.app 入門ガイドを参照してください。

Tauriアプリを実行するために、以下の構成がサポートされています(これらは.debの依存関係として自動的に追加され、AppImageにバンドルされているため、ユーザーは手動でインストールする必要はありません)。

  • Debian(Ubuntu 18.04以降または同等のもの)に次のパッケージがインストールされている場合:
    • libwebkit2gtk-4.0-37
      、、1
      libgtk-3-0
      libayatana-appindicator3-1
  • 次のパッケージがインストールされているArch:
    • webkit2gtk
      、、1
      gtk3
      libayatana-appindicator
  • 次のパッケージがインストールされているFedora(最新の2バージョン):
    • webkit2gtk3
      、、1
      gtk3
      libappindicator-gtk3

1はシステムトレイが使用されている場合にのみ必要です

appindicator

顔立ち

  • [x]デスクトップバンドラー(.app、.dmg、.deb、AppImage、.msi)
  • [x]セルフアップデーター
  • [x]アプリ署名
  • [x]ネイティブ通知(トースト)
  • [x]アプリトレイ
  • [x]コアプラグインシステム
  • [x] スコープ付きファイルシステム
  • [x]サイドカー

セキュリティ機能

  • [x]ローカルホストフリー( 🔥)
  • [X] セキュア・モードのカスタム・プロトコル
  • [x]機能ツリーシェイキングを備えた動的アヘッドオブタイムコンパイル(dAoT)
  • [x]機能アドレス空間レイアウトのランダム化
  • [x]実行時の関数名とメッセージのOTPソルティング
  • [x] CSPインジェクション

ユーティリティ

  • [x] RustベースのCLI
  • [x] すべてのプラットフォーム用のバイナリを作成するためのGHアクション
  • [x] VSコード拡張

発達

おうし座は、いくつかの可動部分で構成されるシステムです。

インフラ

  • コード管理のための Git
  • プロジェクト管理のための GitHub
  • CI と CD に対する GitHub アクション
  • 議論のための不和
  • Netlify でホストされているドキュメント Web サイト
  • デジタルオーシャン メイリサーチインスタンス

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

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

貢献

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

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

おうし座に貢献しているすべての人に感謝します!

ドキュメンテーション

多言語システムでの文書化はトリッキーな提案です。この目的のために、私たちはRustコードのインラインドキュメントを使用し、JSDocでタイプスクリプト/ javascriptコードを使用することを好みます。これらを自動収集し、Docusaurus v2を使用して公開し、netlifyします。ドキュメントサイトのホスティングリポジトリは次のとおりです。 https://github.com/tauri-apps/tauri-docs

テストとリンティング

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

  • Rust () => sourced via inline declarations
    cargo test
    #[cfg(test)]
  • Typescript () => via spec files
    jest
  • スモークテスト(最新のマージで実行)
  • エスリント、クリッピー

CI/CD

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

組織

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

センバー

tauriセマンティックバージョニング2.0に従っています。

ライセンス

コード: (c) 2015 - 2021 - コモンズ・コンサーバンシー内のタウロイ・プログラム。

MIT または MIT/Apache 2.0 (該当する場合)。

ロゴ: CC-BY-NC-ND

FOSSA ステータス