ハクソク

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

今月のレディバード - 2026年4月

概要

  • Ladybirdプロジェクトの4月における主な進捗と新機能の紹介
  • 新規スポンサーの獲得と資金提供の報告
  • ブラウザ機能やパフォーマンスの大幅な改善点
  • 新しいGTK4フロントエンドやブックマーク管理UIの追加
  • CSSやネットワーク、JavaScriptエンジンの最適化

Ladybird 4月アップデート総括

  • 333件のPR35人のコントリビューターによりマージ、新規参加者7名
  • プロジェクトは企業・個人スポンサーのサポートで運営
    • Human Rights Foundation(AI for Individual Rightsプログラム経由)から**$50,000**
    • Jakub Stęplowskiから**$1,000**
  • スポンサー募集の継続案内

インラインPDFビューア

  • pdf.jsをバンドルし、PDFをインライン表示対応
    • ページナビゲーションテキスト選択ズームドキュメント内検索機能
  • pdf.jsのパフォーマンスプロファイリングによりtyped-array view cacheや**:has() invalidation**も強化

履歴・アドレスバーのオートコンプリート

  • アドレスバー入力時に履歴ベースのサジェスト表示(faviconタイトル付き)
  • SQLiteベースのHistoryStoreで履歴情報を管理
  • 履歴の消去機能をプライバシー設定ページに実装
  • QtAppKitの両UIでリッチな履歴行表示

HTMLパーサの改良

  • インクリメンタルパース対応で、レスポンス受信中から解析開始
  • スペキュレーティブHTMLパーサ導入
    • 外部スクリプトでブロック時にリソース先読み
    • preload mapと連携し、二重リクエスト防止

JavaScriptオフスレッドコンパイル

  • バイトコード生成バックグラウンドスレッドで実行
  • メインスレッドの負荷を軽減し、YouTubeロード時に約200msの短縮

Per-Navigableラスター化

  • Navigable(iframe等)が独立スレッドでラスター化
  • 親子iframe間の再描画効率化
  • 将来的なサンドボックスプロセス分離の下地

JavaScriptエンジン改良

  • JS-to-JSコールの高速化、AsmIntアセンブリインタプリタ活用
  • O(1)バイトコードレジスタアロケータfor-inイテレーションのキャッシュ
  • パーサ最適化1.14倍高速化282MBメモリ削減
  • 短い文字列連結レキシカルthisアロー関数の最適化
  • スパース配列Promiseオブジェクトの効率化
  • WASM, JSON, CSSモジュールのimport対応
  • ShadowRealmサポート削除(標準化停滞のため)

GTK4 / libadwaitaフロントエンド

  • 新たなLinux向けGTK4 / libadwaitaフロントエンド追加
  • **GNOME Web (Epiphany)**風のUI設計
  • URLバーのオートコンプリートセキュリティアイコンマルチウィンドウ等を実装
  • 機能面ではQtやAppKitフロントエンドに未到達

ブックマーク機能の強化

  • about:bookmarksページでブックマークとフォルダ管理
  • インポート/エクスポート対応
  • 編集用コンテキストメニューdate_addedタイムスタンプ追加
  • ブックマークバーでの新タブ開きやドラッグ&ドロップ対応

Cache / CacheStorage API

  • CacheCacheStorageの全API(9メソッド)をインメモリで実装

CSS関連アップデート

  • **image-set()**の標準・webkitプレフィックス両対応
  • anchor-positioncolor interpolationpresentational hintsを仕様準拠に
  • RTLテキストのリストマーカーSVGのstroke-dasharrayアニメーション対応
  • autofocus属性inline flex/gridベースラインの正確な処理

ネットワーク・スタイル無効化・GPU描画

  • getaddrinfoをバックグラウンドで実行し、イベントループブロック回避
  • RequestServerのパフォーマンス改善でYouTube動画ロード時のmemcpyVector::removeの大幅削減
  • AcceptヘッダでAVIF/WebP対応
  • **:has()や:host()**によるスタイル無効化の最適化、再計算の大幅短縮
  • Linux VulkanビルドdmabufによるGPUペインティング最適化

今後の展望

  • さらなるパフォーマンス最適化安定性向上
  • 機能拡充およびクロスプラットフォーム対応強化
  • 新規スポンサーやコントリビューターの継続的募集

Hackerたちの意見

これ、かなり使える感じになってきたね!この投稿を見て、ゲームエミュレーターのアップデートを思い出したよ。『Xのバグを修正してYが正しく動作するようにしたから、ゲームZが動くようになった』みたいな感じで。(修正された中にCSS Doomもあったから、ゲームとの関連性はあると思う。)
いい判断だね!アンドレアスが何度も言ってるのを聞いたけど、ブラウザを作るのはエミュレーターを作るのと似てるんだって。各ウェブサイトは異なる機能をそれぞれのやり方で使ってるし、ウェブサイトをROMに例えてるんだ。
早く出荷してほしいな。
https://ladybird.org/assets/img/newsletter-apr-2026-reddit-g... エヴァンゲリオンのr/unixpornを使ってladybird redditを試した人、めっちゃリスペクトする!エヴァンゲリオンについて読むのが好きだったから。(あんまり見てないけど、解説ドキュメンタリーは何本も見て、しばらくエヴァンゲリオンを壁紙にしてた。)さて本題に入るけど、redditがladybirdで動いてるなんてすごくいいね。YouTubeが動いてるかどうかわからないけど、YouTubeも動いてくれるといいな。Ladybirdは本当に動いてるみたいだし。あと、ladybirdに寄付してくれたhttps://jakubsteplow.ski/にも感謝!オープンソースプロジェクトに寄付する人をもっと応援したいな。Google広告や他の方法よりも、こういう寄付の方がいいと思うし。Jakub、君に幸運を祈るよ!他の人もladybirdみたいなプロジェクトに寄付してくれるといいな(独立した寄付者/寄付)。それと、人権財団のhttps://hrf.org/program/ai-for-individual-rights/もありがとう。ブラウザがほぼモノポリー(デュオやトリオ?)だったのに、たった一人の人がこれを成し遂げたのは本当に素晴らしい。すごくインスパイアされるね。
https://ladybird.org/#about > 今日、ブラウザの開発に何人が関わってるの? > 現在、Ladybirdには8人の有給フルタイムエンジニアが働いてるよ。ボランティアの貢献者もたくさんいるんだ。
EVAが大好きだけど、慎重におすすめするよ。これには二つの側面があると思うんだ。メカやエイリアン、モンスターのSF的な側面はすごく魅力的で、もう一つは自己嫌悪や孤独に焦点を当てた個人的なドラマ。多くの人には前者が一番魅力的だと思うけど、今でも心に残っているのは後者の方なんだ。もし観ることになったら、視聴順には注意してね。オリジナルのTVシリーズと映画「エヴァンゲリオン: 破」の二つのタイムラインがあって、その後に「ヱヴァンゲリヲン新劇場版」シリーズが始まったんだけど、最初は完全なリブートだったのに、いつの間にかオリジナルの続編みたいになっちゃったんだよね。
YouTubeはレディバードで動くよ。ほとんどのものがそうだね。速度以外の最大の問題は、「あなたが人間であることを確認する」チェックがうまく機能しないことだね。
もしJavaScriptなしのブラウザを使いたいなら、このブラウザプロトタイプ[0]もかなり良くなってきてるよ。RustのGUIフレームワークDioxusが開発していて、Skiaの代替を作るためのネイティブレンダラーの一部なんだ。Flutterに似てるけど、HTMLやCSSの標準に基づいてウェブでも動くんだよ。Flutter webはキャンバスだけどね。既存のRustクレート(styloやtaffyなど)を使った一からの実装みたいなもので、ChromiumやGecko、WebKitのコードには依存してないんだ。[0] https://github.com/DioxusLabs/blitz(/apps/browserにあるよ)
> strava.com : Navigator.getBatteryが仕様通りのエラータイプを投げるようになったから、ログインができるようになったよ(#8770)。Stravaは俺のバッテリー残量に何を求めてるんだ?
もしかしたら、バッテリーAPIを使ってサイトの低電力バージョンのためのヒューリスティックにしてるのかも?それか、発展途上国向けのウェブ専用バージョンがあるのかな?バッテリーが少ないと、位置情報をあまり頻繁に取得しないようにしてバッテリーを節約するってこと?ちょっと適当なこと言ってるけど、Stravaがバッテリーを要求するウェブサイトっていうのは、そんなにおかしくないと思う。ただ、ちょっと怪しいけどね。
アカウントをブルートフォースで攻撃しようとしているボットは、実際のデバイスのようにAPIが実装されていないかもしれないね。
おそらく、トラッキング用のユニークなフィンガープリントを生成するためだね。
> 人権財団 ... 「個人の権利のためのAI」プログラム それ、かなり怪しいね。LadybirdにはAIがないのに、なんでそんなプログラムが開発を支援するの?でもその前に、「人権財団」って、ジョージが『セインフェルド』で作り上げた偽のチャリティ「The Human League」に似てるし、AIを「人権」として推進するのもかなり疑わしいよ。もし推測するなら、これは何十億ドルも使ってLLMに取り組んでる企業の後ろ盾があるかもしれない。年次報告書の要約や巨大なスタッフを見てると、CIAみたいな組織や、イデオロギーに基づく億万長者(例えば「独裁者マドゥロ」やイランに焦点を当てるなど)に傾いてる気がする。
> 「人間連盟」は、ジョージが『セインフェルド』で作った偽の慈善団体なんだ。実際には「ヒューマンファンド」だよ。「人間連盟」はイギリスのポップバンドで、1980年代に「Don't You Want Me」というヒットシングルで大成功を収めたんだ。
「個人の権利のためのAI」と「人権としてのAI」にはかなり大きな違いがあるよね。
ハハ、すぐに『セインフェルド』のヒューマンファンドを思い出したよ。彼らの偽のスローガン「人間のためのお金」ってやつね。
面白いね、ジャクブ・ステンプロフスキーのLinkedInリンクをチェックしたんだけど、彼は「ポーランド出身」と自信満々に紹介しているソフトウェア開発者なんだ。ポーランド以外で10年間イタリアとスイスで働いていたみたい。うん、納得だね。ポーランドの給料でこのプロジェクトにスポンサーとして1,000ドルを気前よく使う余裕がどこから来たのか不思議だったんだ。もちろん、悪いことじゃないけど、スイスに移るのはもう遅すぎる気がするね。
以前、モーゲージ会社で働いていた開発者がいて、彼はチェコ共和国からイギリスに移住したんだ。彼は一日中デスクでスマホでゲームをしていて、仕事を友達に25%の給料で外注していたんだよ。
ブラウザ開発で一番難しいのは「人工的な」ウェブ互換性だよね。多くのウェブサイトが特定のブラウザをブロックして、Chromiumだけがアクセスできるようにしてるのが現実なんだ。これがレディバードの現実チェックで、新しいブラウザが競争できない理由でもある。DRMのWidevineも同じで、新しいブラウザには本当に手に入れにくい(入手不可能なもの)んだ。ユーザーが1000万人いるような大きなブラウザでも、これを手に入れるのは難しいんだよ。
互換性テストのためにユーザーエージェントをモックすることができるんだ。ブラウザ自体をコントロールできれば、何でもできるよ。(DRM特有の問題を除いてね)
そもそも、これに気を使うこと自体がどれくらい一般的なんだろう?自分は過去20年間ずっとFirefoxだけを使ってきたけど、互換性のためにChromiumに切り替えろって言われたサイトには一度も遭遇したことがないよ。
これらの人工的なゲートが相互運用性にとって重要になるまでには、99%のハードルをクリアしてるから、ほとんどの場合はユーザーエージェント文字列を偽装するだけで済むよ。Widevineは確かに「ゲート」だけど、実際にはNetflixやDisney、いくつかのストリーミングサイトで4K再生を止めるだけなんだ。Zenが1000万人のユーザーを集めてることを考えると、あんまり関係ないよね。
> DRM Widevine、こんなクソみたいなことを許したティム・バーナーズ=リーに感謝しなきゃね。
最近、Ladybirdがこの理由で自分をChromeとして報告し始めたんだよね。
レディバードは順調に進んでるね。自分は長年Firefoxを使ってるけど、レディバードが初期アルファ版に入ったら、絶対に早期採用者になるよ。