GitHub Issues、Service Workerとプリフェッチの導入でページ遷移を高速化
GitHub IssuesにService Workerによるクライアントサイドキャッシュと、マウスホバーをトリガーとするプリフェッチ機能が実装されました。これにより、ページ遷移時のサーバーリクエスト待ちを排除し、最大で数ミリ秒単位の即時表示を実現しています。

GitHubは、Issue間のナビゲーション体験を改善するため、クライアントサイドキャッシュとスマートプリフェッチを組み合わせた新しいフロントエンドアーキテクチャを導入しました。この更新により、ユーザーがページを遷移する際に発生していたネットワーク遅延を大幅に削減し、ブラウザ上での即時応答を可能にしています。
具体的には、Service Workerを利用して一度表示したデータのバックグラウンド保存を行い、再訪問時のレンダリングを高速化しました。また、ユーザーがリンクにマウスホバーした瞬間にリソースを先読みするプリフェッチ機能を実装することで、クリックが発生する前に必要なデータをブラウザ側に用意する仕組みを採用しています。従来はページを跨ぐたびに完全な再取得やハイドレーションが発生していましたが、今回はデータ取得の投機的実行によってその待ち時間を解消しました。
さらに、GitHub Copilotなどのエコシステムとの連携も視野に入れた最適化が行われており、AI機能の利用時も含めた全体的なユーザーエクスペリエンスの向上が図られています。現在はGitHub Issuesの全ユーザーに適用されており、特別な設定変更なしで高速化の恩恵を受けられる状態です。
この記事は役に立ちましたか?