整理 | 章雨铭 责编 | 屠敏
出品 | CSDN(ID:CSDNnews)

Node.JS是最流行的开源JavaScript运行时框架之一,并具有在浏览器之外建立代码的跨平台能力。知名开发者Alex Ivanovs自2005年就开始从事Web开发工作,近日,他根据前端构架调查、开发者调查报告以及个人项目经验,总结出了一些最受欢迎的Node.JS框架,希望能够对行业中的开发者有所裨益。

Node.JS发展趋势

Node.JS不仅拥庞大的开源生态系统,还能够轻松灵活地开发可扩展的行业级应用程序,凭借着这些优势,得到了众多开发者的支持。Node.js在GitHub中拥有75.9k Star,还有19k fork,在 Stack share 中拥有 71.8k 的关注者以及8.3k的赞同数。根据StackOverflow 2021 年开发者调查报告显示,有超过50%的受访者称正在项目中使用 Node.js。不仅如此,亚马逊、Netflix、PayPal 或 Reddit等都使用Node.JS作为其后端框架。

Node.JS不仅能用于后端,也能用于前端,可谓是前后端通吃。近几年,Node.JS的应用场景发生了巨大的变化,越来越多的框架被构建为混合(元)解决方案,即能迎合后端,也能满足全栈开发人员的需求。根据2021 Node.js 开发者报告显示,53.49%的Node.js开发者从事前端开发,33.33%从事后端开发,也有30.62%的全栈开发者在使用Node.JS。

另外,从2021 Node.js 开发者报告中可以看出,开发框架变化较大,企业级框架变多,比如阿里的Egg.JS和Spring 的Nest.JS都较去年提升了6%。

Node.js 开发者中版本更新速度也很快,2020年开发者主要使用的是Node 12.x,到2021年Node 14.x占比将近一半(44.57%)。

最受欢迎的Node.JS框架

Node.js发展已势不可挡,以下是一些最受欢迎的Node.JS框架。

Next.JS

Next.JS是一套基于React的服务器端渲染框架。近几年,Next.JS发展速度飞快,从Next.JS 10到Next.JS 12只花了一年时间。

Next.JS使用React作为基础,但通过自己的规范执行所有服务器端渲染结构。由于渲染是在服务器端完成的,它保证了模块化架构以实现出色的开发灵活性,并提供支持各种库的完整开发套件。

Nest.JS

Nest.JS是一个用于构建高效Node.JS服务器端应用程序的框架,它使用渐进式JavaScript,使用TypeScript构建并且完全支持TypeScript,并结合了OOP(面向对象编程)、FP(函数式编程)和FRP(函数式响应式编程)的元素。

虽然像React这样的框架加速了前端开发,但应用程序构架的问题是许多框架的痛点。但Nest通过架构优先的方法解决了这个问题。(当然,这是特定于后端的)

Strapi

Strapi在开源Headless CMS中处于领先地位,是一个可以简单、快速、自动生成安全可靠后端api的框架,可谓是补齐了后端的短板。Strapi还允许开发者自由使用自己喜欢的工具和框架,而且几乎可以与任何语言、框架或者前端库集成。

Remix

Remix是近年来增长速度最快的全栈构架之一,它通过利用分布式系统和本地浏览器两者的特点一起来加快页面的加载速度。2021年11月,Remix宣布关闭付费订阅模式,正式开源后,跟Next.JS可以说是势均力敌又各有千秋。

和传统框架不同,Remix不创建基于瀑布流的结构,相反,数据是在服务器端并行加载,然后作为然后作为HTML页面提供。这也意味着,如果用户禁用了JavaScript,基于JavaScript的功能(如表单提交)不会破坏网站。

Nuxt

Nuxt是一个基于Vue的框架,它允许应用通过Node.JS在服务器进行渲染,而且拥有完全交互式JavaScript应用程序的所有优点。

对于Vue开发者来说,Nuxt主要的优势是能够预先渲染视图,并将其作为静态文件提供。这对SEO优化有很大的效果,并在互动性方面有很大的提升。

SvelteKit

SvelteKit是一个由Svelte提供支持的应用程序框架——以更小的占用空间构建更大的应用程序,凭借复杂的基于文件的路由系统脱颖而出。通过高级路由、服务器端渲染、代码拆分、离线支持等功能立即开始运行。

Fastify

Fastify致力于用最少的开销和强大的插件架构提供最好的开发体验,它的灵感来自于Hapi和Express。Fastify是这一领域中最快的web框架之一,取决于代码的复杂性,Fastify 最多可以处理每秒 3 万次的请求。

Redwood

2020年GitHub联合创始人Tom Preston-Werner 发布了Redwood.JS,一款全新的面向边缘的全栈JavaScript Web 框架。Redwood 集成了预先确定的后端和前端技术栈,并努力为开发者提供类似Ruby on rails的开发体验。

Redwood技术栈包括React、GraphQL(Apollo)、Prisma、Babel、Webpack等等,此外,Redwood还支持JAMstack(一种基于客户端 JavaScript、可重用 API 和预构建标记的现代 Web 开发架构)。凭借这一点也得到了许多喜欢JAMstack和API的开发者的支持。

Express

Express的排名不算靠前,作为Node界最老牌的Web框架,难道EXpress已经失宠了?答案当然是否定的,Express仍然十分受欢迎,2021年的数据显示每周有900多万的下载量,是初学者的最爱。

Adonis

Adonis包含了创建一个完整的Web应用程序或API服务器所需要的一切,尽管Adonis官方将自己描述成后端框架,但实际上在全栈开发方面它也同样出色。对TypeScript的原生支持使Adonis收获了许多开发人员的喜爱。

Keystone

Keystone.JS是一个基于Node.JS的CMS和Web应用程序框架,是构建Node.JS应用程序的可扩展开源平台。KeystoneJS支持GraphQL,体系结构高度可扩展,使用了Admin UI。

总结

当然,没有什么是十全十美的,使用的人多了,抱怨声也会增加。有的网友认为带有Node.JS的标准库很小,几乎所有的操作都需要拉入一堆npm包才能执行,这导致软件包生态相当混乱。

但是无论如何,这些框架都受到了许多人的喜爱,总的来说,开发者很乐意使用元框架工作,因为这样就不必从头开始学习一个新的框架了。

参考资料:

https://stackdiary.com/node-js-frameworks/

https://stackdiary.com/author/alex/

https://github.com/remix-run/react-router

https://www.thoughtworks.com/zh-cn/radar/languages-and-frameworks/remix

https://news.ycombinator.com/item?id=28728591

https://nodersurvey.github.io/reporters/

拿来就用:11款不容错过的 Node.js 框架相关推荐

  1. 13 款惊艳的 Node.js 框架——第1部分

    2019独角兽企业重金招聘Python工程师标准>>> [编者按]本文作者为 Peter Wayner,主要介绍13款至精至简的 Node.js 框架,帮助你简化高速网站.丰富 AP ...

  2. 6款不容错过的超棒倒计时jQuery插件

    日期:2012-11-12  来源:GBin1.com 如果你曾经开发过类似限时抢购的网站或者应用的话,或者你需要在发布一款超棒游戏之前添加一些神秘元素的话,一个超棒或者超酷的倒计时页面绝对是非 常有 ...

  3. 不容错过, Paintinglite轻量级Sqlite3框架

    Paintinglite 安装 直接通过GitHub下载到本地,将Paintinglite拖到项目中,即可体验Paintinglite.需要在项目中添加Sqlite3支持的libsqlite3.tbd ...

  4. 味尚食品|味尚拉面一款不容错过的半干面

    尊敬的各位食客,大家好!今天,我想向大家介绍的是一款请您一定不要错过的美食--味尚拉面半干面. 味尚拉面半干面是一个以传统拉面为基础,升级打造的全新系列产品,它由当地最好的配料和食材制作而成,品质保证 ...

  5. Linux 下不容错过的软件推荐

    我一直在安利我的朋友使用 Linux 系统.我知道这是一件不容易的事,毕竟使用 Linux 系统需要一定的学习成本,但我没有放弃,因为好用的东西要和大家分享,独乐了不如众乐乐! 今天我就分享一些 Li ...

  6. node.js在注册表删除_Node.JS 11年:时间表和重要贡献

    node.js在注册表删除 Do you know 你知道吗 Node.js在2020年5月27日已满11岁 (Node.js has turned 11 on 27th May 2020) ? Ca ...

  7. Node.js学习8~10款基于nodejs的主流web框架排名及介绍

    Node.js 是基于 Chrome V8 JavaScript 引擎构建的开源.跨平台运行时环境.事件驱动的非阻塞I/O 模型使,Nodejs 能开发极其轻便且高效的 Web 应用程序.客户端 和 ...

  8. 诺基亚2018换鸿蒙,2018年最后一次换机机会,诺基亚、小米、一加这几款机型不容错过...

    11月已经接近尾声,意味着另一个电商大促的节日双十二马上就要来临,双十二虽没有双十一全品类百花齐放的热闹,但是在3C数码方面,促销活动和优惠力度绝对不比双十一少,并且双十二也将是今年超值换机的最后一次 ...

  9. mysql56401_一款你不容错过的Laravel后台管理扩展包 —— Voyager

    一款你不容错过的Laravel后台管理扩展包 -- Voyager 由 学院君 创建于4年前, 最后更新于 4个月前 版本号 #3 43101 views 16 likes 0 collects 1. ...

最新文章

  1. python详细安装教程linux-Linux下python3.7.0安装教程
  2. 如何使用Maven的archetype快速生成一个新项目(解决生成项目目录不完整问题)...
  3. R语言学习笔记 (入门知识)
  4. STL10-deque容器
  5. qt弹出框自动消失的悬浮提示框_QT【简单自定义弹出提示框】:非模态,数秒后自动消失...
  6. org.apache.ibatis.binding.BindingException: Parameter '1' not found. Available parameters are [arg3,
  7. 工作了一个星期各位一定累了吧,那我们一起来表单验证一番吧!
  8. Android - 开发者应该深入学习的10个开源应用项目
  9. CF712E [Memort and Casinos]
  10. mysql读写分离_SpringBoot+MyBatis+MySQL读写分离
  11. 软件体系结构期末复习题
  12. 贝壳云P1刷机记录(5.10内核Armbian)
  13. ZYNQ-使用HDMI显示器进行SD卡图片读取显示
  14. Chrome浏览器录屏扩展插件
  15. 【考研经验】双非二战山东大学计算机技术初试第二经验贴
  16. 计算机应用专业需要6g显卡吗,4G、6G、8G显卡的显存容量有什么用?来看科普
  17. @sequencegenerator oracle,SequenceGenerator注解的使用
  18. Python 实现 GIF 动态图片分解 , 多帧动态图分解成多张静态图片
  19. 3.Garbage Collection
  20. 互联网新机遇: 移动社交电商将成为下一个风口?

热门文章

  1. ubuntu简易部署Python3编写的djangoWeb应用
  2. Spring中Bean管理操作基于XML配置文件方法实现
  3. 自考----怎么说我不爱你
  4. struts2学习笔记(一) MVC模式
  5. 【编译原理】第一章 引论
  6. 题目1168:字符串的查找删除(字符串操作)
  7. chrome里面模拟手机上打开网页的场景方法
  8. mysql 中if(),left(),right(),with rollup的用法
  9. 题目1140:八皇后
  10. HAProxy+apache实现web服务动静分离