Nest简介
Nest起源于2017年5月,是一款深受Angular影响的服务端框架。
Nest当前的最新版本是5.x,在github上有7K+ star。
Nest采纳了Angular最核心的设计思想和概念,同时也融入了Spring的一些设计思路:
语言层面采用了TypeScript
- Providers,与Angular中的Provider类似
- Modules ,与Angular中的Module类似
- Pipes,与Angular中的Pipe类似
- Guards ,与Angular中的Guard类似
- Decorators,与Angular中的Decorator类似
- Controllers,类似Spring里面的Controller
来两段代码找下感觉:
怎么样?是不是满满的Angular风?
竞品比较
社区上有一些人在鼓吹Nest即将成为NodeJS届的Spring,小编不同意这种观点,虽然Nest的设计思路很优秀,但是想成为Spring那样经久不衰的稳固架构,尚需时日。
目前,市面上Nest的同类竞品主要有Koa2和阿里的egg。来,我们用数据说话: http://www.timqian.com/star-history/#nestjs/nest&koajs/koa&eggjs/egg
考虑到star数量可能存在的水份(据说万能的淘宝上有刷star服务?真是活久见呢),我们还需要一个数据对照组,来看npm上的下载量:
http://www.npmtrends.com/egg-vs-koa-vs-@nestjs/core
从绝对数值上看,Koa依旧是王者,而Nest的下载量已经超越egg(是不是因为cnpm的原因?还需要再做一个精确的对照)。
小编自己的看法
相对于JavaScript,用TypeScript来开发服务端应用更加合适。无论是代码的健壮性,还是大规模团队协同,TypeScript的优势都远远超越JavaScript(包括ES6、7、8、9),因此Nest选用TypeScript是非常聪明的策略。 如果你是Angular开发者,想学习NodeJS开发服务端应用,试试Nest吧。完整的Angular思路,从页面一直撸到Server端,想起来都兴奋呢。 如果你是Spring使用者,想进入前端或者NodeJS领域,试试Angular+Nest,真心爽歪歪。 以上是 @业余小编 自作主张发表的看法,与 @大漠穷秋 无关,如果想喷请喷我,顶我上去。
结论
Nest值得长线看好,如果你的团队刚好是Angular或者Spring的重度使用者,从节约学习时间的角度考虑,Nest是黄金选择。
以下是参考资料链接
github地址:https://github.com/nestjs/nest 官方主页地址:https://www.nestjs.com/ 文档地址:https://docs.nestjs.com/ 本文由 @业余小编 整理编辑,写稿不易,转载请保留署名。 转载自: http://www.ngfans.net/topic/253/post/2
目前我司团队已经用上了Nest开发。开发体验很不错!
基于 nest 的微服务框架正在开发中:https://github.com/notadd/notadd
学习中。。
不错,不过你 notadd 的微服务开发框架看着不是很理解,不像是 spring cloud 那种
@XGHeaven 更想做成类似 zheng 那样的,同时具备微服务特征
学习一下~