ネットサービス

Rustで作られるレンダリングエンジン「Servo」が未来のウェブにとって重要な理由とは?


HTMLレンダリングエンジン(レンダリングエンジン)はウェブページに記述されたデータを解釈し、実際に画面に表示するためのプログラムです。プログラミング言語のRustで開発されているレンダリングエンジンの「Servo」の来歴や意義について、テクノロジージャーナリストのコービン・ダベンポート氏が解説しています。

I tried Servo, the undercover web browser engine made with Rust
https://www.spacebar.news/servo-undercover-web-browser-engine/


記事作成時点では、ウェブブラウザのコードベースにおいて、Googleが開発するChromiumが圧倒的に大きなシェアを持っています。同じくGoogleが開発するChromeだけでなく、Microsoft EdgeやVivaldi、Opera、Brave、Arcなど多くのブラウザがChromiumを採用しています。

ChromiumのレンダリングエンジンはGoogleが開発するBlinkであるため、おのずとほとんどのブラウザもBlinkを使用していることとなります。記事作成時点におけるレンダリングエンジンの選択肢はBlinkを除けば、Safariが採用するWebKitやFirefoxのGeckoくらいしかありません。

ダベンポート氏は、「これはオープンウェブにとって複数の意味で危険です。標準の実装が1つしか機能していない場合、その実装が標準となってしまいます。その結果、Googleにとってのウェブが、OracleにとってのJavaのようなものになってしまうのです。また、Chromiumの制限とセキュリティ上の欠陥がほとんどのブラウザに影響することも意味しています」と指摘しています。


そこで新たなレンダリングエンジンの選択肢として注目されているのが、Rustで開発されているServoです。Rustはメモリアクセス時のバグやセキュリティホールから保護するメモリ安全性や、処理の並行性を目指して設計されたプログラミング言語です。

Servoもメモリ安全性や処理の並行性を基盤に設計されており、これはCPUが複数のコアやスレッドに処理を分割するように設計されている現代において、ますます重要なものとなっています。レンダリングを並行処理できるようにするほど、レンダリングエンジンのパフォーマンスは向上します。また、Chromiumの開発者が「深刻なセキュリティバグの約70%はメモリ安全性の問題です」と述べているように、メモリ安全性はセキュリティ上の問題を軽減するために重要です。

さらにServoが特徴的な点としては、大手テクノロジー企業ではなく非営利の技術コンソーシアム・Linux Foundationによって管理されているという点です。

もともとServoは、Mozillaのモバイル向けレンダリングエンジンとして発表されたものでした。実際、2017年に登場したFirefox QuantumにもServoの成果を取り込んだレンダリングエンジンが搭載されていました。しかし、Mozillaは2020年にServo開発チームを含む多くの従業員を解雇したため、Linux Foundationが引き継ぐこととなりました。

Mozillaが開発するレンダリングエンジン「Servo」をLinux Foundationが引き継ぐことに - GIGAZINE


ダベンポート氏は、「解雇の影響を受けた従業員のことはもちろんながら、MozillaがFirefoxの技術的な将来を放棄したことは、今でも理解に苦しみます。5年経った今でも、Mozillaのサイドプロジェクトは依然としてうまくいっていないため、同社はさらにレイオフを繰り返しています」と述べました。

記事作成時点でServoを搭載したフル機能のウェブブラウザはありませんが、以下のWindows・macOS・Android・Linux向けのテストビルドで、開発中のServoを試してみることが可能です。

Download - Servo aims to empower developers with a lightweight, high-performance alternative for embedding web technologies in applications.
https://servo.org/download/

実際にダベンポート氏が開発中のServoを試してみたところ、ほとんどのウェブサイトにはいくつかのレンダリングバグがあり、中には完全にクラッシュするものもあるとのこと。一般的なブラウジング機能を実現するにはまだ長い道のりがありますが、それでもダベンポート氏はServoの進歩に感心したそうです。

ダベンポート氏は、「Servoは新たな命を吹き込まれ、開発は非常に活発に行われています」「FirefoxやGeckoに何が起きようと、Servoの今後が楽しみです」と述べました。

この記事のタイトルとURLをコピーする

・関連記事
音沙汰がなくなっていたRust製HTMLレンダリングエンジン「Servo」に年間1000件以上のプルリクエスト、2024年にはAndroid版リリースへ - GIGAZINE

Mozillaが開発するレンダリングエンジン「Servo」をLinux Foundationが引き継ぐことに - GIGAZINE

Googleが新レンダリングエンジン「Blink」発表、Mozillaはモバイル向けエンジン「Servo」発表 - GIGAZINE

爆速進化したブラウザ「Firefox Quantum」は何がどう変化したのか? - GIGAZINE

Firefoxを爆速化させる次世代ウェブエンジン「Project Quantum」をMozillaが発表 - GIGAZINE

BlinkでもWebKitでもない新開発ブラウザエンジン「Gosub」 - GIGAZINE

Googleから金銭を受け取らずブラウザエンジンも自前でゼロから開発するあらゆる束縛から解放された真のオープンウェブブラウザ「Ladybird」がGitHub創設者から1億6000万円超の資金を調達 - GIGAZINE

Chromiumを使ってChromeよりもさらに高速なウェブブラウザを開発するプロジェクト「Thorium」とは? - GIGAZINE

・関連コンテンツ

in ネットサービス, Posted by log1h_ik

You can read the machine translated English article Why is the Rust-based rendering engine '….