---
title: Tauri の理念
i18nReady: true
---

Tauri は、既存の実質的にどのフロントエンド・フレームワークを使用してでも、開発者が主要なデスクトップ・プラットフォーム向けのアプリケーションを作成するのに役立つツールキットです。「コア」部は Rust で書かれ、CLI 部は Node.js を活用しているため、Tauri は優れたアプリの作成と保守を行なうための真に多言語的なアプローチ手法になっています。

<iframe
    style="width: 100%; aspect-ratio: 16/9;"
    src="https://www.youtube-nocookie.com/embed/UxTJeEbZX-0?si=mwQUzXb6mmCg7aom"
    title="YouTube video player"
    frameborder="0"
    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
    allowfullscreen
></iframe>

## 安心第一（セキュリティ・ファースト）

今日の世界では、すべての「素朴な脅威モデル」は、ユーザーのデバイスがすでにセキュリティ侵害を受けていると想定しています。そのため、アプリ開発者は厄介な状況に陥ります。なぜなら、デバイスがすでに危険にさらされている場合、どうすればソフトウェアは信頼できるのでしょうか。

> > > 《訳注》 **素朴な脅威モデル**　原文は「**honest** threat model」。honest 部分の定訳が不明であるため「素朴な、飾りのない」の意と解釈しています。なお、下記の「[本物のオープンソース](#本物のオープンソース)の原文も「**honest** open source」であるが、この honest は「本物の、純正の」の意としてあります。

「多重防御 Defence in depth」が Tauri の採ったアプローチです。攻撃者に曝される表層部分を最小限に抑えるために、あなたがあらゆる予防策を講じられるようにしたいと考えました。Tauri を使用すれば、配布する API エンドポイントを選択したり、アプリにローカルホスト・サーバーを組み込むかどうかを選択したり、実行時の機能ハンドルをランダム化したりすることができます。こうした技術やその他の技術により、あなたやあなたのアプリ・ユーザーの防御力を強化する安全なベースラインが形成されます。

「静的攻撃 Static attacks」を極めて困難にし、システムを互いに分離することで攻撃者の侵攻を遅らせることが、最も重要です。もしも、別のフレームワークである Electron エコシステムから移行してきた場合でも、ご安心ください、デフォルトでは Tauri はバイナリのみを公開し、 ASAR ファイルは公開しません。

> > > 《訳注》 **ASAR**　Atom Shell Archive Formatの略。[Electron](https://www.electronjs.org/ja/docs/latest/tutorial/asar-archives) で用いられている、複数のファイルを1つにまとめるためのシンプルなアーカイブ形式。アプリケーションの頒布形式を作成した後、アプリのソースコードが ASAR アーカイブにバンドルされます。

セキュリティという判断基準から Tauri でビルドすることを選択することにより、先を見通したセキュリティ重視の姿勢を取るさまざまな機会があなたに訪れるでしょう。

## 多言語対応（サイロ化ではなく）

現代のフレームワークのほとんどは単一の言語体系を使用しており、それゆえ、狭い知識と慣用句の泡の中に閉じ込められています。これは特定のニッチなアプリケーションではうまく機能しますが、ある種の部族主義（サイロ化）も助長します。

この状況は、React、Angular、Vue の各々の開発コミュニティがそれぞれの問題に身を寄せ合い、最終的には異種交配がほとんど生まれていないということからもわかります。

同じ状況は、Rust 対 Node 対 C++ の戦場でも見られます。そこでは、強硬派が独自の立場を取り、コミュニティ間での連携を拒否しています。

現在、Tauri はバックエンドに Rust を使用していますが、そう遠くない将来、Go、Nim、Python、C# などの他のバックエンドも可能になるでしょう。なぜならば、Tauri は [webview](https://github.com/webview) 機関への公式 Rust バインディングを保守していますが、皆様の必要に応じてバックエンドを切り替えられるようにする予定だからです。Tauri の API は「C 相互運用性」を備えた任意の言語で実装できるため、完全な多言語化への実現には、あとは「PR（プル・リクエスト）」をひとつ出すだけです。

## 本物のオープンソース

コミュニティがなければ、オープンソースのどれも意味をなさないでしょう。今日のソフトウェア・コミュニティは、驚くべき場所です。そこでは、人々が互いに助け合い、素晴らしいものを作ります。オープンソースはそうした動きの非常に大きな部分を担っています。

オープンソースの意味は人によって異なりますが、ほとんどの人はオープンソースが自由を後押しするのに役立っていることに同意するでしょう。ソフトウェアがあなたの権利を尊重しない場合、倫理に反する動作により、それは不公平に思え、潜在的にはあなたの自由を侵害している可能性があります。

このため、FLOSS 支持者が「正真正銘の」オープンソースである Tauri を使用したアプリケーションを作成し、FSF（フリーソフトウェア財団）が承認した GNU/Linux ディストリビューションに含められることを私たちは誇りに思っています。

> > > 《訳注》 **FLOSS**（free/libre open-source software）　オープンソースの自由ソフトウェア。

## Tauri の将来

Tauri の将来は、皆さんの関与と貢献にかかっています。実際に Tauri を試したり、問題を報告したり、ワーキング・グループ（各作業部会）に参加したり、寄付をしてみてください。どのような貢献も不可欠です。とにかく、ぜひ、まずはご連絡ください。

<div style="text-align: right;">
  【※ この日本語版は、「Nov 12, 2024 英語版」に基づいています】
</div>
