速報!新ブラウザ「Ladybird」がAppleのWeb標準テストで90%突破!脅威の達成率か?
引用元:https://news.ycombinator.com/item?id=45493358
web-platform-testsに関わってた者だけど、テスト合格率を指標にするのはおすすめしないな。Ladybirdの進歩は impressive で、テストが開発に役立つなら win だよ。でもweb-platform-testsはエンジニアリングツールとして最適化されてて、良い指標にはなってないんだ。テストスイートはバランスが取れてなくて、エンコーディングテストが簡単に作れるからって多くを占めてたりするし。Interop Projectは別の指標だけど、それは既に実用的なウェブブラウザエンジン向けだよ。
ツイートには、これがAppleから押し付けられた恣意的な指標だって書いてあるから、きっと君の意見に反対しないんじゃないかな。月間アップデートの時も、エンコーディングテストを含まない合格数を表示してるよ、だってそれが結果を大きく歪めるからね。
問題は、他に良い指標がないってことだよ。昔はCSSのAcid testsがあったけど、それがない今、これはどんな指標と同じくらい良いんじゃない?
今風のACID-styleテストも良いアイデアかもね。
Acid testsって、もう使えないの?
Acid 2はデスクトップ/ノートPCで100%スケーリングの前提で pixel 精度に依存してた。2005年頃は普通だったけど、high-dpi スクリーンが増えて時代遅れに。スマホだと Acid 2は fail するよ。Acid 3は先進的すぎで rigid だった。Acid 2はIE6の改善に役立ったけど、結局 Acid testsみたいな「選りすぐりのテスト」は、標準準拠ブラウザの推進には限定的な効果しかなかったんだ。
平均的なユーザーがブラウザに求める機能を、もう反映してないんだ。Acid testsをパスしても、今や広く普及してるいくつかの重要な機能をサポートしてない可能性があるよ。
Acid testsは存在するけど、ブラウザの能力を測る良いテストじゃないんだ。例えば、FirefoxはAcid2もAcid3もパスしないよ。
Ladybirdは、どんな恣意的な指標を押し付けられても、他のどれよりも速くなるだろうね。
この指標を作るのに、都合のいいテストだけ選んでない?
君の言うことはすごく納得できるけど、wpt.fyiのメインページにある”Browser-Specific Failures”のグラフは、誤解を招くようにしてるんじゃない?
P.S.君の仕事の大ファンで感謝してるよ。Interopページは週一でチェックしてるんだ!
まともな思考力がある人間として言わせてもらうと、テストの合格率を指標として使うべきだと思うんだ。
なんでこんなこと持ち出すの?ここでは指標として採用されてないのに、AppleがiOSで要求してるからだろ?
この見出しは誤読したり誤解したりしやすいからね。彼らのコメントは全然場違いだとは思わないな。
最初のコメントは、Ladybirdチームがこのテストスイートを指標に使ってないことを説教してるみたいで、それは全く筋違いだよ。俺が言いたいのはそれ。
”説教”っていうのはちょっと大げさすぎるよ。彼らのコメントはそんな風には読めないし、単に指標そのものが思ってるようなものじゃないって指摘してるだけだろ。
>だけどAppleがiOSで要求するから
だからこれはAppleが使ってる指標なんだよ。
悪意のあるコンプライアンスの精神からすると、それが悪い指標であることは、彼らにとってはむしろ”特徴”になるだろうね。
EU DMAでSafariと同じJITへのアクセスを許可しろって言われたけど、Appleがサードパーティ製ブラウザエンジンにセキュリティ上の合理的要件を課すのは「Malicious compliance(悪意ある遵守)」なのか?
危険なrwxメモリへのアクセスを許す前に、使えるブラウザエンジンだと証明させるのは当然だろ。法律はどんなアプリでもJITへのアクセスを認めるんじゃなくて、Safariと競争できるブラウザアプリだけだよって言ってるんだ。
そうだけど、それはレンダリング性能とかを要求するんじゃなくて、セキュリティ問題がないことを求めるってことだろ。
最低限の性能とか機能を要求するのは正当化できないよ。セキュリティバグがないことを要求するのは正当化できるけど、それはAppleがシステム全体に同じ基準を課してる場合の話だよね。
他に指標なんて文字通りないってば。
Web Platform Testsは、ブラウザが色々なWeb APIの互換性を持てるようにするためのプロジェクトなんだ。OperaとW3Cが始めて、W3Cが維持してるんだよ。
https://www.bocoup.com/blog/wpt-an-overview-and-history
ならAppleに直接言えって。この基準を設けたのはAppleなんだから。
Ladybirdブラウザが使えるようになるのがマジで素晴らしいことだと思うよ。もっと何年もかかると思ってたから、これは本当にすごい進歩だね。
俺は試してないけど、月ごとのサマリー動画をいくつか見たよ。テストに合格することと、日常使いに十分な速さがあることは全然違うんだ。今のところLadybirdはそんなに速そうじゃないね。
それでも、チーム全体の開発成果は本当に驚くべきものだよ。
同じこと言おうと思ってたよ。
なんでテストと使いやすさがこんなにかけ離れてるんだろう?テストはユニットテストに近いけど、ページの閲覧は実質E2Eテストみたいなもんだろ。パイプラインのどこかで問題が起きると(特にJSが複雑な今は)、結果はほぼ無意味になるよね。
テストと使いやすさの間に直線的な関係はないんだ。色々な文字エンコードのテストはたくさんあるけど、実際のウェブページを見る時はそのうちの一つしか使わないだろ?
だから、テスト合格率が90%でも使いにくいってことは、残りの10%のテストがLadybirdがまだ対応していない、すごく目立つ使いやすさの機能に関わってるってことだよ。
たとえテストに100%合格したとしても、実用的には遅すぎる可能性もあるんだ。これらのテストでは速度は測られてなくて、互換性だけが対象なんだからね。
Web Platform Testsは、インテグレーションテストやスモークテストよりもユニットテストに近いんだよ。何万行もの仕様書や何千ものWeb APIがあるから、それらのテストを正しく書いてチェックするのは本当に難しいんだ。
3年前はLadybirdにすごく懐疑的だったんだ。でも2つの変化があったよ。まず、予想外に8人のフルタイムエンジニアの資金が確保できたこと。次に、もう3年が経ったこと。これらを踏まえると、今はもっと楽観的だよ。もちろん、Chromeと競うにはまだ長い道のりがあるけどね。既存のエンジンをフォークするのと比べて、この価値提案を理解できたとはまだ言えないな。
価値提案は、ベンダーロックインをなくし、WebKitやBlinkが事実上の標準になるのを防ぐことだよ。例えば、Ladybirdチームは色々な仕様で問題を見つけて指摘しているしね。もう一つの例はアドブロッカー。もしBlinkしか選択肢がないと、アドブロッカーの機能を難しくさせられる可能性があるけど、他のエンジンがあれば違う選択肢が生まれるんだ。
もっとコメントを表示(1)
>ベンダーロックインがない
オープンソースエンジンをフォークすれば、定義上ベンダーロックインはないでしょ。最悪のケースは、元のメンテナーが明日から悪くなっても、自分でやるしかないってことで、それはゼロから始めるのと変わらないよ。むしろ、ブラウザの場合、数千万行もの気の遠くなるような仕様実装を自分でやる手間が省けるだけマシなんだ。
この分野の専門家じゃないけど、同意できないな。ブラウザ独占の問題は、独占企業が仕様に従う必要がなく、好きなようにやって、仕様の方を自分たちに合わせられることなんだ。もしその独占企業のエンジンをフォークしても、市場には即座に変化は生まれないよ。彼らの既存の挙動を全部取り入れるし(仕様に合ってるかどうかにかかわらず)、今後も彼らの変更を多く取り込むだろうね。全く新しい実装ははるかに難しいけど、それが成功すれば独占を防ぐ上ではずっと意味があるんだ。
問題はメンテナンスや開発の負担なんだ。例えば、Manifest V2が廃止されてManifest V3になった時、EdgeみたいなダウンストリームプロジェクトはV2サポートを維持できるけど、プロジェクトが進んでコードが分岐すると難しくなる。それはより多くのコードを維持することになったり(インターフェースやユーティリティクラスが変わったり削除されたりした場合)、ロジックが変わればサポートを書き直したりすることもある。Firefox XULやGTK+ 2か3を生き長らえさせようとしているプロジェクトみたいに、外部依存の更新だけでなく、その潮流に積極的に逆らって戦うことになるんだ。それはすごく大変で、依存関係を更新するたびにより多くの作業が必要になる。だから実質的にベンダーロックインだよ。もしベンダーがプラグイン開発者(Manifest V3ターゲット)やアプリケーション開発者(GTK+ 3か4ターゲット)のようなダウンストリーム製品をコントロールしたり影響を与えたりすると、他の機能のサポート維持はさらに難しくなるんだ。
それは確かに利点だけど、それが価値提案だとは確信できないな。ChromeとV8の実装は、リソースに合わせて成長してきたんだ。Googleレベルの資金がなきゃ、彼らのエンジンのフォークを長期的に維持するのは無理じゃないかな。
誰がLadybirdを支援してるの?結構な金額だよね。スポンサーリストを見たけど、それらの企業にとって何があるんだろう?
スポンサーはLadybirdのウェブサイトにリストされているよ: https://ladybird.org/#sponsors
「90%の完成には90%の時間がかかり、残りの10%にはさらに90%の時間がかかる」ってやつかな?って疑問に思うな。とはいえ、それが本当だとしても、かなり良い期間だとは思うけどね。
残りの10%はもっと90%以上かかるだろうし、時間と共に増え続けると予想するよ。Web標準は日々複雑になっているからね。
Web標準の策定プロセスってさ、僕の意見だと大きな盲点があると思うんだ。新しい仕様は既存のブラウザの文脈でしか考慮されないし、Web標準全体としての視野がほとんど考慮されてないみたいなんだよね。
Web標準には「ノー」って言う方法が実際にはないんだよ。プロセス全体が仕様を次の段階へ進めるように設計されてるからね。
Svelteの作者、Rich Harrisも言ってるけどさ、「ノー」って言うのが良いソフトウェア設計の鍵なのに、標準だと提案がないこと自体は支持できないんだ。最善の望みはただ現状維持。
僕の経験だと、歓迎されるフィードバックってアイデアの詳細に関するものだけで、そもそもそのアイデアに価値があるかどうかについては決して歓迎されないんだ。そして、実装者だけが意見が実際に重要だと常に思い知らされるはずだよ。
同じ会話の別の人も言ってたけどさ、Shadow DOMみたいに、本来やめるべきだった機能にちょっとした改善が加えられただけの標準に、実質的に反対するなんてできないんだ。
Shadow DOMは最悪だけど、CSS Module ScriptsやSelection.getComposedRanges()、ElementInternals.shadowRootが追加されたら、少しはマシになったみたいだね。
https://x.com/Rich_Harris/status/1841605646128460111
https://x.com/dfabu/status/1841936377350652391
たぶん適合レベルを設けるべきだよね。重要なビジネスや政府のプラットフォームは、少なくともレベルXに対応する全てのブラウザで動作するように義務付けるべきだよ。
レベルXは全部入りじゃなくて、本当に最小限のものだけ。SPAとかじゃなくて、フォームとかそういう基本的なものだけにして、アクセシビリティはすごく高くて必須にするとかさ。
彼らは基本的に動いてる列車に追いつこうとしてるって感じだね。
できることだけど、簡単じゃないよ。特に列車のエンジンがGoogleのリソースでハイオク燃料をぶち込まれてる時はね。
うん、絶対そうだよ。Webに関しては、最後の0.1%が99.9%の時間を食う感じだよね。しかもそれを飛ばすこともできない。
Webプラットフォームの0.1%が欠けてるブラウザなんて誰も使わないよ。それって、たぶん1%のWebサイトが何かしらの形で壊れてるってことで、ひどい体験だからね。
ChromeやFirefoxと競合できるブラウザを作るには、何十年もの作業が必要だよ。
でも、あまり期待しすぎない方がいいかもね。
9月の進捗レポートを見ると、まだまだ調整すべきことがたくさんあるんだ。
すごい進歩だけど、Ladybirdが使えるようになるまでには、まだ何年もの開発が必要だよ。
https://www.youtube.com/watch?v=6vsjIIiODhY
本当に、献身的なチームがどれだけのこと accomplish できるかを示してるよね。
Ladybird以前は、新しいブラウザエンジンをゼロから作るなんて何十年もかかるって当たり前のように思われてて、口に出すだけでも笑われたのにさ。
まあ、何十年もかかるだろうね…
価値があって野心的なプロジェクトだけど、何か実際に使えるようになるまでには、まだしばらく時間がかかるだろうね。
公平に見てさ、Ladybird以前は誰かが新しいWebエンジンを作るって言うたびに、HNで一番voteされてたコメントは、ほとんどいつも「不可能だよ、Microsoftみたいな大企業ですらエンジンを諦めたんだから」って感じだったよね。
少なくとも今では、そういう皮肉で悲観的な意見が、「不可能、Microsoftですら無理だった」から「この小さなチームだと何十年もかかるかもしれない」に変わったってわけだ。
公平に言わせてもらうと、彼らが始めた当初は、画像や動画のデコーダー、ネットワーキングなんかも含めて、ブラウザをゼロから書くつもりだったんだよ。
途中で方針を変えたけどね。
正直、まだ先は長いよ。
いくつかのウェブサイトで使い始めたんだけど、意外と既にかなり使えるよ。
心配ないって。もしWebブラウザが十分に速くなって使えるようになっても、またJavaScriptのゴミが山ほどぶち込まれて、結局遅くなるだけだから。
リンク先のツイートによると、これはiOSでLadybirdが代替ブラウザエンジンとして検討されるための重要なマイルストーンなんだって。
「Apple」が記事の見出しにある理由がよくわかったね。
…少なくともEUではね。他の地域じゃ、どんなにエンジンが良くてもAppleは”ノー”って言うだろうけど。
GoogleやMozillaの場合はどうなの?EU向けのiOS版では自社エンジンを使って、他の地域ではWebKitをラップしてるのかな?
俺が知る限り、iOS版のChromeとFirefoxはまだWebKitのラッパーだよ。
でも、それが変わってほしいな。iOSのWebKitはいくつかダメな点があるから。
例えばどんな?俺はパワーユーザーだと思ってるけど、対処できないこととか回避できないことに出くわしたことないんだよね。純粋に興味ある。
uBlock Originとか、ウェブをまともにするツールがサポートされてないことかな。
Chromeはデスクトップ版でuBlock Originのフル機能版が使えないし、モバイル版では全く使えないんだって。それなのに、なんでこんなに市場シェアが高いのか不思議だよね。
BlinkがWebKitやGeckoよりWindows、Android、Linuxをしっかりサポートしてるのが理由の一つだよ。もしuBlockがなかったら、今頃Chromeのフォーク版を使ってたかもな。
もっとコメントを表示(2)
Android版ChromeはuBlockなしだと、特に低スペック端末でWebが全く使い物にならないよ。Windows版ChromeもYouTubeで使えるuBlock Originのフル機能版を許可しないんだ。これってGoogleが広告収入のためにブラウザの独占を悪用してるだけだろ。
Android版Chromeは拡張機能をサポートしてないけど、Blinkはしてるんだ。改変されたブラウザエンジンを許可する利点の一つだよね。
Googleは、ユーザーの意見を無視して広告ブロックを潰すために、あらゆる手段を計画的に使うことをもう証明してるよ。これはMicrosoftがオンラインアカウントなしでのPCログインを阻止するのと同じやり方だ。GoogleがAndroidのサイドローディング制限を始めたことを見ても、広告ブロックが制限される日も近いかもな。
Blinkはオープンソースプロジェクトだよ。もしGoogleがChromeとAndroidでサイドローディングを完全に拒否するようになっても、両方フォークできるじゃん。君の主張は証明できない仮説に頼ってて、誰も怖がらせられないね。Androidユーザーから見たら、君は嘘つき少年というよりチキン・リトルだよ。
そうかい。これでいいのか? GoogleがAndroid開発者全員に登録と認証を義務付けることで、オープンソースアプリストアF-Droidが閉鎖の危機に瀕してるってニュースがあるよ。
https://www.techdirt.com/2025/10/07/googles-requirement-for-…
uBlock Origin LiteがSafariでも使えるようになったって。
https://news.ycombinator.com/item?id=44795825
SafariでWiprやUserScriptsが使えるのを見たら、そんなのは本当の問題じゃないってわかるよ。互換性の問題はまだあるけど、広告なんかはSafariユーザーにとっては完全に解決済みなんだ。
OrionがiOSでどうにかしてるんだけど、それがどういう仕組みなのか、いまいち理解できないんだよね。
そんなことないでしょ?Ublock Originが機能しないってフィードバックがあるよ。見てみて。https://orionfeedback.org/d/9145-ublock-origin-not-existent-…https://orionfeedback.org/d/11882-ublock-origin-not-function…
俺の知る限り、Chrome拡張機能APIをエミュレートしてるだけじゃないの?
俺の場合、普通のCSS transformsでレイアウトやレンダリングのバグによく遭遇するんだ。
アニメーションのあるサイトを作ると、iOSで変なレンダリングバグが必ず一つはある。
あと、playsInline propを忘れると、ビューポート内の動画がブラウザを乗っ取って全画面表示になるのもマジで最悪。
Web開発者はWebKitの問題を回避するのにめっちゃ苦労してるんだよ。新しいIE6って感じ。
WebKitは平均的な開発者が必要とする機能はちゃんと揃ってるし、GeckoやLadybirdみたいに、回避策を見つけるのもそんなに大変じゃないよ。
独立系の非企業プロジェクトが、こんなに早くここまで来たのはめちゃくちゃすごいことだね。
ブラウザがどれだけのことやってるか考えたら、これってマジで狂気じみた偉業だよ。
優れたHTML/CSSレンダラーやJSエンジンを作るだけでも大変なのに、エコシステムに組み込まれて次々に登場する新機能に対応しなきゃいけない。
Chromeは提案に抵抗できるけど、小さなブラウザはChromiumを使うか、必死に追いつこうとするしかないからね。
> Chromeは提案に抵抗できる
問題はChromeが提案を拒否することじゃなくて、誰がどう言おうとChromeが独自の提案を推し進めることだよ。見てみて。https://news.ycombinator.com/item?id=45371575
一方で、すべてのブラウザが足並みを揃えるべきなのかな?Chromeは、どんな機能でもローンチする前に全員の承認を待つべきなの?
政府はGoogleに、業界団体が定めたWeb標準に従うよう強制すべきだよ。その団体には小規模なプレイヤーの参加も義務付けるべきだね。
もしGoogleが強引に独自の議題を推し進めるなら、標準化団体は拒否権を発動できるだけの票を持つべきだよ。
さらに言えば、Googleがブラウザを持つのに、標準準拠を条件にすべきだ。もし破ったら、Googleはもうブラウザを作れなくすればいいんだ。
標準ってのはさ、合意形成して、独立した2つの実装があって初めてそう言えるんだよ。そうでなきゃInternet Explorerみたいになっちゃう。
Chromeなんか、仕様の草案をポンと出して、ろくに議論もせず実装するんだから困る。WebHIDとかConstructable Stylesheetsとかさ、Googleが欲しいからって勝手に進めるなよ。URL: https://www.quirksmode.org/blog/archives/2021/08/breaking_th…
でもさ、ブラウザの全機能が標準化されなきゃダメなの?AppleやMozillaに許可なく機能開発するのは、なんかルール違反とでも言うのかね?
もしLadybirdがこの調子なら、2027年末までにはマジで有力な競合になるぞ。Servoにも同じような推進があればいいんだけどな。ServoはFirefox/Mozillaがあんまり興味ないみたいだから、対応するブラウザプロジェクトがマジで必要だよ。
ルール違反じゃないけど、ウェブにとっては敵対的だろ。大企業がでかいからって勝手にウェブをフォークさせるなんて、何十年も相互運用性のために頑張ってきた俺たちにはマジで侮辱だよ。
Ladybirdって本当に非営利なの?なんか企業が金出してるところを見た記憶があるんだけど。
FirefoxのGeckoみたいな非営利と比べて、Ladybirdはどうなんだ?
政府とか大多数の有権者って、ファイルが何なのかすら知らないんだぜ。健康保険みたいな基本的なニーズですら賛成票入れられないのに。
こんな無能な連中にイノベーションを窒息させる権限を与えるべきだと思うか?
Appleに、ブラウザに追加される機能を拒否する権限を与える方が、ウェブにとってはもっと敵対的だろ。
それは覚えてないな。自分で調べてみたらどうだ?
Ladybirdはまだ使い物になるほどでもないし、Geckoと比べるには全然速くないよ。
テストを安全にクリアする方法は、全く別の問題だよ。これはあくまで適合性テストだからね。それでもすごいけどさ。