Skip to content

Commit 30a41c1

Browse files
Update v15 release notes (#1753)
* update v15 release notes * fix links to the RSC tutorial * Add major performance breakthroughs guide for React on Rails Pro v4 and React on Rails v15 * Remove the date from the major performance breakthroughs upgrade guide * Update major performance breakthroughs upgrade guide to clarify Node renderer improvements and performance benefits * linting
1 parent c2cd789 commit 30a41c1

File tree

3 files changed

+146
-73
lines changed

3 files changed

+146
-73
lines changed
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
# React on Rails Pro: Major Performance Breakthroughs - React Server Components, SSR Streaming & Early Hydration
2+
3+
**Subject: 🚀 Revolutionary Performance Breakthroughs: React Server Components, SSR Streaming & Early Hydration Now Available in React on Rails Pro v4 & React on Rails v15**
4+
5+
---
6+
7+
We're thrilled to announce a major update: [React on Rails Pro](https://www.shakacode.com/react-on-rails-pro/) v4 and [React on Rails](https://github.com/shakacode/react_on_rails) v15 now deliver **unprecedented performance improvements** that will transform your applications. These updates introduce multiple breakthrough technologies that work together to deliver the fastest possible user experience.
8+
9+
## 🎯 What This Means for Your Applications
10+
11+
- **Dramatically faster load times**
12+
- **Smaller JavaScript bundles**
13+
- **Better Core Web Vitals**
14+
- **Improved SEO**
15+
- **Smoother user interactions**
16+
- **Eliminated race conditions**
17+
- **Optimized streaming performance**
18+
19+
## 🔥 React Server Components
20+
21+
Server Components execute on the server and stream HTML to the client—no server-side JavaScript in your bundle. Real‑world results include:
22+
23+
- [productonboarding.com experiment](https://frigade.com/blog/bundle-size-reduction-with-rsc-and-frigade):
24+
- **62% reduction** in client‑side bundle size
25+
- **63% improvement** in Google Speed Index
26+
- Total blocking time: **from 110 ms to 1 ms**
27+
- [geekyants.com Case Study](https://geekyants.com/en-gb/blog/boosting-performance-with-nextjs-and-react-server-components-a-geekyantscom-case-study):
28+
- **52% smaller** JavaScript and TypeScript codebase
29+
- Lighthouse scores improved **from ~50 to ~90**
30+
- [Airbnb's RSC migration results](<https://questlab.pro/blog-posts/web-development/wd-pl-2024-articleId912i1h212818#:~:text=%22Our%20migration%20to%20React%20Server%20Components%20resulted%20in%20a%2015%25%20improvement%20in%20core%20web%20vitals%20and%20a%2023%25%20reduction%20in%20Time%20to%20First%20Byte%20(TTFB)%20across%20all%20markets.%22%20%2D%20Airbnb%20Engineering%20Team>):
31+
- **15% improvement** in core web vitals
32+
- **23% reduction** in Time to First Byte
33+
- [Meta's developer portal migration](https://questlab.pro/blog-posts/web-development/wd-pl-2024-articleId912i1h212818#:~:text=Meta%27s%20RSC%20Implementation%20Results):
34+
- **30% reduction** in JavaScript bundle size
35+
- **60% improvement** in Time to Interactive
36+
- **45% faster** First Contentful Paint
37+
- **50% reduction** in server response time
38+
- **25% decrease** in overall maintenance complexity
39+
40+
Please note that only the first of these directly compares performance of equivalent applications with and without React Server Components.
41+
Other migrations may include React or other dependency upgrades and so on.
42+
43+
## 🌊 SSR Streaming
44+
45+
SSR Streaming sends HTML to the browser in chunks as it's generated, enabling progressive rendering:
46+
47+
- [An experiment at Nordnet comparing equivalent applications with and without streaming SSR](https://www.diva-portal.org/smash/get/diva2:1903931/FULLTEXT01.pdf):
48+
- **32% faster** time to first byte
49+
- **40% faster** total blocking time
50+
- Negative result: **2% increase** in server load
51+
- [Hulu case study](https://www.compilenrun.com/docs/framework/nextjs/nextjs-ecosystem/nextjs-case-studies/#case-study-3-hulus-streaming-platform):
52+
- **30% faster** page load times
53+
- [styled‑components v3.1.0: A massive performance boost and streaming server-side rendering support](https://medium.com/styled-components/v3-1-0-such-perf-wow-many-streams-c45c434dbd03)
54+
55+
## ⚡️ **BREAKTHROUGH: Early Hydration Technology**
56+
57+
**React on Rails now starts hydration even before the full page is loaded!** This revolutionary change delivers significant performance improvements across all pages:
58+
59+
- **Eliminates Race Conditions**: No more waiting for full page load before hydration begins
60+
- **Faster Time-to-Interactive**: Components hydrate as soon as their server-rendered HTML reaches the client
61+
- **Streaming HTML Optimization**: Perfect for modern streaming responses - components hydrate in parallel with page streaming
62+
- **Async Script Safety**: Can use `async` scripts without fear of race conditions
63+
- **No More Defer Needed**: The previous need for `defer` to prevent race conditions has been eliminated
64+
65+
This optimization is particularly impactful for:
66+
67+
- **Streamed pages** where content loads progressively
68+
- **Large pages** with many components
69+
- **Slow network conditions** where every millisecond counts
70+
- **Modern web apps** requiring fast interactivity
71+
72+
_Performance improvement visualization:_
73+
74+
![Performance comparison showing early hydration improvement](https://github.com/user-attachments/assets/ae33fe14-42f1-4cc1-bde3-9c5bb570cdbf)
75+
76+
_The image above demonstrates the dramatic performance improvement:_
77+
78+
- **Left (Before)**: Hydration didn't start until the full page load completed, causing a huge delay before hydration
79+
- **Right (After)**: Hydration starts immediately as soon as components are available, without waiting for full page load
80+
- **Result**: Components now become interactive much faster, eliminating the previous race condition delays
81+
82+
## 🚀 Enhanced Performance Infrastructure
83+
84+
### Fastify-Based Node Renderer
85+
86+
- **Faster Node renderer** based on Fastify instead of Express
87+
- **HTTP/2 Cleartext** communication between Rails and Node renderer
88+
- **Multiplexing and connection reuse** for significantly better performance when deployed separately
89+
- **No code changes required** - automatic performance boost
90+
91+
### Optimized Script Loading Strategies
92+
93+
- New `generated_component_packs_loading_strategy` configuration
94+
- **Async loading by default** for Shakapacker ≥ 8.2.0 (optimal performance)
95+
- **Smart hydration timing** that works perfectly with streaming HTML
96+
- **Eliminated waterfall delays** in component hydration
97+
98+
## 💰 Why This Upgrade is Critical
99+
100+
These performance improvements aren't just nice-to-haves—they're essential for:
101+
102+
- **Competitive advantage** in today's performance-focused web landscape
103+
- **SEO improvements** as Core Web Vitals become ranking factors
104+
- **User retention** - faster sites keep users engaged longer
105+
- **Conversion rates** - every millisecond counts for e-commerce
106+
- **Mobile performance** - crucial for global markets with slower connections
107+
108+
---
109+
110+
Adopting these features in React on Rails Pro v4 and React on Rails v15 will help you deliver **dramatically faster, leaner, and more SEO‑friendly applications** with fewer client‑side resources and eliminated performance bottlenecks.
111+
112+
**Ready to get started?**
113+
114+
1. Update to React on Rails v15
115+
2. Update to React on Rails Pro v4
116+
3. Follow our [RSC & SSR Streaming migration guide](https://www.shakacode.com/react-on-rails-pro/docs/react-server-components/tutorial/)
117+
118+
Let's make your apps faster—together.
119+
120+
**ShakaCode Team**
121+
_Building the future of Rails + React performance_

docs/react-on-rails-pro/react-server-components.md

Lines changed: 0 additions & 65 deletions
This file was deleted.

docs/release-notes/15.0.0.md

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,34 @@ Experience the future of React with full RSC integration in your Rails apps:
99
- Seamlessly use React Server Components
1010
- Reduce client bundle sizes
1111
- Enable powerful new patterns for data fetching
12-
- ⚡️ Requires React on Rails Pro - [See the full tutorial](https://www.shakacode.com/react-on-rails-pro/docs/react-server-components-tutorial)
12+
- ⚡️ Requires React on Rails Pro - [See the full tutorial](https://www.shakacode.com/react-on-rails-pro/docs/react-server-components/tutorial/)
1313

14-
### Improved Component Hydration
14+
### 🚀 Major Performance Breakthrough: Early Hydration
1515

16-
Major improvements to component and store hydration:
16+
**React on Rails now starts hydration even before the full page is loaded!** This revolutionary change delivers significant performance improvements across all pages:
1717

18-
- Components and stores now hydrate immediately rather than waiting for page load
19-
- Enables faster hydration, especially beneficial for streamed pages
20-
- Components can hydrate before the page is fully streamed
21-
- Can use `async` scripts in the page with no fear of race condition
22-
- No need to use `defer` anymore
18+
- **Eliminates Race Conditions**: No more waiting for full page load before hydration begins
19+
- **Faster Time-to-Interactive**: Components hydrate as soon as their server-rendered HTML reaches the client
20+
- **Streaming HTML Optimization**: Perfect for modern streaming responses - components hydrate in parallel with page streaming
21+
- **Async Script Safety**: Can use `async` scripts without fear of race conditions
22+
- **No More Defer Needed**: The previous need for `defer` to prevent race conditions has been eliminated
23+
24+
This optimization is particularly impactful for:
25+
26+
- **Streamed pages** where content loads progressively
27+
- **Large pages** with many components
28+
- **Slow network conditions** where every millisecond counts
29+
- **Modern web apps** requiring fast interactivity
30+
31+
_Performance improvement visualization:_
32+
33+
![Performance comparison showing early hydration improvement](https://github.com/user-attachments/assets/ae33fe14-42f1-4cc1-bde3-9c5bb570cdbf)
34+
35+
_The image above demonstrates the dramatic performance improvement:_
36+
37+
- **Left (Before)**: Hydration didn't start until the full page load completed, causing a huge delay before hydration
38+
- **Right (After)**: Hydration starts immediately as soon as components are available, without waiting for full page load
39+
- **Result**: Components now become interactive much faster, eliminating the previous race condition delays
2340

2441
### Enhanced Script Loading Strategies
2542

0 commit comments

Comments
 (0)