-
-
Notifications
You must be signed in to change notification settings - Fork 107
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
知乎: 如何评价阿里开源的企业级 Node.js 框架 egg? #18
Comments
https://www.zhihu.com/question/55271199/answer/143741434。 这个链接点过去,会把。 带过去,导致知乎网页404. 😊 |
@devbian 已改, 3x |
https://eggjs.org/release 发现俩错误链接 😄。 |
欢迎 PR 修复
发自我的 iPhone
… 在 2017年2月10日,18:00,Kainy Guo ***@***.***> 写道:
https://eggjs.org/release
https://eggjs.org/api
发现俩错误链接 😄。
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
找了下,发现这分支 https://github.com/eggjs/egg/tree/new-site2/docs API 文档就是空的额,release 目录也暂时没有内容。
|
@kainy 最新的官网应该已经修复了 |
哦哦 改版了呀,不错不错。
|
后续值得关注的 issue 讨论,会收录到每期的 eggjs-feed |
不错不错,官网好漂亮。 |
一位持续于专注后端的学生党,现在从Java到node.js ,用过express koa后贸然转型想做全栈,入坑egg中,就担心 KPI 问题,估计egg再火,BAT中的BT也不会用 。只怕学完变成以后工作的“周末玩具”~~不过还是会坚持学完,方便以后造轮子XD |
@cncoder 这么说吧,作为一个学生,能这么早关注业界的东西,挺不错的了。 但有几点建议:
|
@atian25 本人还是过于急功近利了,在各种技术间辗转反侧,只有广度没有深度略感害怕,其实底层的只知识才是最重要的是吗~~作为学生还不是很了解业界的玩法,也就一直跟着BAT这样的大玩家走。很多想法也纯属个人YY,请见谅。最后的那段话会记住的,感觉像个英语作文考试模板😂,放之四海而皆准。因为时常去面试总觉得做了的东西没有说出来,挺浪费的,这次知道了。谢谢大大回答。 |
醍醐灌顶。 |
最近尝试用eggjs框架来进行项目开发,发现eggjs和sails在框架结构与约定,部署等方面有很多相似之处,都是相对稳定的企业级node框架,eggjs比sails相比有更多的插件支持,让开发者更加直观便捷的操作(如日志、错误返回、数据访问等),能让开发者更加容易的编写、测试与部署。但是在使用的过程中又多少有些感觉框架过度,不容易修改,比如restful api 方面没有restify的框架灵活。另外eggjs文档也是相当全面,写文档其实是一份相当大工作量,eggjs的团队真的很有责任心。感谢eggjs团队提供优秀的开源框架,也希望eggjs不断更新,让框架更加灵活、稳定,也希望使用框架的开发者能够为eggjs提供一些开源的插件,让更多开发者受益。 |
egg-rest 只是一个单独的插件而已,框架过度这个锅我们不背~ 社区的开发者完全可以重写一个类似的插件,来实现 restify 那样的灵活的。 |
有技术交流群吗 |
@sky185959 都是在GitHub通过issue交流的 |
作为一个 node 开发的新手,新项目调研正在纠结是用 egg,还是直接用 koa。想用 egg 是因为,没有 node 项目开发的沉淀,只是了解一些基础的知识,实际开发中不免痛苦以及重复造一些坡脚的东西,直接用 egg 显然可以减少很多工作;也考虑到后期项目维护,人员增大时,会有规范去约束。不过担心的也于此,使用 egg 开发,去了解 egg 的 API 和思想,会不会不如直接使用 koa 不断的踩坑,平滑一些,学的多一些。另外,npm scripts 也是担心的,内部的 bin 文件还需要去看到底做了什么,不如直接自己写来的简洁易懂,而且我 run dev 就出现了错误,再去花时间查错也是所担心的。 |
@sunyongjian 每个人有每个人的学习方式,这个看你自己了。 就像 @floveluy 的方式是先看完别人的源码,然后造个轮子来验证学习。 就我个人而言,日常私下学习造轮子啥都没问题,但业务中就不能这么任性了。 |
开发人员不再是『钉子』,可以流动起来 这句话表示不赞同 |
|
谢朴老师邀请。
利益相关: egg 团队成员,jsconf china 2016 的 egg topic 的演讲者。
本文较长,包含以下内容,比较忙的同学可以跳阅:
1. Node.js 在阿里
阿里是业界最早的一批使用 Node.js 来做线上大流量应用的公司,早在 2011 年的就已经开始在生产环境中使用。
众所周知,在阿里的技术栈中, Java 是最最核心的,那 Node.js 扮演怎么样的一个角色呢?
据不完全统计,目前阿里 Node.js 的开发者几百号人,线上的应用也非常之多,仅次于 Java 应用,光对外服务的进程数就超过 1w+。
2. 我们面对的挑战与机遇
Node.js 的使用是越来越多了,但整个基建和生态却跟不上:
面对上述的挑战,阿里的 Node.js 先驱者们,做了非常多的探索和努力,如:
也正是因为他们一代代的努力,Node.js 在阿里才能落地生根,才有今天这繁荣。
对这块有兴趣的同学,可以开个问题邀请苏千/死马等人讲讲他们当年在阿里的开荒史。
3. egg 在阿里的定位
egg 也是这一时代洪流中的新生一员,它面向的领域是:
企业级的 web 基础框架
。egg 目前是阿里 Node.js 应用的核心基础设施,担心是 KPI 产物的同学,可以放宽心了。
有哪些人参与到 egg 的开发和维护中?
同学们也不用担心 egg 只适合阿里或电商类应用:
4. egg 的设计理念
4.1 约定优于配置
一个大规模团队的基础框架,最重要的是需要遵循一定的约束和约定。
没有约定的团队,沟通成本是非常高的,比如有人会按目录分栈而其他人按目录分功能,开发者认知不一致很容易犯错。通过约定可以减少开发人员的学习成本,开发人员不再是『钉子』,可以流动起来。
egg 最核心的东西,其实就是一套约定和规范,这个规范不仅仅是开发目录的约定,还包括了开发过程中,从提案讨论,编码风格,code review 等等方方面面的规范化。
其实大家的基础框架用不用 egg 真的无所谓,最重要是有一套适合团队的约定。
egg 给社区最有价值的回馈是:
当然,我们推荐基于 egg 来定制上层框架:
4.2 插件机制
插件机制是 egg 的一大特色,它不但可以保证框架核心的足够精简、稳定、高效,还可以促进业务逻辑的复用,生态圈的形成。
经典范例如 egg-security,就集合了阿里集团的多年安全经验积累,具体可以看下 egg 文档 - 安全。
同时,差异化定制不意味着没有约定,它只是下层插件实现的差异化,而上层开发体验是一致的:
4.3 框架机制
上面提到的插件机制,很灵活,但是对于企业级应用来说,却还不够。
如果你的团队遇到过:
gulpfile.js
/webpack.config.js
之类的文件。如果你的团队需要:
为此,egg 为团队架构师和技术负责人提供
框架定制
的能力,框架是一层抽象,可以基于 egg 去封装上层框架,并且 egg 支持多层继承。这样,整个团队就可以遵循统一的方案,并且在项目中可以根据业务场景自行使用插件做差异化,当后者验证为最佳实践后,就能下沉到框架中,其他项目仅需简单的升级下框架的版本即可享受到。
4.4 质量保障和技术支撑
^
引入我们的模块。4.5 其他
与其他框架的对比
其实不是一个层面的,sails , hapi 这些框架,通过 egg + 对应的插件封装成上层框架,就一样了。
egg 与 koa 的关系
5. 我个人在参与 egg 开发过程中的收获
回顾这几年,我个人感觉是非常幸运的,13 年的时候,跟着云龙做前端工程化,15 年则是参与到 egg 的整个开发过程中。
在这旅途中,我熟悉了堪称教科书式的基于 Git Pull Request 的异步硬盘式协作模式;我学习到不少大规模应用中的经验总结;这一段经历让我受益良多,永远无法忘怀,在无数个大半夜,一帮人还在 issue 上讨论的热火朝天。
很幸运自己能参与到阿里的 Node.js 发展中搬一两块砖,这里的基建和生态真的非常完善:
有好奇心的同学,在杭州的,不妨亲自进去看看,不信,你看叔叔 @徐飞 。
而在广州的同学,也可以过来 UC 这边体验下,我们的内部交流通道非常顺畅。https://www.zhihu.com/question/55271199/answer/143741434 。
最后,回过头来看,我个人是挺感慨的,这么短时间,完全没有政治命令,大家主动拥抱共建,对于阿里这样如此大规模的多部门的公司,真可谓奇迹。
国内的开发者真的不用妄自菲薄,这几年,越来越多的国内框架如 ant design,element,weex,macaca 等等,正走出国门,拥抱世界。
以上
--
The text was updated successfully, but these errors were encountered: