ニュース

iOS/Androidに対応した「Tauri 2.0」が公開 ~「Rust」が使えるアプリフレームワーク

「Swift」「Kotlin」など、モバイルOSネイティブ言語にも対応

iOS/Androidに対応した「Tauri 2.0」が公開

 クロスプラットフォーム対応のアプリフレームワーク「Tauri」が10月2日、v2.0へとアップデートされた。2022年6月にv1.0がリリースされて以来のメジャーバージョンアップとなる。

 「Tauri」は、いわばバックエンドに「Rust」言語が使える「Electron」。幅広いプラットフォームをカバーする「Chromium」をフロントエンドに、豊富なWeb標準技術(HTML/JavaScript/CSS)ベースのUIスタックが活用しつつ、メモリ安全で高速なコードが書けると近年人気の「Rust」言語でバックエンドを構築できるのが魅力といえる。

 開発者からの人気も上々で、すでに「Tauri」で構築されたアプリも少なくない。「Tauri」関連のプロジェクト、アプリケーション、プラグインなどに興味があるなら、「awesome-tauri」をチェックしてみるとよいだろう。

順調な成長を見せるエコシステム

 「Tauri 2.0」には、以下の新機能と改善が含まれる。

  • アプリの新規開発を簡易にするひな形ツール「create-tauri-app」(CTA)
  • リビルド不要でアプリの見栄えを手軽にチェックできる「Hot-Module Replacement」(HMR)をモバイルデバイスとエミュレーターに拡張
  • プラグインシステムの改善
  • モバイルサポート。デスクトップだけでなく、iOS/Android向けのアプリも「Tauri」で
  • モバイルOSのネイティブ言語(Swift/Kotlin)で「Rust」コードのインターフェースを構築する仕組み
  • アプリとプラグインの両方で使える独自のアクセス制御とスコーピングを実装
  • 外部からの監査を受け入れ、セキュリティを改善・強化
  • IPC(プロセス間通信)レイヤーの書き直しにより、フロントエンドとバックエンドのやり取りが高速に

 「Tauri 1.0」はデスクトップ(Windows、macOS、Linux)をターゲットとするアプリフレームワークだったが、「Tauri 2.0」ではモバイル(iOS、Android)までカバー。バックエンドロジックも「Rust」だけでなく、iOS/Androidネイティブの「Swift」「Kotlin」で記述できるようになった。すでに「Tauri」は広範なJavaScript APIを備えており、「Rust」の知識がなくても扱える。

 一方のフロントエンドは、それぞれのOSに備わっている「WebView」を活用する仕組みだ。将来的にはLinux環境で「WebKit2GTK」の代わりに「Chromium Embedded Framework」(CEF)を利用することを視野に入れているだけでなく、「Rust」で記述されたブラウザーエンジン「Servo」を「Tauri」のWebレンダリングライブラリ「WRY」に使う取り組みも進んでおり、もはや「Electron」の枠にとどまらない広がりを見せている。

「Tauri」のアーキテクチャー。フロントエンド(システムの「WebView」)とアプリケーションロジック「Tauri Core」がIPC通信する仕組みになっている

 一方で、一部の機能は変更・廃止されている。「Tauri 2.0」へ移行する際は、公式のガイドを参照すべきだろう。