加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

Node.js主流Web框架比拟

发布时间:2019-09-04 10:28:02 所属栏目:移动互联 来源:noder
导读:Node.js是专注高机能处事器开拓的javascript运行情形。我们将在这篇文章向各人先容几款主流Node.js Web框架的特点及优弱点,但愿给各人作为参考。 首要参考的Node.js Web框架包罗:express, koa, hapi, restify, fastify, eggjs, thinkjs, Sails, Adonisjs

Node.js是专注高机能处事器开拓的javascript运行情形。我们将在这篇文章向各人先容几款主流Node.js Web框架的特点及优弱点,但愿给各人作为参考。

首要参考的Node.js Web框架包罗:express, koa, hapi, restify, fastify, eggjs, thinkjs, Sails, Adonisjs, NestJS。

Benchmarks
  • 测试呆板:macos i5 8g
  • 测试器材:wrk -c 100 -t 10 -d 1m http://127.0.0.1:3000
  • Node: v12.4.0

Node.js主流Web框架比拟

Nodejs Web框架压测

着实单单helloworld的压测意义不是很大,可是也可以给我们做个简朴的参考。个中express, koa2, hapi, restfiy, fastify属于微框架,eggjs, thinkjs, Sails, Adonisjs, NestJs要稍重一些。个中Sails, NesstJs是基于express,eggjs, thinkjs是基于koa2。我们可以看到Fastify的qps是最高的,Adonisjs垫底。

Github Star

Node.js主流Web框架比拟

Nodejs Web框架Github Star

Github Star量必然水平可以回响出框架的受接待水平,我们可以看到,Express 星星最多,事实是老牌框架,thinkjs垫底。

NPM 每周下载量

Node.js主流Web框架比拟

Nodejs Web框架每周下载量

npm每周下载量可以真实回响框架今朝的受接待水平,我们看到Express已经是独领风流,着实内里尚有基于Express做底层的Web框架的量。thinkjs的示意长短常差,只有367的量。

Node.js主流Web框架比拟

评测

小我私人概念,仅供参考

  • Express

Node界最老牌的Web框架,最成熟,生态最好。提供了基本的哀求上下文封装,路由,中间件,模板引擎接口,静态资源处事。麻雀虽小,五脏俱全。很利便的举办扩展,大量的基于Express的框架。

  • Koa

Express原班人马打造,界说为下一代Web开拓框架。仅提供一个哀求上下文,中间件机制,没有绑缚任何中间件。通过操作async/await,让你写出更优雅的代码。利便开拓者针对自身需求开拓自界说框架。

  • Hapi

hapi是由沃尔玛尝试室的移动团队建设的,Hapi 是一个用来构建基于 Node.js 的应用和处事的富框架,使得开拓者把重点放在便携可重用的应用逻辑而不是构建架构。内建输入验证、缓存、认证和其他 Web 应用开拓常用的成果。没有中间件,但提供了强盛的插件机制。

  • restify

专注于REST api开拓。提供了handle的链式挪用及插件机制。

  • Fastify

Fastify号称是最快的Nodejs web框架,在Json输出的场景下,通过Json Schema序列化为Json数据,可以到达原生JSON.stringify 2倍的机能,在极度环境下可到达10倍速。回收工具池,将哀求上下文包装工具举办复用。行使trie树存储路由,查找服从更高(在大量有路由的环境下)。Fastify提供了强盛的插件机制,通过插件可以支解路由及中间件。

  • egg

eggjs是由阿里推出的一款web企业级框架,提供了完备的Web开拓所需的组件,行使koa作为底层。行使了约定大于设置的理念,提供强盛的插件机制,利便扩展。

  • thinkjs

thiinkjs是由360推出的,基于koa开拓,小心了ThinkPHP的一些理念,低落了开拓者的行使难度,行使了类是许多php框架的默认路由,行使了担任和钩子要领来重用逻辑。

  • SailsJs

Sailsjs可以算最早开始做集成度很高的框架,底层基于express,Nodejs上的Rails。

  • NestJs

NestJs的首要卖点是TypeScript的完全支持。大量的行使装饰器,代码看起来清新多了。orm回收TypeORM,行使范例加装饰器,代码比一样平常的orm整洁得多。

  • AdonisJs

AdonisJs是Nodejs上的Laravel。

【编辑保举】

  1. 全天下到底有几多软件开拓职员?
  2. 全天下到底有几多软件开拓职员?
  3. 面向中级 Python 开拓职员的 13 个项目构思
  4. 苹果跳级 直接推出iOS 13.1开拓者测试版
  5. 写给开拓职员:为什么朝九晚五不得当我们?
【责任编辑:张燕妮 TEL:(010)68476606】
点赞 0

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读