node.js后端框架介绍_node.js后端框架及作用-程序员宅基地

技术标签: nodejs  Ai扑社  

作者:陈健
Node.js有许多框架可以选择,包括老牌的express,koa,新晋的egg,nest等等

首先可以通过一个表格来看一下各个框架的受欢迎程度:

在这里插入图片描述

1.Express

Express是一款基于node.js以及ChromeV8引擎,快速、极简的JS服务端开发框架,它提供了用来开发强壮的web/移动应用,以及API的所有功能。并且开发人员还能够方便地为它开发插件和扩展,从而增加Express的能力。下面列出了一些Express提供的基本的功能:

–可以和任何的第三方数据库进行通讯

–可以使用任何的用户认证方式

–可以使用任何符合Express接口定义的模板引擎

–可以按照需要定义工程目录

2.KOA

KOA框架由Express原班人马打造,它的核心是ES6的generator。KOA使用generator来实现中间件的流程控制,使用try/catch来增强异常处理,同时在KOA框架中你再也看不到复杂的callback回调了。KOA框架本身非常小,只打包了一些必要的功能,但是它本身通过良好的模块化组织,让开发人员可以按照自己的想法来实现一个扩展性非常好的应用。

3.Nest

Nest是一个用于构建高效,可扩展的Node.js服务器端应用程序的框架。它使用渐进式JavaScript,内置并完全支持TypeScript(但仍然允许开发人员使用纯JavaScript编写代码)并结合了OOP(面向对象编程),FP(函数式编程)和FRP(函数式响应编程)的元素。

Nest框架底层HTTP平台默认是基于Express实现的,所以无需担心第三方库的缺失。Nest旨在成为一个与平台无关的框架。通过平台,可以创建可重用的逻辑部件,开发人员可以利用这些部件来跨越多种不同类型的应用程序。从技术上讲,Nest可以在创建适配器后使用任何NodeHTTP框架。Nest提供了一个开箱即用的应用程序架构,允许开发人员和团队创建高度可测试,可扩展,松散耦合且易于维护的应用程序。

4.Sails

Sails作为一个非常稳固的nodejs框架,提供了建立任何规模的web应用所需要的所有功能功能。

Sails.js在底层使用了express框架来提供对http请求的处理,同时使用Socket.IO框架来处理WebSocket请求。同时作为一个前端应用开发框架,它允许开发人员选择他/她熟悉的技术来开发应用。

同时Sails.js也通过waterline框架实现了ORM功能。通过这个功能,你的应用程序可以在不进行大的修改的前提下,就可以从一个后端数据库,切换到另外一个后端数据库(也可以是一个NoSQL数据库)。

Sails特别适合用来开发对数据的实时更新有较高要求的应用,比如多人棋类游戏,单页web应用等等。如果你对Ruby,Django或者Zend有一定的了解,那么你将非常容易理解Sail中的概念。

5.Egg

Egg是基于koa,由阿里nodejs团队封装的企业级Web应用解决方案,以约束和规范化团队开发,帮助开发团队和开发人员降低开发和维护成本为核心设计理念的优秀解决方案。它有如下特点:

–提供基于Egg定制上层框架的能力

–高度可扩展的插件机制

–内置多进程管理

–基于Koa开发,性能优异

–框架稳定,测试覆盖率高

–渐进式开发

Egg已经被用在阿里多条产品线(包括蚂蚁)上,已经证明它的安全和可靠性,可以放心用。

6.Loopback

LoopBack开发框架是一套Node.js模块集,可以用独立使用或整合使用来快速开发RESTAPI接口程序。背后是IBM的子公司在支持。

LoopBack应用可以通过模型API来跟数据交互,本地通讯在Node.js内部完成,远程通讯使用REST客户端API,如与原生客户端iOS、Anroid和Html5等进行通讯。

7.Fastify

Fastify是一个高度专注于以最少开销和强大的插件架构,使用简单,扩展灵活,包含了基于扩展的开发方式,同时官方为了方便开发plugin,提取了通用部分,方便模块化,同时我们可以在路由中添加schema方便的进行数据的校验(基于jsonschema),生态也很不错,已经提供了很多扩展插件。

8.Hapi

HapiJS是一个开源的、基于Node.js的应用框架,它适用于构建应用程序和服务,其设计目标是让开发者把精力集中于开发可重用的应用程序的业务逻辑,向开发者提供构建应用程序业务逻辑所需的基础设施。

9.Pomelo

pomelo是一个游戏服务器框架,与以往单进程的游戏框架不同,它是高性能、高可伸缩、分布式多进程的游戏服务器框架,并且使用很简单。它包括基础开发框架和一系列相关工具和库,可以帮助开发者省去游戏开发中枯燥的重复劳动和底层逻辑工作,免除开发者的重造轮子,让开发者可以更多地去关注游戏的具体逻辑,大大提高开发效率。pomelo强大的可伸缩性和灵活性使得pomelo也可以作为通用的分布式实时应用开发框架,用于一些高实时应用的开发,而且pomelo在很多方面的表现甚至超越了现有的开源实时应用框架。pomelo支持所有主流平台的客户端,并提供了客户端的开发库,使得客户端的开发变得很友好。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sinat_15603323/article/details/105630532

智能推荐

tf.reduce_sum()方法深度解析-程序员宅基地

文章浏览阅读2k次,点赞6次,收藏5次。tf.reduce_sum()函数深度解析从矩阵,数组,数据存储的角度 解析axis参数的意义_tf.reduce_sum

adb获取app包名的方法_adb获取包名-程序员宅基地

文章浏览阅读9.8k次,点赞4次,收藏29次。adb获取app包名的方法_adb获取包名

虾皮、lazada店铺运营攻略,如何搭建高效、稳定的自养号测评系统-程序员宅基地

文章浏览阅读913次,点赞16次,收藏10次。总之,要做好虾皮店铺,不仅需要明确的定位和优质的产品,还需要精心的运营和持续的改进。通过不断优化店铺形象、制定有效的营销策略、提供优质的客户服务以及加强供应链管理等手段,您将能够在激烈的竞争中脱颖而出,实现店铺的长足发展。1.稳定的网络环境是基石,它需要经过技术手段的洗礼,将电脑或手机的底层硬件参数伪装成国外数据,以躲避平台通过IP进行的深度检测。这种真实性高的评价能够帮助商家获得更多的信任和认可,从而提升产品的排名和流量的分配。您可以关注行业动态,学习先进的经营理念和技术,以提高店铺的运营水平。

统计检验问题:Friedman Test,Nemenyi test检验和Bonferroni-Dunn test检验_统计测试 cd diagrams-程序员宅基地

文章浏览阅读5k次,点赞11次,收藏43次。统计检验_统计测试 cd diagrams

三、购物车案例_17(笔记)_购物车案例请求数据地址-程序员宅基地

文章浏览阅读332次。购物车_购物车案例请求数据地址

在unity中DOTween 使用方法_tween number-程序员宅基地

文章浏览阅读603次。DOTween 使用方法_tween number

随便推点

【合集】常见中间件漏洞_hrs中间件-程序员宅基地

文章浏览阅读2.9k次,点赞3次,收藏37次。1. IIS1. PUT漏洞用户配置不当,exp:https://github.com/hackping/HTTPMLScan.git2. 短文件名猜解IIS的短文件名机制,可以暴力猜解短文件名,访问构造的某个存在的短文件名,会返回404,访问构造的某个不存在的短文件名,返回400。exp:https://github.com/WebBreacher/tilde_enum3.远程代码执行(CVE-2017-7269))**exp**:https://github.com/zcgonv_hrs中间件

db2基本概念-程序员宅基地

文章浏览阅读368次。DB2支持以下两种类型的表空间: 1、 系统管理存储器表空间(SMS-SYSTEM MANAGED STORAGE) 2、 数据库管理存储器表空间(DMS-DATABASE MANAGED STORAGE) SMS、DMS用户表空间的特性对照 特性 ..._db2

模拟window桌面实现-程序员宅基地

文章浏览阅读84次。正在开发中的游戏有个全屏功能--可以在window桌面背景上运行,就像一些视频播放器在桌面背景上播放一样的,花了个上午整了个Demo放出来留个纪念。实现功能:显示图标,双击图标执行相应的程序,右击图标弹出该图标对应得菜单,点击非图标区则弹出桌面菜单。需要完整工程可以点此下载:DesktopWindow.rar。程序效果图如下:在这个程序里,定义了一个XShellItem..._模拟实现windows桌面效果

https://www.byhy.net/tut/webdev/django/01/-程序员宅基地

文章浏览阅读944次。https://www.byhy.net/tut/webdev/django/01/_byhy.net

vue玩转移动端H5微信支付和支付宝支付_移动端支付宝微信支付vue项目怎么写-程序员宅基地

文章浏览阅读5.8k次,点赞13次,收藏57次。业务场景介绍:H5移动端支持微信支付 [ 微信支付分为微信内支付(JSAPI支付官方API)和微信外支付(H5支付官方API)] && 支付宝支付 [手机网站支付转 APP 支付 官方API ]订单生成逻辑:前端请求后端提交订单,后端去和微信或者支付宝对接生成订单(后续支付都是这个逻辑进行的对接)一、移动端微信支付,vue中如何玩?在移动端微信支付分为微信内支付和微信外支付。1.在订单组件中选择支付方式之后在支付页面先去判断是否是在微信内://判断是否微信 is__移动端支付宝微信支付vue项目怎么写

深度学习AI编译器-TVM简介_tvm编译器-程序员宅基地

文章浏览阅读2k次,点赞5次,收藏9次。深度学习编译器主要为解决不同框架下训练的模型部署到指定的某些设备上时所遇到的一系列复杂的问题,即将各种深度学习训练框架的模型部署到各种硬件所面临的问题;_tvm编译器

推荐文章

热门文章

相关标签