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

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

2026年5月3日原文(ladybird.org)

概要

  • 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が実装されていないかもしれないね。

おそらく、トラッキング用のユニークなフィンガープリントを生成するためだね。

Hacker Newsで議論の続きを見る