ニュース
iOS/Androidに対応した「Tauri 2.0」が公開 ~「Rust」が使えるアプリフレームワーク
「Swift」「Kotlin」など、モバイルOSネイティブ言語にも対応
2024年10月3日 12:50
クロスプラットフォーム対応のアプリフレームワーク「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 2.0」へ移行する際は、公式のガイドを参照すべきだろう。