ice
ice.js is Alibaba's universal React-based application framework offering zero-config builds, file-system routing, built-in state management and data fetching, and hybrid SSR/SSG rendering, extensible through a plugin system and able to target web, mini-programs, and Weex.
MITPermissive — free to use in commercial and proprietary software, with attribution.View license →
Production readiness
4/5- Actively maintainedCommits in the last 6 months
- No known vulnerabilitiesNot yet scanned
- Clear, usable licenseMIT (permissive)
- Proven adoptionWidely used
- Has documentationDocumentation indexed
npm install iceOur analysis
A universal, convention-over-configuration React application framework from Alibaba that bundles routing, state management, data fetching, and hybrid rendering into a single zero-config toolchain. Its distinguishing feature is multi-end support, targeting web alongside Chinese mini-program platforms and Weex.
When to use ice
Choose it when building React apps that need out-of-the-box TypeScript/CSS/Sass support and file-system routing without manual setup, especially when you must ship to both web and miniapp targets, or when working within Alibaba's ecosystem and tooling conventions.
When not to
If you only target the web and want the largest community, deployment ecosystem, and English-language resources, Next.js or Remix are safer bets. The miniapp/Weex angle adds little value for purely Western web teams, and documentation is heavily oriented toward Chinese developers.
Strengths
- Genuinely zero-config: ES6+, TypeScript, Less/Sass, CSS Modules work without manual webpack/Vite wiring
- Hybrid SSG/SSR rendering supported by default
- Opinionated built-ins for routing, state, and requests reduce boilerplate
- Rare multi-end capability spanning web, miniapp, and Weex
- Extensible plugin system enabling reusable community solutions
- Backed and battle-tested at Alibaba scale, MIT licensed
Trade-offs
- Documentation and community discussion are predominantly Chinese, raising the barrier for non-Chinese teams
- Smaller ecosystem and deployment integrations compared to Next.js
- Opinionated conventions can be limiting for teams wanting fine-grained control
- Multi-end (miniapp/Weex) complexity is irrelevant to most web-only projects
- Less hosting/platform first-class support outside Alibaba Cloud
Maturity
Mature and production-proven inside Alibaba with ~18k GitHub stars, active issues, and an established plugin ecosystem. It is a serious, well-maintained framework, though its mindshare and ecosystem outside China remain modest relative to Next.js or Remix.
ice.js
A universal framework based on React.js, 📚 Docs.
Features
🐒 Zero Config: Out of the box support for ES6+, TypeScript, Less, Sass, CSS Modules,etc
🐯 Practice: Practice about file-system routing, state Management, request, etc
🦁 Hybrid: pre-render pages at build time (SSG) or request time (SSR) for default
🐌 Plugin system: The plugin system provides rich features and allow the community to build reusable solutions
🐂 Multi-End: Support both web, miniapp and Weex
Quick start
We recommend creating a new ice.js app using create-ice, which sets up everything automatically for you. To create a project, run:
$ npm init ice ice-app --template @ice/lite-scaffold
npm init <initializer> is available in npm 6+
Start local server to launch project:
$ cd ice-app
$ npm install
$ npm run start # running on http://localhost:3000.
It's as simple as that!
Contributing
Please see our CONTRIBUTING.md
Contributors
Contributors can contact us to join the Contributor Group.