鸽了 3 年的 Egg 3.0 带来了一个好消息!

简介: 鸽了 3 年的 Egg 3.0 带来了一个好消息!

点击预约 NodeParty 线上直播哟👇🏾


8月8日,NodeParty 线上直播,多位 Node.js 领域专家邀你一起云端相聚,快来预约直播吧!

EggJS 开源已经 7 年了,它的初心是能帮助前端架构师孵化出适合团队业务场景的上层框架,为此它提供了一套 Loader 规范以及延伸出的插件和框架能力,并支持渐进式的研发模型,从而很好的帮助开发者解决了企业框架的差异化定制与统一维护问题。



在具体实现上,其实 egg-core 这个库才是框架的框架的承载者,egg 则是一个集成了常用插件列表的可以开箱即用的应用框架。这是当时设计上的一个局限性,虽然也正因如此让 EggJS 在社区使用更广泛,但毕竟给上层框架的定制带来了一些束缚。

同时在那个时代,Typescript 还不像今天这样成为事实标准,采用 JavaScript 并拥抱 TC39 的规范才是当时的主流共识。虽然我们后续通过 Declaration Merging 的方式,很好的解决了 Loader 动态加载带来的智能提示问题。但插件的 d.ts 生态这块一直没有很好的维护。在应用层可以完全使用 TS 的情况下,使用 TS 重写 EggJS 底层代码是一个 ROI 不太高的事,毕竟谁也没想到 ESM 在未来几年的时间内居然发展的如此之慢。尽管如此,EggJS 为什么不基于 Typescript 编写,以及何时能支持更加彻底的 Typescript 编程界面而非约定优先的 Javascript 挂载风格,类似这样的讨论几乎伴随着整个 EggJS 自身的发展周期内。

2019 年 4 月的时候,EggJS 3.0 的里程碑第一次被确立下来,彼时 EggJS 团队的声音还是倾向于基于 ES Module 开发,更好的支持云原生为主要的演进方向,因为我们判断 BFF 到了一个需要 Serverless 解决运维成本的时候了,更多精力投入到了这一块探索中,对于这一个目标而言,更多的投入是在于 PaaS 和 中间件服务 的云原生化,在应用框架这一层现有的定制能力基本能满足。

之后因为种种原因,EggJS 3.0 最终没能在当年预设的十月如期发布,可能发布 3.0 Milestone 的 贯高 自己也没想到,这一鸽就到了 2022 年。

直到 2021 年我们重启了 Egg 3.0 的项目,产出了第一份 3.0 RFC(https://www.yuque.com/egg/3.0/rfc-v1),又重新吸引回小伙伴们的目光,最后经过各方的讨论,我们决定在 RFC 的基础上继续做一个能更加彻底解决 EggJS 维护过程中的痛点,同时可以满足各个小伙伴所在公司需求的全新驱动内核,更纯粹的框架的框架。



  • 更纯粹的框架的框架:提供插件复用能力及上层框架封装能力,渐进式的研发体验,初心不能忘。
  • 协议请求处理模型:不再基于 Koa,同时剥离原来的各种协议相关的内置插件,不再局限于 HTTP 场景。
  • 基于 IoC 的挂载机制,拥抱 TypeScript。
  • 基于 Manifest 的加载机制,新增构建期行为,增强企业级的扩展能力。

正如同 Egg 是框架的框架,拉丁语是英语的源头,因此我们把这个框架起了一个新的名字:Artus,它来自于拉丁语的框架。

Artus 刚刚面世,还在持续完善中,不过也是时候跟大家打个招呼了,我们将在支付宝体验科技举办的 NodeParty 2022.08.08 线上直播中分享跟它相关的故事,欢迎关注。


相关文章
|
5月前
|
人工智能 JavaScript 程序员
Fitten Code:在VSCode插件市场备受欢迎的原因是什么?
随着AI技术的不断发展,AI在编写代码方面的能力也日益强大。充分利用AI的能力能够显著提高代码编写的效率和质量。今天我将向大家介绍一款备受瞩目的AI代码神器——Fitten Code,让我们一同揭开它神秘的面纱!
503 3
|
3月前
npm-check【实用教程】升级项目中的依赖
npm-check【实用教程】升级项目中的依赖
45 0
|
5月前
|
算法 Java Android开发
安卓逆向 -- 实战某峰窝APP(静态分析)
安卓逆向 -- 实战某峰窝APP(静态分析)
59 0
|
5月前
|
缓存 编译器 Go
Build实战指南:优雅编译,高效开发
Build实战指南:优雅编译,高效开发
88 0
|
数据安全/隐私保护 Android开发
浅谈build.gradle写法,促使我们更高效开发
浅谈build.gradle写法,促使我们更高效开发
156 0
|
缓存 Rust JavaScript
学不动了,Vercel 推出比 Vite 快 10 倍的打包器 Turbopack
Vercel 是由 Guillermo Rauch 创立的云服务公司,前身为 Zeit,有 Next.js、Node.js 的 websocket 框架 socket.io 和 MongoDB 客户端 mongoose 等知名开源项目为大众所知。Next.js 为了实现后端渲染,重度使用了 JS 生态中的打包构建工具 webpack。
724 0
学不动了,Vercel 推出比 Vite 快 10 倍的打包器 Turbopack
|
前端开发 JavaScript 安全
一文看懂 babel - 为何诞生、做了什么、怎么做的
babel 在前端快速发展的最近几年,为前端的工程化提供了莫大的帮助,解决了前端各种浏览器兼容问题导致的 js 崩溃,让我们可以放下的用上新的各种 es6、es7 等新语法,今天聊一聊 babel 的工作原理。
|
资源调度 JavaScript 数据挖掘
Vite插件开发纪实:vite-plugin-monitor(上)
Vite插件开发纪实:vite-plugin-monitor(上)
|
中间件 C++
Vite插件开发纪实:vite-plugin-monitor(中)
Vite插件开发纪实:vite-plugin-monitor(中)
|
监控 JavaScript
Vite插件开发纪实:vite-plugin-monitor(下)
Vite插件开发纪实:vite-plugin-monitor(下)