EggJS 10000 Star + 2 years - 阿里 Node 企业级框架 ✨✨✨

2016 年 9 月,我们在 JSConf China 2016 上宣布了 Egg 开源,至今整整 2 年了。在 Egg 2.0 发布通告 提到,核心代码已经很稳定,后续重心主要在开发者体验方面的优化。

Egg 是阿里 Node.js 的核心基础框架,面向『企业级的 Web 基础框架』这个领域,提供了「微内核 + 插件机制 + 框架定制能力」,完美达成生态共建和差异化定制的平衡点。

既适合个人小项目快速开发,也适合团队架构师基于自身的技术架构在 Egg 基础上扩展出适合特定团队业务场景的框架。

它沉淀自阿里在各行各业不同领域的大规模工程实践经验,稳定支撑了多年天猫双11大促,顶级流量压力。

接下来跟大家分享下,过去 9 个月里面,我们的一些产出和数据,本文较长,请慢慢品用:

未来规划开发者数据

图片[1]-EggJS 10000 Star + 2 years - 阿里 Node 企业级框架 ✨✨✨-JieYingAI捷鹰AI

正在使用 Egg 的公司,不完全统计:

顺便分享一个 cnpm 的统计数据:

图片[2]-EggJS 10000 Star + 2 years - 阿里 Node 企业级框架 ✨✨✨-JieYingAI捷鹰AI

图片[3]-EggJS 10000 Star + 2 years - 阿里 Node 企业级框架 ✨✨✨-JieYingAI捷鹰AI

文化衫活动

欢迎大家访问以下链接,分享你们的实践经验,有机会获得 Egg 文化衫和相关周边喔~另外,第 10000 Star 的同学 godmeir 请联系我们。

『2018 年 EggJS 怎么样了?对它的看法有什么变化?』

图片[4]-EggJS 10000 Star + 2 years - 阿里 Node 企业级框架 ✨✨✨-JieYingAI捷鹰AI

开发者体验优化

接下来跟大家分享下这段时间来,我们在『开发者体验』方面做的一些优化。

TypeScript

这几年来 TypeScript 很受欢迎,它的静态类型检查,智能提示,IDE 友好性等特性,对于大规模企业级应用,是非常的有价值的,被视为是企业级 JS 开发的未来之一。

阿里内部实践 TS 也蛮久了,在 5 个月前,也把我们的其中一部分成熟的实践,分享出来:『天猪:当 Egg 遇到 TypeScript,收获茶叶蛋一枚』

非常感谢 @吖猩 在这领域的持续贡献:

这块目前还在持续优化中,有兴趣的同学可以参与以下几项优化:

PS: Egg.js 本身不会使用 TypeScript 重写,对于框架本身而言,JS 的灵活性可以让它更容易实现一些特性,同时它也并没有那么复杂的业务逻辑,TypeScript 并无法给框架研发带来更多的帮助。

生命周期

之前 Egg 提供给开发者在启动期的钩子不多,只有 beforeStart 几个。感谢 killagu 同学给我们补充了更细致的生命周期,相关的 RFC 和文档如下:

// app.js
class AppBootHook {
  configDidLoad() {
    // Config, Plugin files have did load.
  }
  async didLoad() {
    // All files have did load, start plugin here.
  }
  async willReady() {
    // All plugins have started, can do some thing before app ready.
  }
  async didReady() {
    // Worker is ready, can do some things don't need to block the app boot.
  }
  async serverDidReady() {
    // Server is listening.
  }
  async beforeClose() {
    // Do some thing before app close.
  }
}

Alinode

Node 发展到今天,已经被越来越广泛地应用到前后端分离、全栈开发、客户端工具等领域。然而,相对于应用层的蓬勃发展,其 Runtime 对于绝大部分前端出身的开发者来说,处于黑盒的状态,这一点并没有得到很好的改善,从而也阻碍了 Node.js 在业务中的应用和推广。

作为一个 Node 开发者,最头痛的事莫过于莫名其妙的 CPU 100% 和内存泄露导致的 OOM。

所幸的是,阿里云 @朴灵 团队的 Node.js 性能平台 为 Node 开发者提供了:性能监控、安全提醒、故障排查、性能优化 等服务的整体性解决方案,提供完善的工具链和服务,协助开发者快速发现和定位线上问题。这些年来,为我们解决了非常多的线上问题,为业务保驾护航。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
来说点什么吧!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容