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
入社式、対面そろり復活も……研修はオンラインが一般的に
IT関連
2021-03-31 09:55
OPSWAT、製造業など3領域のインフラ保護に注力–国内事業戦略を発表
IT関連
2024-07-06 07:56
数学オリンピックで日本代表全員がメダル 開成高の神尾悠陽さんが金、日本勢2年ぶり
科学・テクノロジー
2021-07-27 13:10
WebAssemblyがSIMDをサポート、「WebAssemlby SIMD」がChromeやFirefoxで標準実装。画像処理や物理演算など高速実行
WebAssembly
2021-04-21 18:53
クラウドベースの“汎用原子シミュレーター” PFNの深層学習モデルで数万倍の高速計算
クラウドユーザー
2021-07-09 00:04
ヴイエムウェア、約2年ぶりにvSphereとvSANとメジャーリリース–Tanzuも進化
IT関連
2022-09-06 06:25
衛星通信サービスのViasat、ウクライナ侵攻の日に受けたサイバー攻撃の詳細を報告
IT関連
2022-04-02 03:44
農林中金、全社的な汎用ワークフローのプラットフォームに「ServiceNow」を活用
IT関連
2023-12-12 03:59
オラクル、日本で今後10年間に1.2兆円以上の投資計画を発表–OCIなどに
IT関連
2024-04-19 16:59
PythonやR対応の統合開発環境「JupyterLab 4.0」正式リリース。 より効率的なレンダリング、リアルタイムコラボレーション機能が分離など
Python
2023-06-15 04:27
「ChatGPT」の利用を開始するには–話題のAIチャットボットの使い方と注意点
IT関連
2023-01-29 04:39
Chrome開発チームがSQLiteチームとWebAssembly版SQLiteを開発中。Webブラウザ上からのファイル書き込みで永続化も可能。Web SQL APIの代替として
Chrome
2022-09-05 10:37
SNS活用などデジタルマーケ特化の転職エージェントサービス サイバーバズが提供
キャリア・しごと
2021-06-22 03:47
Apple決算、全ジャンル2桁増収で売上高が初の1000億ドル超え
企業・業界動向
2021-01-29 12:49