Egg 社区版 2.0 正式发布,性能提升 30%,拥抱 Async

简介: ![](https://private-alipayobjects.alipay.com/alipay-rmsdeploy-image/skylark/png/d5fe40ad-97fd-4797-af8d-b0e73ab7d92c.png) --- > 原文地址:知乎专栏 https://zhuanlan.zhihu.com/p/31640541 很荣幸的宣布,Egg 于 1


原文地址:知乎专栏 https://zhuanlan.zhihu.com/p/31640541

很荣幸的宣布,Egg 于 12.3 正式发布 2.0 版本,距 3.21 发布的 Egg 1.0 版本 时隔 8 个月。

2.0 特性

  • 基于 Koa 2.x

  • 框架层优化带来 30% 左右的性能提升,不含 Node 8 带来的提升。
  • 平滑升级,保持了对 Egg 1.x 以及 generator function 的兼容。

如何升级

Egg 的理念之一是渐进式增强,故我们为开发者提供渐进升级的体验。

  1. Node.js 使用最新的 LTS 版本(>=8.9.0)。
  2. 修改 package.json 中 egg 的依赖为 ^2.0.0。
  3. 检查相关插件是否发布新版本(可选)。
  4. 重新安装依赖,跑单元测试。

搞定!几乎不需要修改任何一行代码,就已经完成了升级。

这得益于 Egg 对 1.x 的兼容,但为了更好的统一代码风格,以及更佳的性能和错误堆栈,我们建议开发者参考 升级指南 进一步升级。

未来规划

如您所知,Egg 采用的是『微内核 + 插件 + 上层框架』模式。

其中微内核经过 3 年 4 个版本,以及在阿里的大规模应用,已经打磨的非常稳定。

接下来我们的重心主要在开发者体验方面的优化,包括:

  • 更好的开发者体验,包括 TypeScript,开发者工具,IDE 工具等方面。
  • 社区化运作

    • 协助业界的前端团队,打造适合特定团队业务场景的上层框架,欢迎勾搭。
    • 分享我们在团队、协作、规范化等方面的经验。
    • 分享在 Docker,GraphQL,SSR 等方面的探索和最佳实践分享。
  • 国际化,官网和文档翻译等。

同时,我们也欢迎社区更多的参与,一起打造更完善的生态。

我们这一年

截止至今天(2017-12-03):

  • GitHub 5.6k star,555 forks,npm 月下载量 11,140 (不含阿里内网数据),官网 PV 近万。
  • 从 1.0 到 2.0,我们一共发布了 18 个版本,处理了 820 个 issue,收到来自 90 多位 contributors 的 500+ (主库 272) 个 Pull Request 。
  • 开发者体验方面的优化包括:断点调试代理单元测试+覆盖率部署工具,TypeScript 支持,VSCode 插件,文档优化等等。

社区方面:

趣味数据:

  • 官网访问量中,Mac 占 47% → 这比例挺高的,看来 Node 程序猿都很幸福。
  • 周末的访问量约为平时的 1/3 → 看来 Node 程序猿周末加班少。(滑稽
  • 官网访问来源:站内,直链,外链各 30% 多,来自搜索引擎的较少。

分享交流:

一些吐槽:

  • 我们最常遇到的问题:

    • Ajax 遇到 csrf 安全问题
    • config.keys 报错
    • 配置错误,不懂 module.exportsexports 区别
  • 我们最头痛的问题类型:

写在最后

开源,痛并快乐着。

image.png

顺便拉下票,OSChina 开源中国正在举办 2017年度最受欢迎中国开源软件评选,请为 Egg 打 Call~

目录
相关文章
|
存储 前端开发 JavaScript
ahooks 正式发布:值得拥抱的 React Hooks 工具库
ahook定位于一套基于 React Hooks 的工具库,核心围绕 React Hooks 的逻辑封装能力,降低代码复杂度和避免团队的重复建设为背景,共同建设和维护阿里经济体层面的 React Hooks 库。
22866 1
ahooks 正式发布:值得拥抱的 React Hooks 工具库
|
6月前
|
安全 编译器 Swift
苹果重磅发布Swift 6:在 Swift 6 中如何实现并发开发?相比Swift 5.5 有哪些重磅升级?
Swift 6 强化了并发编程,引入结构化并发、任务、执行器、隔离、同步原语、类型化错误处理和取消超时功能。对比Swift 5.5,它默认启用全面并发检查,改进错误处理,增加了隔离区域、类型化抛出、包迭代等新特性,优化了性能并更新了库。
123 2
|
7月前
|
JavaScript 前端开发 安全
TypeScript的社区支持如何影响其生态的繁荣和更新?
【6月更文挑战第1天】 TypeScript的社区支持如何影响其生态的繁荣和更新?
62 7
|
存储 安全 中间件
阿里云中间件开源项目新版本发布 | 学习笔记
快速学习阿里云中间件开源项目新版本发布
阿里云中间件开源项目新版本发布 | 学习笔记
|
存储 缓存 自然语言处理
【字节跳动青训营 】高性能 Go 语言发行版优化与落地实践
1.自动内存管理概要 Auto memory management: 自动内存管理 Grabage collction: 垃圾回收 Mutator: 业务线程 Collector: GC 线程 Concurrent GC: 并发 GC Parallel GC: 并行 GC Tracing garbage collection: 追踪垃圾回收 Copying GC: 复制对象 GC Mark-sweep GC: 标记-清理 GC Mark-compact GC: 标记-压缩 GC Reference counting: 引用计数 Generational GC: 分代 GC Young gene
232 1
【字节跳动青训营 】高性能 Go 语言发行版优化与落地实践
|
消息中间件 缓存 NoSQL
Redis 社区的发展与国内开发者的贡献
阿里云从 Redis 4.0 开始深度参与到社区的开发中,也向社区贡献了大量代码,比如 PSYNC2、pipeline 的优化、数据一致性的增强以及其他实用功能,比如基于 LFU 的热点 KEY 查询功能等。
1349 0
Redis 社区的发展与国内开发者的贡献
|
Dart JavaScript 前端开发
2亿用户背后的Flutter应用框架Fish Redux
在闲鱼深度使用 Flutter 开发过程中,我们遇到了业务代码耦合严重,代码可维护性糟糕,如入泥泞。对于闲鱼这样的负责业务场景,我们需要一个统一的应用框架来摆脱当下的开发困境,而这也是 Flutter 领域空缺的一块处女地。
318 0
|
前端开发
「vue3组件库」如何从0到1参与大型开源项目成为贡献者🎃
「vue3组件库」如何从0到1参与大型开源项目成为贡献者🎃
295 0
「vue3组件库」如何从0到1参与大型开源项目成为贡献者🎃
|
存储 资源调度 前端开发
Sentry 开发者贡献指南 - 前端(ReactJS生态)
Sentry 开发者贡献指南 - 前端(ReactJS生态)
208 0
|
移动开发 Dart 前端开发
React Native 迎来重大架构升级,性能将大幅提升
7 月 14 日,React Native 核心团队的 Joshua Gross 在 Twitter 说,RN 的新架构已经在 Facebook 内部落地了,并且 99%的代码已经开源。这次的架构升级“蓄谋已久”,Joshua 说他们从 2018 年 1 月就开始规划了。
507 0
React Native 迎来重大架构升级,性能将大幅提升