egg会普及吗
发布于 2 年前 作者 1134506391 3372 次浏览 来自 分享

如题

26 回复

做一个用户注册登陆的插件,包括email认证、短信认证、找回密码等,类似meteor account,phoenix的coherence 做一个后台admin插件,自动根据model生成admin,类似meteor的orionjs phoenix的exadmin 然后所向披靡。

看需求适合用什么框架,正式版已经发布挺长时间了吧,现在的话有需求随时就可以用。

发展的话,感觉推广力度不足,github上面才8千Star,也没有进Trending,不够火。

https://trends.google.com/trends/explore?q=eggjs,koajs,expressjs 貌似只有中国有人用?。。。

egg.js好像用的人越来越多了,看看这个帖子,回复量多少。中国人很厉害的。半年时间把vue吵得那么火。发现最近cnode上面关于egg.js的帖子非常多

https://cnodejs.org/topic/5b7ac9c7c52ad1482eb940bf

从用户趋势来看: egg 对ts 的支持还是很弱。 github 的star 也放缓了。 从蚂蚁金服的情况来看: node.js 并没有替代 java 的计划。

从框架优雅程度来说,nest.js 无疑更适合,也更像 spring 。 这俩的star 差距也从 3k 缩小到 1k 了

@zuohuadong node.js 并没有替代 java 的计划,是不可能替代吧:)

egg还是很不错的框架哦

@chapgaga 1. java 比较早,有多年积累了。 2. js 语法上不适合,但是 typescript 就好很多了。 3. 异步IO 带来的一些问题。 不过,nest.js 已经很像 spring 了。

@zuohuadong 从公司项目角度看,确实nestjs更好

替代JAVA就算了,node和java的在大规模应用上的适用场景不一样

@zuohuadong 你现在主要搞Java,还是Node呢?

@chapgaga 现在基本都是 nest.js 了,公司其他成员也是 java 转 nest.js

@zuohuadong 准备完全放弃Java了?

@assmdx next.js 是 给 react 用的前端框架。 nuxt 是给 vue 用的前端框架。

nest.js 是后端类spring 框架。

另外建议 eggjs nestjs expressjs 一并对比

image.png

nest.js 强势上升

@chapgaga 恩,目前来说没有使用的必要了~ nest.js 目前来说够用了,一些设施比较欠缺

@zuohuadong 你们的系统不大吧:)

@chapgaga 目前只是做了微服务和k8s集群。 分库分表目前还没考虑。 跟硬件间接的通信比较多,hdfs ,模型缓存等等。 node.js 这方面还算可以

@zuohuadong 模型缓存指的是什么?

@chapgaga 模型文件(obj) ,用 node.js 做了个缓存,方便客户端拉取

@zuohuadong obj很大么:)是不是很多小文件

@chapgaga 2-5M 不算大~ 主要是感觉 node.js 基本上什么都能做,哈哈

@zuohuadong squid再也不用了么:)

@chapgaga 还需要比对数据库。 node.js 能做,性能什么的要求也不高。

eggjs在蚂蚁内部使用比例挺大的,特别是偏应用层面的项目。当然底层核心的服务肯定还是java。

我个人一开始在不得不用的情况下也持有一些担心,害怕社区的支持力度不够,或是这是个纯粹的kpi项目。但到现在我在自己的项目中也愿意使用egg,老实说我自己也有点惊讶,总结一些应该主要是这些原因:

  1. egg在设计上用的是非常传统的MVC抽象,但确实非常适合逻辑复杂的、和在不断扩展的业务。我经常会发现,产品和其他同事提的新需求,只需要把已有的service拿出来在组装一个新的就行了。
  2. egg会尽可能将模块的特性抽象到配置文件的层面上,使用中感觉,抽象到配置文件的层面确实是比代码层面更容易维护。再加上我们可以对不同的运行环境提供不同的配置文件,对本地、日常、预发、线上环境都能比较方便地做处理。
  3. 很多场景都考虑到了。像是agent,你一台机器上开了4个进程,但实际上你只需要一个进程来连接数据库、redis,那你用agent连接,其他应用再和agent交互就行了。

要说不好的地方的话,主要还是文档上。最早的时候,不少问题只能通过代码去推测使用方式和实现细节,有时候找一个点要绕不少弯。文档的问题现在或许改善了不少。

感觉没办法和koa和express直接做对比,因为koa和express是非常基础的框架,它们没有限制你怎么去做一件事情的同时,多人协作下非常容易因为每个人风格的不同产生问题。简单的项目我愿意用koa和express,但相对复杂的项目,如果用koa和express的话,我想我会一边开发一个面向我们业务的框架,一边开发业务。这类情况下对我来说不如直接用egg。

@oyyd 文档那块具体指?是内部一些 buc 的早期插件么?还是说官网的文档?

另外,邀请你回答下:https://www.zhihu.com/question/273783655

@atian25 buc的插件倒是没碰到太多问题。有点早了,主要是当时可见的文档我记得是根据注释生成的,而注释大多都是关于egg内部使用的说明,面向的大多是egg的开发者的。感觉它不能帮我把egg当黑盒来用,让我只关心我关心的东西。

哈哈,知乎还是邀请完全无关联的人员来回答更有说服力吧。

回到顶部