世界を動かす技術を、日本語で。

Servo v0.0.1がリリースされました

概要

  • ServoRust で書かれた プロトタイプWebブラウザエンジン
  • macOS, Linux, Windows, OpenHarmony, Android で開発・動作
  • OSS であり、誰でも貢献可能
  • ドキュメントや開発ガイドThe Servo Book や公式サイトで提供
  • セットアップ手順 は各OSごとに明確に分かれている

Servo Parallel Browser Engine プロジェクト概要

  • ServoRust言語 で開発された 並列Webブラウザエンジン プロジェクト
  • 64bit macOS, Linux, Windows, OpenHarmony, Android に対応
  • オープンソース であり、誰でもコントリビュート可能
  • 公式ドキュメントThe Servo Book に掲載
  • 最新情報やガイドservo.org で確認可能
  • 開発調整GitHub Issues、Servo Zulip、ビデオ会議 で実施

Servo 開発・ビルド環境セットアップ

  • 詳細なビルド手順The Servo Book 内の各セクション(環境構築、ビルド、Android/OpenHarmony対応ビルド)に記載

  • OSごとのセットアップ手順 は以下の通り

    • macOS

      • Xcodebrew のインストール
      • uv インストール: curl -LsSf https://astral.sh/uv/install.sh | sh
      • rustup インストール: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
      • シェル再起動で cargo 利用可能に
      • 依存関係インストール: ./mach bootstrap
      • ビルド: ./mach build
    • Linux

      • curl のインストール(ディストリビューションごとにコマンド異なる)
        • Arch: sudo pacman -S --needed curl
        • Debian/Ubuntu: sudo apt install curl
        • Fedora: sudo dnf install curl
        • Gentoo: sudo emerge net-misc/curl
      • uv インストール: curl -LsSf https://astral.sh/uv/install.sh | sh
      • rustup インストール: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
      • シェル再起動で cargo 利用可能に
      • 依存関係インストール: ./mach bootstrap
      • ビルド: ./mach build
    • Windows

      • uv、choco、rustup のダウンロード
      • Visual Studio Community のクイックインストール選択
      • Visual Studio Installer で必要コンポーネントをインストール
        • Windows 10/11 SDK (バージョン10.0.19041.0以上)
        • MSVC v143 - VS 2022 C++ x64/x86 build tools (最新)
        • C++ ATL for latest v143 build tools (x86 & x64)
      • シェル再起動で cargo 利用可能に
      • 依存関係インストール: .\mach bootstrap
      • ビルド: .\mach build
    • Android

      • 環境変数 設定
        • ANDROID_SDK_ROOT
        • ANDROID_NDK_ROOT: $ANDROID_SDK_ROOT/ndk/28.2.13676358/
      • Androidコマンドラインツール の最新バージョンをインストール
      • 必要なコンポーネントのインストール:
        sudo $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --install \
          "build-tools;34.0.0" \
          "emulator" \
          "ndk;28.2.13676358" \
          "platform-tools" \
          "platforms;android-33" \
          "system-images;android-33;google_apis;x86_64"
        
      • ビルド手順はプラットフォームごとに準拠
    • OpenHarmony

      • プラットフォームごとの手順で環境準備
      • ターゲットディストリビューション によってビルド設定が異なる
        • HarmonyOS NEXT対象: DEVECO_SDK_HOME 必須
        • OpenHarmony対象: OHOS_BASE_SDK_HOME 必須
        • OHOS_SDK_NATIVE パス指定
        • SERVO_OHOS_SIGNING_CONFIG: 有効な署名設定ファイルのパス
      • 詳細手順は Building for OpenHarmony 参照
      • ターゲット指定は --flavor=<default|harmonyos>mach <build|package|install>コマンドに付与

Servo 開発コミュニティとサポート

  • GitHub Issues での議論・バグ報告
  • Servo Zulip でのチャットコミュニケーション
  • Servo Projectリポジトリ で告知されるビデオ会議
  • コントリビュート歓迎 のオープンな開発体制

Hackerたちの意見

ブログからの情報です:https://servo.org/blog/2025/10/20/servo-0.0.1-release/

今日は、Servoチームがサポートしているすべてのプラットフォーム向けに、servoshellバイナリの新しいバージョンをリリースしました。バージョンはv0.0.1です。このバイナリは、ダウンロードページからすでに入手可能だったナイトリービルドと基本的に同じですが、追加の手動テストを行い、今後の参照のために明示的にリリースとしてタグ付けしました。 毎月、こうしたタグ付きリリースを公開する予定です。今のところ、最近のナイトリービルドを使用して、追加の手動テストを行い、問題やリグレッションを特定してからタグ付けと公開を行うシンプルなリリースプロセスを採用しています。 現在、これらのリリースをcrates.ioやプラットフォーム特有のアプリストアで公開する予定はありません。目標は、GitHubでタグ付きリリースを公開することだけです。

「今がリリースにタグ付けを始めるのにちょうどいいタイミングってことなの?特に今やる理由があるわけじゃないの?」

リリースのお知らせにはあまり情報が含まれていませんが、Servoはブログで定期的に「今月のServo」という更新を公開していて、詳細がたくさん載っています:

  • ブログ:https://servo.org/blog/
  • 最新のTMIS投稿:https://servo.org/blog/2025/09/25/this-month-in-servo/ Servoの動向に興味があれば、ぜひチェックしてみてください。

Google Readerが死んだとき、大きな部分が自分も死んだし、ウェブもそうだった。でも最近またRSSに戻ってきたんだ。これがまたいいフィードだよ:https://servo.org/blog/feed.xml

Linuxで試してみたけど、思ったよりも良く動いたよ。テキストが多いサイトはサクサク表示されるし、早い。カスタマイズが多いサイトは、表示がちょっと苦戦してたかな;いろんなところに要素が散らばってた。メモリ使用量は同じタブでFirefoxより少し高い気がしたけど、そんなに大きな差はなかった。全体的に、印象的なリリースだね。

数時間前に、ちょっとしたコメントがあったよ:https://news.ycombinator.com/item?id=45642051

「モデレーターにメールすれば、重複したディスカッションを統合してくれるよ。フッターの連絡リンクを見てみて。」

ChromeとFirefoxの二大巨頭を捨てる準備は万端だよ!

二大巨頭があるだけでもラッキーだよ。Firefoxが消えたら、ウェブ全体がChrome/Chromiumの実装によって完全に定義されちゃうからね。Servoは大歓迎だよ;スツールの三本目の足があれば、本当の多様性がまた可能になる。

Firefoxの市場シェアはすごく低いから、実際にはChromeとSafariの二大巨頭って感じだね。

「デュオポリーはChromeとSafariだね。Firefoxはほとんど影響力がないし、iOSのブラウザは全部Safariだからね。それに、Firefoxに何か問題でもあるの?」

「Firefoxは今の市場シェアの低さではデュオポリーの一部じゃないよ。Chrome + Safariって感じかな?(モバイルを除けばChrome + Edgeだけど、EdgeはもちろんChromeと同じレンダリングエンジンを使ってるしね。)」

この辺でMozillaに対する批判をよく見るけど、いくつかはもっと公平だと思う。(広告技術は悪い、プライバシーを守るかどうかに関わらずね。CEOの給料は、みんなが言うほど悪くはないけど、好きじゃない。)でも、トリリオンドルのプラットフォーム企業がウェブ標準を決めて、Firefoxがその一環だっていう考えは、今のMozilla懐疑論の時代に生まれた理解の失敗の中で、特に目を見張るものだと思う。これは大きな嘘ってわけじゃないけど、言ってる人たちは本気でそう思ってるみたいだし、情報リテラシーのテストとしては比較的にひどい結果だよね。

こういうのや、Ladybirdのエンジンみたいなものがあるのは嬉しいね。この分野での取り組みが進んでるのはいいことだ。

個人的にはServoに対してかなり楽観的だな。Mozilla発だから、ブラウザの経験や専門知識がそのアーキテクチャに活かされてると思うし、Rustもあるしね。

「成功してほしいけど、小さなチームがこの分野の大手と競えるかは疑問だな。何年も前に、SQLiteチームのダン・ケネディがTCL/TK用の素敵なHTMLウィジェットを作ったんだけど、CSS 1.0をうまくレンダリングしてて使いやすかった。でも、すぐに時代遅れになっちゃった。ダンを責めるつもりはないけど、これは一人じゃ無理だったんだよね。その間に、俺はそのウィジェットを使うアプリを作り直したんだけど、一度失敗したから、もう一度同じ目に遭いたくないんだ。」

「ここでの解決策の一部は、ブラウザを再利用可能なモジュールコンポーネントとして構築することだと思う。ブラウザの一部のパーツは何年も前からそうなってるけど、JSエンジン(V8、SpiderMonkeyなど)は再利用可能だし、レンダリングバックエンド(WebRender、Skiaなど)やFreetype/Harfbuzz/icuのような低レベルコンポーネントも同様だ。ServoのCSSエンジンStyloもモジュール式で、Firefoxと共有されているから、プロジェクトが数年間ほぼ放置されていたにもかかわらず、ウェブ標準のサポートで完全に遅れを取らずに済んでいるんだ。俺はBlitzという別のブラウザエンジンを作っていて、Styloも使ってる。レイアウトやテキストエンジンを再利用できるように構築しているから、将来のブラウザエンジン(少なくともRustで書かれたもの)は、スタイルやレイアウトを自分で作らなくても済むはず。こういったインフラのピースがもう少しあれば、ブラウザエンジンの開発がもっと身近に感じられるようになるよ。」

「いくつかの小さなチームが関わってるよ。Servoはモジュール式で、その一部はServoの外でも役立つ。別のプロジェクトがそのモジュールを使ったり、メンテナンスしたり、強化したりしてる。例えば、確かdioxusは多くのモジュールを使ってるはず。追記:実際のDioxusの人のコメントを見てみて、そっちの方が正確だよ!」

「MMMがこのウィジェットを基にしてたような気がする。参考までに、MMMは1995年頃にブラウザのアドオンとサンドボックスアプレットの両方をサポートしていたブラウザだった。」

ここまで進化したのには本当に驚いてる。実験モードでいくつかのウェブサイトを試してみたけど、かなりうまく表示されるよ。

キオスクモードに対応してるの?それとも、1ページに固定してフルスクリーンで動かす設定ができるのかな?

servoshellがダメでも、Tauriがあるよ。Tauriプロジェクトは、OS提供のWebViewの代わりにServoとコラボすることにオープンみたいだし。

Servoチーム、おめでとう!長い道のりだったけど、ここまで続けてきたのはすごいよね。