Electronの代替を目指す軽量なRust製フレームワーク「Tauri」、リリース候補版に到達

今回は「Electronの代替を目指す軽量なRust製フレームワーク「Tauri」、リリース候補版に到達」についてご紹介します。

関連ワード (到達、登場予定、設計等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


WindowsやmacOS、Linuxなどのクロスプラットフォーム対応のデスクトップアプリ開発を容易にするフレームワークとして高い人気を持つフレームワークが「Electron」です。

ElectronはChromiumとNode.jsを用いることで、HTML/CSS/JavaScriptのWebテクノロジーによってデスクトップアプリケーションを開発できるのが最大の特徴です。

いまやElectronは、Visual Studio CodeやMicrosoft Teams、Slack、GitHub Desktop、そして最近話題のNotionなど、さまざまなアプリケーションに採用されています。

このElectronの優れた特徴を備えつつ、よりメモリ消費量が小さくファイルサイズもコンパクトで、高いセキュリティを備え、柔軟なライセンスを実現しようと開発されたのが「Tauri」です。

fig

Tauriは、時期未定ながらiOSとAndroidにも対応する計画があります。これが実現すれば、モバイルも含めたクロスプラットフォーム対応のフレームワークとなります。また、バックエンドにDenoをバインドできるようにする計画もあります。

Tauriはこれまでベータ版として開発が続けられてきましたが、開発チームは先月にリリース候補版への到達を発表しました。今年第1四半期中には正式版となる安定版が登場予定ですので、予定通りに開発が進めば、今月中にWindows、macOS、Linuxに対応した正式版がリリースされるでしょう。

Read all about the release of Tauri's 1.0.0-rc.0 https://t.co/GrGtvDiUdh

— Tauri (@TauriApps) February 10, 2022

TauriはElectronの代替を目指す軽量なフレームワーク

TauriはRust言語で開発されており、Electronと比較してファイルサイズもメモリ容量も小さい点が特徴であると開発チームが強調しています。

GitHubにはElectronとの比較表が示されています。それによるとLinux版のインストールサイズがElectronで52.1MBのところ、Tauriは10分の1以下のわずか3.1MB。同じくLinux版でのメモリ消費量はElectronが462MBのところ、Tauriは半分以下の180MBとなっています。

起動時間もElectronの0.80秒に対してTauriは0.39秒です。

これはTauriの開発チームによる比較なのでその分を割り引いて見るべきですが、それでもTauriが軽量であることは見て取れます。

Tauriがこのように軽量なのは、最初から効率よくリソースを使うように設計されてRustで実装されていることに加えて、Electronとは異なりChromiumを組み込んでいないことが大きな理由として挙げられるでしょう。

Electronはフロントエンドの基盤としてChromiumを組み込んでいますが、Tauriでは代わりにOSが備えているWebViewの機能を、抽象化レイヤのwry経由で呼び出すことで、クロスプラットフォームを実現しつつChromiumを不要にしています。

OSネイティブのWebView機能は、WindowsではWebView2、macOSではWebKit、Linuxではgtk-rsがそれに該当します。ただしすべてのプラットフォームでChromiumを使うElectronと比べると、プラットフォームごとに微妙にレンダリング結果が異なる、といったことが発生する可能性はありそうです(互換性についてはかなり改善されては来ましたが)。

フレームワーク内にChromiumを組み込まないことでセキュリティも向上すると、Tauri開発チームは説明しています。例えば、Chromiumに何らかの脆弱性が見つかった場合、Chromiumが組み込まれたフレームワークであれば、Chromiumで脆弱性が修正されたあとでフレームワークに対する修正を行い、その後にパッチを配布しなければなりません。

これは脆弱性の発見からパッチの配布までのステップ数が多く、時間がかかります。

一方、フレームワーク内にChromiumなどを組み込んでいなければフレームワーク側で対応する必要がなく、WebView側の脆弱性対応が済めばそれで終わりです。

Tauriの開発チームはこのように、自分たちがElectronの課題だと考えている部分の改善を反映させた設計と実装をTauriで実現しようとしています。

先日発表された「The State of JS 2021」では、まだTauriの人気はそれほどでもないようなのですが、正式版のリリースが近づいていることもあり、人気の高いElectronを代替し得る存在として、これから注目されるフレームワークになるのではないでしょうか。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
弁護士ドットコム、リクルートと業務提携–法務の規約管理を支援する「termhub」を共同開発へ
IT関連
2022-06-17 07:11
ネットカフェで高齢者のワクチン予約を無償サポート 自遊空間や快活CLUBなどが開始
企業・業界動向
2021-06-08 01:54
三越伊勢丹がコロナ禍でデジタルサービスをスピード開発できた理由
IT関連
2021-03-25 09:08
[速報]ChatGPTを組み込んだ「Microsoft 365 Copilot」は月額30ドルの追加料金で提供。マイクロソフトが発表。Inspire 2023
Microsoft
2023-07-19 00:25
The Station:CES 2021のトレンドとUberの新しいスピンオフ
モビリティ
2021-01-20 10:21
CTC、EX管理ツールでエンゲージメント向上–データドリブンな人事施策を実現
IT関連
2022-12-07 21:43
DX、クラウド化、働き方改革–増えるSIerの売り上げ
IT関連
2023-10-24 08:12
HPE、「GreenLake」上で提供する複数のクラウドストレージサービスを発表
IT関連
2021-05-07 03:42
LandSkipが空の8K動画映像を映し出すデジタル天窓「Window Sky」を発売
ハードウェア
2021-06-03 08:40
グーグルの「Bard」を試す–今のところ「ChatGPT」の方が優秀か
IT関連
2023-03-30 12:38
マイクロソフトのテクニカルフェロー、ドン・ボックス氏が退社
IT関連
2021-04-02 13:58
クソゲー耐性高めの漫画家、「ファイナルソード」に挑む 独特すぎるゲームに見た一筋の光とは? :サダタローのシェアさせていただきますR(1/5 ページ)
くらテク
2021-03-02 00:53
「Raspberry Pi」にタッチスクリーンを追加するには
IT関連
2023-02-14 17:54
宇宙で活躍するロボット労働力の供給を目指す日本のGITAIが18億円の資金調達を完了
ロボティクス
2021-03-03 02:02