Nest来了:Angular风格的Server端框架
发布于 2 个月前 作者 zuohuadong 2315 次浏览 来自 分享

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

来两段代码找下感觉:

image.png

怎么样?是不是满满的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

20 回复

目前我司团队已经用上了Nest开发。开发体验很不错!

基于 nest 的微服务框架正在开发中:https://github.com/notadd/notadd

不错,不过你 notadd 的微服务开发框架看着不是很理解,不像是 spring cloud 那种

@XGHeaven 更想做成类似 zheng 那样的,同时具备微服务特征

@zuohuadong zheng 是什么? 不过我还是喜欢 Spring Cloud 这样的

ng也玩 服务端渲染吗?

来自拉风的 Taro-cnode

学不过来了

来自拉风的 Taro-cnode

真的学不过来了

来自拉风的 Taro-cnode

@icai nest 是后端框架,只不过是 angular 风格。 跟你说的 服务端渲染完全不是一回事

Angular风格?我怎么看着像spring风格啊

@justjavac 应该是 angular 学 spring 。。。。所以 nest 像spring

@zuohuadong 名字好像啰😑😂

来自拉风的 Taro-cnode

@icai 之前 nest.js nuxt.js next.js 傻傻分不清~ 哈哈哈

@luluzero 用它之前用的是什么?

@chapgaga 之前用的koa2自己搭建的开发框架,用这类框架的最大好处就是 约定大于配置。团队开发项目可以节省很多在讨论代码如何组织上面的时间。

好吧。。。第一次看见对比框架是对比 github 的 star 数,而不是执行效率等。

@JZLeung 转载的,不过 执行效率的话 nest.js 取决于你底层用的是 express 还是 fastify 。 nest.js 是 node.js 里,目前有且唯一一个类spring 的AOP 框架。 对比分层,对比设计 就有点太欺负人了。

回到顶部