ネイティブモバイルアプリの画面遷移って本当に滑らかですよね。Instagramのストーリー、LINEのトーク画面、どんなモダンなモバイルアプリでも。一方、Webページはまだページの瞬間的な読み込みでぎこちなく感じます。
そのギャップを埋めるためにSSGOIを開発しました。Webアプリケーションにネイティブライクな画面遷移を提供するライブラリです。
解決した技術的課題:
全ブラウザ対応 - ChromeのView Transition APIなど最新APIに依存せず、全ブラウザでの互換性を確保するため一から構築しました。
SSR対応 - Next.js、Nuxtなどのサーバーサイドレンダリングフレームワークでも、ハイドレーションやレイアウトシフトを起こすことなくシームレスに動作します。
ドロップイン統合 - リファクタリング不要。既存プロジェクトにルーティングロジックやアプリケーション構造を変更することなく追加できます。
フレームワーク非依存アプローチ
React、Vue、Svelte、Angular、またはバニラJavaScriptで動作するよう設計。コアエンジンが重い処理を担当し、フレームワーク固有のアダプターが統合レイヤーを提供します。
パフォーマンスへの配慮
- ハードウェアアクセラレーションCSS変換
- 遷移中の効率的なメモリ管理
- バンドルサイズへの最小限の影響
- 設定可能な遷移時間とイージング
目標はシンプル:パフォーマンスや開発者体験を犠牲にすることなく、Webナビゲーションをネイティブアプリと同じくらい洗練されたものにすることです。
フィードバックやコントリビューションをお待ちしています。プロジェクトにお役に立てるようでしたら、スターをいただけると嬉しいです。