From EggJS to Artus: The Next Pure Backend Framework for Cloud‑Native Apps
The article traces EggJS’s seven‑year evolution, explains its original goals and architectural limits, discusses the shift toward TypeScript and cloud‑native design, and introduces Artus—a new pure framework of frameworks aimed at simplifying backend development and plugin reuse.
EggJS has been open‑source for seven years, originally designed to help front‑end architects create upper‑layer frameworks tailored to team business scenarios. It provides a Loader specification, extensible plugins, and a progressive development model that addresses enterprise framework customization and unified maintenance challenges.
In practice, the egg-core library serves as the framework‑of‑framework, while egg bundles common plugins for an out‑of‑box application framework. This design, though popular, imposes constraints on customizing higher‑level frameworks.
At that time, TypeScript was not yet the standard, so JavaScript aligned with TC39 specifications was the mainstream choice. Later, declaration merging improved loader dynamic loading and IntelliSense, but the .d.ts ecosystem remained poorly maintained, making a full TypeScript rewrite of EggJS’s core low‑ROI, especially given the slow adoption of ESM.
In April 2019, the EggJS 3.0 milestone was set, with the team favoring ES Module development and cloud‑native support to address BFF and Serverless operational costs. The focus shifted to PaaS and middleware cloud‑nativeization, while the existing customization capabilities of the application framework were deemed sufficient.
Due to various reasons, EggJS 3.0 was delayed and finally released in 2022. In 2021, the project was revived, producing the first 3.0 RFC and reigniting community interest. Based on the RFC, the team decided to create a new, purer core that resolves maintenance pain points and meets diverse company needs.
The new core, named Artus (Latin for “framework”), offers:
Pure framework of frameworks: plugin reuse and upper‑framework encapsulation with progressive development experience.
Protocol request handling model: no longer based on Koa, removing built‑in protocol plugins and freeing the framework from HTTP‑only scenarios.
IoC‑based mounting mechanism: embraces TypeScript.
Manifest‑based loading mechanism: adds build‑time behavior, enhancing enterprise‑level extensibility.
Artus has just been launched and is still being refined. The team will share its story at the NodeParty online live stream on 2022‑08‑08, hosted by Alipay Experience Technology.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Alipay Experience Technology
Exploring ultimate user experience and best engineering practices
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
