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

「Servo」がcrates.ioで利用可能になりました

概要

  • Servoチームservo crate v0.1.0 を初めて crates.io でリリース
  • Servoライブラリ として利用可能に
  • servoshell の公開予定は現時点でなし
  • LTSバージョン も同時に提供開始
  • 詳細は Servo book の該当セクションを参照

Servo v0.1.0 crates.io 初リリース

  • Servoチームservo crate v0.1.02026年4月13日 にリリース
  • crates.io で初の公開、 Servoライブラリ として他プロジェクトで利用可能
  • servoshell (デモブラウザ)の crates.io公開予定なし
  • 2025年10月 のGitHub初リリース以降、 5回のリリース を経てリリースプロセスが成熟
  • 最大のボトルネック手書きの月次ブログ投稿
  • 今回はリリースを優先し、 月次ブログは後日公開予定

バージョン番号と今後の展望

  • v0.1.01.0ではない
  • 1.0の定義 については 議論中
  • バージョンアップ埋め込みAPI への自信と一部ユーザー需要の反映
  • 今後も安定性や機能強化を継続

LTSバージョンの提供

  • 通常リリース では 破壊的変更 が予想されるため、 LTS(長期サポート)版 を新設
  • LTS版半年ごとのメジャーアップグレードセキュリティアップデート を提供
  • 移行ガイド の提供も目指す方針
  • LTSの詳細Servo book 内の該当セクションを参照

まとめ

  • Servo crate初リリースLTS提供開始
  • servoshellcrates.io公開予定なし
  • 今後の安定性向上ユーザーサポート拡充 を重視

Hackerたちの意見

いくつかのメモ:

  • docs.rsのドキュメントはまだビルド中だけど、最近のRCからのドキュメントは見れるよ。[0]
  • Slintプロジェクトには、SlintにServoを埋め込む例があるんだ。[1] これは埋め込みAPIの使い方の良い例で、wgpuを使って描画する他のGUIフレームワークにも比較的簡単に適応できるはず。
  • Stylo [2] と WebRender [3] も crates.io に公開されていて、スタンドアロンでも役立つよ(実際、Styloは約1年間毎月リリースされてるけど、あんまり宣伝してなかった)。
  • 毎月のリリースが予定されてるよ。[0]: https://docs.rs/servo/0.1.0-rc2/servo [1]: https://github.com/slint-ui/slint/tree/master/examples/servo [2]: https://docs.rs/stylo [3]: https://docs.rs/webrender

脱線するけど、Slintはめっちゃクールなプロジェクトだよ。コードからウィジェットを動的に挿入できないのが、俺の使い方にはちょっとマイナスだったかな。

Servoは、WebKitやBlinkのようなエンジンの代わりに使えるほど生産準備が整ってるの?それとも一緒に埋め込むのは無理?

使い方によるね。JSが多いサイトには使わない方がいいと思う。でも、シンプルな静的コンテンツなら、たぶん十分だよ。ライブラリとして統合する前に、スタンドアロンアプリとして試してみる価値はある。

実装されたRFCの一覧ってある?http://caniuse.comみたいに、どのHTML/JS/CSSの標準や機能が実装されてるか見れるやつ。もしあるなら、見つけられないんだけど。最も近いのは「実験的機能」のページだけど、ちょっと詳細が足りないかな。

一番近いのは、ウェブプラットフォームテストかな。https://servo.org/wpt/

彼らのブログには、変更点についての月次投稿があるよ。https://servo.org/blog/

https://doc.servo.org/apis.html は、Servoに存在するWebUDLインターフェースから自動生成されてる。あまり良くはないけど、何もないよりはマシだね。

あ、これのために https://arewebrowseryet.com/ があるのを忘れてた!

バージョン番号からもわかるように、このリリースは1.0のリリースじゃないんだ。実際、Servo Waitの1.0が何を意味するのか、まだ話し合いが終わってないし。クレートのバージョンが1.0まで上がるの? 編集:ごめん、クレートの安定性についての話は面白いかもしれないけど、ここでは適切じゃないね。でもこのコメントは削除できないから、ダウンボートしてくれると助かる。モデレーターは気軽に削除したり、評価を下げたりしてね。

Rustのバージョニングの根本的な問題は、0.3.5が0.3.6とは互換性があるけど、0.4.0や1.0.0とは互換性がないことだね。メジャーバージョンが0のとき、マイナーバージョンがメジャーの役割を果たして、パッチがマイナーの役割を果たす。だから、パッケージは0.xバージョンを繰り返し、最終的に「安定した」バージョンに到達するんだ。もしバージョン0.7が正しいAPIに達して、後方互換性のない変更が必要なかったら、1.0をリリースするのはユーザーにとってメジャーバージョンの変更と同じくらい混乱を招くことになるし、バージョンセマンティクスを通じてそれが破壊的な変更だと伝えることになる。Semverは、バージョン0.xは初期開発用で、安定性の保証がまったくないことを宣言してる。これはバージョニングシステムにとって正しいセマンティクスだけど、Cargoはこの部分を守ってないんだ。0.xサイクル全体で安定性の保証を提供すると、プロジェクトが0.xに閉じ込められることになる。これがCargoに対する俺の最大の不満の一つだ。でもRustの人たちはこれを普遍的に問題視してないみたいだから、修正されることはないと思う。

Microslopを引き寄せて、彼らの「素晴らしい」アプリを全部Servoに移行させたいなら、簡単だよ。デフォルトで5GBのRAMを使うようにバloatコードを追加すれば、MSがすぐに採用するよ。

ねえ、たくさんのRustライブラリが0ベースのバージョニングを採用してるよ。そのリンクの方が僕よりも上手く説明できると思う。

Servoが準備できたら、Qutebrowserに入れ替える予定なんだ。最近、Qutebrowserにどんどん惹かれてきてるし。

このクレートは何に使えるの?

これを使ってウェブページの画像をレンダリングする「servo-shot」CLIツールがあるよ: https://github.com/simonw/research/tree/main/servo-crate-exp... git clone https://github.com/simonw/research cd research/servo-crate-exploration/servo-shot cargo build ./target/debug/servo-shot https://news.ycombinator.com/ これが生成した画像だよ: https://gist.github.com/simonw/c2cb4fcb15b0837bbc4540c3d398c...

これめっちゃ役立つ!すぐに使いたいと思ってる。Servoが100% Rustで、外部システムの依存関係がないか知ってる?(つまり、rustlsだけで大丈夫?)これってJavascriptもできるの?(編集:SPAやJavascript専用のUXをレンダリングできるといいな。)編集2:WebGLもできるの?ThreeJSスタイルのアプリや3Dレンダリングに同じ理由で必要なんだ。(特にこれが俺の使い方にぴったりなんだよね。)

それはかなりクールだね。クッキーみたいなものを扱うには調整が必要かな?それともクッキージャーへのポインタだけでいいのかな?Servoにはあまり詳しくないんだ。

AIのコーディングスキルの本当のベンチマークはこれだと思う。みんなが必要だって認めてるけど、開発に資金を出せない安全でモダンなインフラやツールがどれだけ早く整うか。AnthropicがMythosのマーケティングをしたいなら、公開せずに「servo contrib log」みたいなものを見せてほしい。彼らの基本的なインフラの安全目標とも合ってるし、x%の増加よりもずっと信頼できるよ。ServoやRustのコアコントリビューターを雇って、無制限のモデルアクセスを与えたら、各リリースでどれだけ進むか見てみよう。

バイブコードされた重要なインフラは必要ないよね。

同意。社会が本当に必要としているソフトウェアは他に何がある?

「servo contrib log」みたいなものを見せてほしい Servoはこの実験にはあまり向いてないかも。厳格にAIの貢献を許可してないポリシーがあるからね。

いいね、これからそのクレート使うわ。そっちの方が便利だし。

これがHacker Newsのトップ投稿だから、ウェブサイトの説明がちょっと難しいんだけど、Servoで何ができるの?「ウェブ技術」って、デスクトップアプリの中にウェブブラウザを入れるって意味?

それは、レディバードに対する代替ブラウザエンジンだよ。