How ice.js 3 Redefines Frontend Performance with Parallel Loading and SSR Innovations

ice.js 3 merges MPA and SPA concepts to deliver per‑page HTML, parallelizes block and data loading, introduces SSG and out‑of‑the‑box SSR with streaming and Server Components, supports multi‑end development, and upgrades the runtime with swc and esbuild to dramatically improve web performance and developer experience.

DaTaobao Tech
DaTaobao Tech
DaTaobao Tech
How ice.js 3 Redefines Frontend Performance with Parallel Loading and SSR Innovations

Loading Strategy

ice.js 3 does not separate MPA and SPA; instead it generates an HTML for each page that includes only the resources required by that page, avoiding duplicate loading of shared assets. During navigation, only the bundle specific to the next page is fetched, reducing redundant network requests.

Parallel Block and Data Loading

Layout components, page entry components, and data requests are loaded in parallel to achieve the fastest possible resource acquisition. For example, when navigating from /sales/recommends to /sales/favorites, the framework loads only the differing favorites.tsx component while reusing the already‑loaded layout components.

Rendering Strategy

Traditional CSR pages render a blank container initially, but ice.js 3 enables static HTML generation (SSG) so that the static part of a page is built at compile time, dramatically shortening white‑screen time. The framework also provides out‑of‑the‑box SSR, built on React 18 and Midway FaaS, with support for streaming rendering and Server Components. An ongoing exploration of “Zero‑Bundle‑Size” aims to eliminate client‑side JavaScript for components rendered on the server.

Multi‑End Development

ice.js 3 extends beyond PC to wireless and mini‑program platforms. Mini‑app configuration is demonstrated with a simple defineConfig and the @ice/plugin-miniapp plugin, allowing developers to define window and tabBar settings in src/app.ts. The framework also supports Alibaba (Taobao, DingTalk), WeChat, Baidu, ByteDance, and Kuaishou mini‑programs.

Runtime and Tooling

The default runtime uses React 18 and react‑router 6, offering a richer API surface and a convention‑based routing system. Build performance is boosted by swc for compilation and esbuild for server‑side builds. Configuration has moved from build.json to ice.config.mts, providing type‑checked configuration and easy plugin integration via defineConfig.

Future Directions

Upcoming work includes deeper integration of React Streaming and Server Components in business scenarios, a unified pre‑request model across terminals, and continued enhancements to the developer experience through lightweight native toolchains.

Relevant links: https://v3.ice.work/ https://github.com/alibaba/ice https://reactjs.org/blog/2020/12/21/data-fetching-with-react-server-components.html
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

ReactSSRice.jsfrontend performancessgloading strategy
DaTaobao Tech
Written by

DaTaobao Tech

Official account of DaTaobao Technology

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.