在node.js之前,web开发人员总是面临着必须为客户端和服务器端脚本使用不同语言的问题。传统上,javascript是使用浏览器中运行的html代码进行客户端脚本编写的语言。node.js在2009年的发明引入了服务器端脚本,其中javascript代码在服务器上运行,并在将它们返回到浏览器之前生成完整的动态网页。这是web开发的一项重大突破,因为node.js允许在客户端和服务器端使用javascript。
巨大的javascript社区很快意识到在客户端和服务器端脚本中使用相同语言的优势,node.js已成为web开发的流行环境。但是,完美没有限制,开发人员已经为node.js开发创建了许多框架来促进web应用程序的开发。
框架基本上是一个帮助js开发人员发展其应用程序的功能工具。使用框架可以使用公共库和模板以及集成可重用组件来自动执行许多重复过程,避免重复造轮子。随着javascript的全球普及,node.js框架的数量也越来越多,下面小编就列一下国外开发者常用的框架。
express.js
如果您搜索node.js web框架,您肯定会经常看到express.js。express.js是顶级node.js框架之一,并非没有理由 - 许多开发人员喜欢它来创建一个有效的平台来构建健壮的应用程序和api。它是众所周知的mean堆栈(mongodb,express,angular和node.js)的四个组件之一,它是一个经常用于构建web应用程序的工具集。
express.js是node.js最受欢迎的web框架之一,拥有一套出色的文档,并享有很好的社区支持。这意味着您可以轻松找到express.js的可重用组件和库。此外,它不需要使用特定的开发实践或特定工具,因此javascript开发人员可以获得最大的自由。
koa2
koa2是koa框架的第二个版本。koa是创建express.js的同一团队的产品; 然而,它与express.js有很大的不同,并没有那么受欢迎。它现在正处于大量开发的过程中,版本2是该框架的稳定版本。
koa2属于node.js mvc框架系列,其中mvc代表模型 - 视图 - 控制器。mvc的三个组件是作为应用程序数据的模型,视图是通过app ui的数据表示,控制器在模型和视图之间传递请求和更新。
国内有很多框架是基于koa2开发的,比如阿里的egg.js。thinkjs等
sails.js
sails.js是node.js的另一个mvc框架,它也是由express.js背后的团队创建的。框架默认支持socket.io,这使其成为社交媒体应用,消息传递工具和协作软件解决方案的最佳选择之一。
nestjs
nestjs是node.js框架中的新手。它专注于服务器端脚本,旨在构建服务器端应用程序。nestjs与其他node.js web应用程序框架的不同之处在于它使用typescript,typescript是javascript的特殊超集作为其编程语言。如果您熟悉angular,它也使用typescript,那么使用nestjs构建后端没有问题,因为组件和语法看起来非常熟悉。
有开发服务器渲染的同学应该对这个很熟悉。
loopback
loopback是express.js团队的另一个创建,基于express.js开发。loopback是api框架,允许您构建适用于任何客户端的api,并且可以连接各种设备。
meteor.js
最流行的全栈框架之一,可以轻松,直接地创建实时应用程序。优点在于它在服务器端和客户端使用相同的api,从而提高了整体应用程序性能。
derby.js
derby.js属于mvc框架,可用于客户端和服务器端脚本开发。
hapi.js
与我们在这里提到的许多其他框架不同,hapi.js与express.js无关,因此可能被认为是其竞争对手之一。hapi.js最初是为了支持大型分布式团队的工作而创建的,该框架被认为是由大型分布式团队构建的企业级应用程序的完美选择。
hapi.js通过专注于插件来实现出色的协作可能性,这些插件允许在不影响应用程序其余部分的情况下处理单独的组件。该框架非常适合创建可重用的组件,以帮助企业缩短开发时间。
hapi.js框架被用于为沃尔玛零售连锁店,雅虎网络服务提供商构建网络应用程序和网站,以及英国政府,信不信由你。
mean.io
mean.io是另一个全栈框架,从它的名字可以看出它使用的是哪个堆栈。它提供了开箱即用的开始应用程序开发所需的一切,因此使用mean.io可以立即开始工作。由于它是一个完整的开发堆栈,因此无需选择单独的组件并进行实验。此外,此框架中使用的所有工具都可以立即配置为一起使用。
total.js
一个mvc服务器端框架,非常适合创建web应用程序。它在与支持mongodb,mysql,postgresql的各种数据库的兼容性方面非常灵活,并且适用于许多前端网络,例如angular,react和ember。
total.js非常适合以相对较低的维护成本创建响应式应用程序,并且可以依赖它来提供足够的可伸缩性和性能。
如何选择node.js框架
我们已经查看了目前可用的十个最着名的node.js框架,并且已经看到所有这些框架都有其优点。那么,如何为您的项目做出正确的选择?
当然,你应该从项目类型开始; 分析每个框架的具体细节和匹配方式。您还可以考虑以下因素:
文件的可用性和完整性;
社区规模;
在github上公开问题;
它可以解决的问题类型;
灵活性;
复杂程度;
与您计划使用的其他工具的兼容性。
同时,所有框架都旨在简化开发过程。因此,它们中的每一个都将提升质量并提高应用程序的性能。
计算机视觉开始一门新兴人工智能
混的最惨的日本车,性能超奥迪A6,讴歌降价20万依然没人买
嵌入式开发如何快速进阶?有捷径?
泰科天润碳化硅高电压产品率先突破车规级可靠性认证
腾讯云在线教育互动课堂方案的设计与技术挑战
Web开发常见的十大顶级Nodejs框架
分享一个电谐波图形均衡器的示意图
传Intel将发布三款Gulftown核心六核桌面处理器
什么是芯片封装?有哪些作用?
The MathWorks推出新产品Simulink PLC
可穿戴汗液传感器助力监测患者血液状况
如何维持LED显示屏稳定性
电动车控制器功能
Keysight MSOS804A示波器
【新品发布】DSGW-130智能触屏网关介绍
如何有效预防电缆铜导体氧化,从原理来讲有什么办法
无钴/叠片/CTP?汽车动力电池新发展
华为荣耀V9评测:二代双摄、麒麟960芯片,荣耀V9可不仅仅是年度拍照手机!
Oculus将于明年春季发布VR一体机Oculus Quest
外媒称手机中让用户最满意的依然是苹果 但是华为了?