A library for native app-like page transitions across all browsers and major SSR frameworks.
SSGOI is a JavaScript library that provides native app-like animated page transitions for web applications built with major SSR frameworks. It solves the problem of abrupt, jarring page swaps by delivering smooth, performant animations that work across all browsers, including Safari, where the native View Transition API is not supported.
Frontend developers building single-page applications (SPAs) or server-side rendered (SSR) apps with React/Next.js, Svelte/SvelteKit, Vue/Nuxt, or Angular who want to enhance user experience with fluid page transitions.
Developers choose SSGOI because it offers universal browser support, framework-agnostic integration, and guaranteed 60fps spring physics animations without blocking the main thread, unlike the limited Chrome-only View Transition API or other libraries with inconsistent SSR support.
animated page transition for major ssr frameworks and browsers, including Safari
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works universally across all browsers, including Safari, unlike the Chrome-only View Transition API, ensuring consistent animations everywhere as highlighted in the README's comparison table.
Delivers 60fps spring physics animations pre-computed to Web Animation API keyframes, avoiding main thread blocking for smooth performance, as guaranteed in the features list.
Provides dedicated packages for React, Svelte, Angular, and Vue, allowing seamless integration with major SSR frameworks without being tied to a specific router, per the packages section.
Includes a variety of effects like drill, fade, slide, and hero transitions, making it easy to implement common mobile app animation patterns without custom code, as shown in the transitions example.
Adding SSGOI and its framework-specific packages increases the JavaScript payload, which can slow down initial page loads, especially on slower networks or mobile devices.
Requires wrapping the app root and each page with specific components and configuring transition rules, adding integration overhead compared to drop-in solutions, as seen in the Quick Start steps.
Entirely relies on client-side JavaScript for animations, making it unsuitable for projects aiming for zero-JS or progressive enhancement where JavaScript might be disabled.