ivy-universal
ivy-universal copied to clipboard
Is this project still actual
Hi @vikerman,
this project seems to be very promising. Especially the:
Server-side Rendering(SSR) with Angular Ivy Selective client side rehydration based on user events / data binding changes At this point no Angular specific code or component code has been loaded. (Current bootstrap size without polyfills: ~12 Kb)
Are there any further plans to work on this, or the approach has been change since the release of Angular 9?
After the release of Lighthouse 6 and the change of the factors that drive the score, Angular Universal powered app seems to receive a drawback.
The main problem is the way Largest Contentful Paint is calculated. See the example (the work in progress on a e-commerce site powered by Angular Universal with a focus on max performance and all web standards):
The LCP which becomes the major factor in LH 6 is triggered at the very end although the content does not change after the FCP (since it is pre-rendered on the server, 100% complete HTML which servers SEO purposes).
It seems like re-hydration moves the LCP in time.
Current state of things pretty much a blocker for any Angular Universal PWA.
Minimizing the bundles and allowing re-hydration to pop in on-demand could resolve this.
I have created a Lighthouse issue to possibly get some feedback on this topic: https://github.com/GoogleChrome/lighthouse/issues/10845.
For example, LH5 score:
in LH6 automatically becomes:
The project uses pretty much every possible tuning available:
- 100% code splitting, defer/lazy loadings.
- Proxy server optimizations (caching, Brotli compression).
- DB optimizations (caching, tuned queries).
- Hosting with a ~0.002s TTFB.
Universal as of today will pretty much receives a - 15-20% performance score straight up from the start, once LH6 rules are in place. Taking into account Universal is the main solution for SEO for Angular-powered PWAs - this becomes a major factor.
Hi - I am no longer working on this. You can contact the folks at Angular Universal.
https://github.com/angular/universal/issues/1858