Rust製ブラウザエンジンの「Servo」、アプリに組み込み可能なクロスプラットフォーム対応WebView化を目指す。Electron代替を目指す「Tauri」への組み込み実現へ
今回は「Rust製ブラウザエンジンの「Servo」、アプリに組み込み可能なクロスプラットフォーム対応WebView化を目指す。Electron代替を目指す「Tauri」への組み込み実現へ」についてご紹介します。
関連ワード (今年、代替、参考等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
Rust製のWebブラウザエンジンとして開発が進められている「Servo」は、Servoをアプリケーションに組み込み可能なクロスプラットフォーム対応WebVeiwとする方向で開発を進め、それをアプリケーションフレームワークのTaruiと協力してTuariがサポートする予定であることを発表しました。
TauriはElectronの代替を目指す、Web技術を用いてアプリケーションを開発するためのフレームワークです。
参考:Electron代替を目指すRust製フレームワーク「Tauri」がバージョン1.0に到達、Windows/Mac/Linuxに対応
現在のTauriは、UIのレンダリングエンジンとして、WindowsではWebView2、macOSではWebKit、Linuxではgtk-rsと、OSネイティブのWebViewを用いています。
ServoのWebView化が完成すれば、ElectronがどのOSでもChromiumを共通のレンダリングエンジンとして内蔵しているのと同じように、Tauriに対してOSに関係なく共通のレンダリングエンジンとしてServoを採用できる選択肢をもたらすことになります。
下記は、このプロジェクトを支援するNLnet Foundationのブログ「Servo Webview for Tauri」からの引用です。
This project would incorporate Servo into the Tauri project, enabling it to run applications in a consistent, open source web runtime on major desktop and mobile platforms.
このプロジェクトはServoをTauriプロジェクトに組み込み、主要なデスクトップおよびモバイル・プラットフォーム上で一貫したオープンソースのウェブ・ランタイムでアプリケーションを実行できるようにする。
開発停滞から復活したServo
Servoは2012年にMozilla Researchが新しい高速なブラウザエンジンとして、マルチコア、SIMD命令、GPUなどの最新のプロセッサ技術を活用し、HTMLのパース、レンダリング、画像処理、レイアウトといった処理を独立して並列的に実行するなどにより高速なWebブラウジングを実現するべく開発が始まったものです。
参考:Mozillaの新型高速ブラウザエンジン「Servo」、初めてのデベロッパープレビューが公開。Rust言語で開発中
Servoの技術はFirefoxのレンダリングエンジンにも一部使われているとされています(全面的に置き換わってはいないようです)。
その後、2020年にMozillaの大規模リストラのあおりを受けてServoのプロジェクトはLinux Foundation傘下へ移行しましたが、資金不足などによってしばらく開発が停滞していました。
それが変化したのが今年(2023年)の1月。外部からの資金援助があり、再びServoの開発の活発化が発表され、2月には今後のロードマップが発表されました。
そして今回、欧州のNLnet Foundationの支援を受けて、Servoをアプリケーションに埋め込み可能なWebView化の実現およびそのWebViewをTauriでサポートするという計画を発表したわけです。
Servoは一時期開発が停滞していたこともあり、最新のCSSやJavaScript仕様などに対応できていない部分があるため、まずはこれらへの対応やバイナリサイズを縮小するなどの課題を解決するところから着手するとしています。