免费下载案例集|20+数字化领先企业人才培养实践经验 了解详情
写点什么

2019 年,你需要关注这些 Node API 和 Web 框架

  • 2019-02-18
  • 本文字数:2728 字

    阅读完需:约 9 分钟

2019年,你需要关注这些Node API和Web框架

对于 Node.js 框架和开源软件来说,2018 年是非常有趣的一年。开发者社区讨论了企业赞助对开源项目的作用以及如何维护那些没有经济支持却有数百万人使用的项目。同样,安全问题也得到了极大关注,一些流行的 Node/JS 软件包被劫持,Github 为托管的项目推出了安全警报功能。


在这篇文章中,我们为 Node.js 框架增加了新的类别,如赞助情况、捐赠情况和 NPM 审计漏洞,以便更好地了解每个框架如何解决这些问题。框架按字母顺序排列。

数据图表

Github star 数

在 Github 星标数量方面,Sails、Koa 和 Express 明显高于其他框架。但是,在 2019 年,星标总量可能不能作为最具相关性的指标,我们还需要考虑增长情况。


2018 年 star 数增长

在 2018 年星标数量增长方面,Nest 呈现出非常明显的爆发式增长。Y 轴是从 2018 年 1 月初到 2018 年 12 月中旬的增长百分比。有趣的是,相比之下,Sails 和 Express 几乎是扁平的,但这也可能是由于市场出现了饱和:有兴趣给 Node.js 框架加星标的人总共就那么多。


依赖关系

从这个角度来看,Nest 非常少,而 Sails 几乎是 Nest 的四倍。


NPM 每周下载量

Express 让所有竞争对手的下载量相形见绌。只有 Koa 和 Hapi 在这张图上出现了微小的彩色条纹。当然,有些框架在内部使用了 Express,比如 Sails 和 Nest。


选择 Node.js 框架

每个框架都有自己的目标、设计决策和特点。你应该仔细考虑这些东西是否适合你的用例。


有时候可以这么想:


“我们需要一个完整的 Web 应用程序,包括 HTML 模板、数据库模型、身份验证、API 集成、邮件列表,等等”。


在本文中,我们将这些标记为全栈。一个完全不同的用例可以是:


“我们只需要一个后端 API 端点,用于摄取 JSON 格式的 IOT 数据”。


我们将这些标记为 API。当然,你的用例可能是介于两者之间。在这种情况下,你需要一个框架,先从小规模开始,然后通过加入插件或中间件增加其他复杂性和功能。我们将这些标记为 Minimal,因为这些框架的核心都很小,不过生态系统为它们提供了其他模块。

AdonisJs

AdonisJS 生态系统附带了一组特定模块,可以插入到核心框架中。这意味着,测试运行器或模板引擎对于大多数用户来说可能是新的,不过你也可以使用其他运行器或模板引擎。


AdonisJs 于 2016 年启动,目标是成为一个全栈式框架:可以直接使用 HTTP 请求路由、模板、身份验证和数据库 ORM。


在社区中,人们通常将 AdonisJs 与 PHP 的 Laravel 进行比较。


HTTPS://ADONISJS.COM/


Exepress

Node.JS API 框架的祖先。它仍然是一个非常小的框架,为你提供了一个简单的 API 服务器,用户通过众多可用的中间件项目来添加额外功能。


因为占用资源少,Sails.js 和 Nest 等框架使用 Express 作为基础应用程序层,然后使用额外的功能对其进行扩展。


HTTP://EXPRESSJS.COM/


Fastify

Fastify 是一个 100%针对性能进行优化的 API 框架。受到 Hapi 和 Express 的启发,维护人员选择专注于在开发者体验和原始速度及性能之间实现平衡。


Fastify 仍然是一个非常小的框架,但中间件架构与 Express 和 Restify 中间件兼容,极大地扩展了可能的用例。


Fastify 提供了实验性的 HTTP 2.0 支持,并支持 TypeScript 类型。


HTTPS://WWW.FASTIFY.IO/


Hapi

Hapi 由沃尔玛开发,旨在为他们的电子商务业务提供坚实的基础。现在作为开源框架分拆出来,与沃尔玛已经没有关系。Hapi 现在仍然很受欢迎。


Hapi 提供了大量独立但紧密集成的插件,提供了日志记录、模板、缓存、错误处理等功能。它的对象验证插件 Joi(https://github.com/hapijs/joi)和框架本身一样很受欢迎。


在社区中,Hapi 因其 API、健壮性和可靠性而备受赞誉。此外,Hapi 没有任何外部代码依赖,因此其安全性更加可控。


Hapi 17.x 使用 ES6 和 ES7 进行了全面重写。


HTTPS://HAPIJS.COM/


Koa

Koa 的开发者与 Express 是同一波人,但它是以利用新的 Javascript 语言功能为目标,如 async/await。Koa 框架甚至比 Express 更小,基本安装中不包含路由。


Koa 是最早利用 ES6 和 ES7 功能的 API 框架之一。


Koa 提供了一份第三方中间件列表,几乎和 Express 的一样长,尽管有很多中间件似乎已经被遗弃或者没有人进行定期维护。


HTTPS://KOAJS.COM/


Nest

Nest 于 2017 年崭露头角,并在 2018 年大受欢迎(至少从 Github 的星标数来看)。Nest 与其他框架略有不同,因为它是基于 TypeScript 的,并使用了 Express。Nest 也可以使用“普通”JavaScript,但框架作者还是极力建议使用 TypeScript。


Nest 提供了一个内置的 GraphQL 适配器,利用了流行的 Apollo 框架,尽管现在已经有很多传统的 ORM 和数据库可用的解决方案,例如 Mongoose(Mongo)或 TypeORM(MySQL/Postgres)。


对于 Nest 来说,2018 年是美好的一年,我们很期待 2019 年它将为我们带来哪些东西。


HTTPS://NESTJS.COM/


RESTify

Restify 的目标是成为一个构建 RESTful API 的框架,而其他框架倾向于解决 API、静态内容和模板解析问题。它已经被用在 NPM、Netflix、Joyent 和 Pinterest 的生产环境中。


Restify 的目标在它的文档和指南中可见一斑。它们很简单,而且直接了当。可以使用插件 API 来构建扩展,不过第三方插件并不多。


可调试性是 Restify 的一个主要特点,它支持自动生成 Dtrace 探针,这是其他框架中不常见的功能。


HTTP://RESTIFY.COM/


Sails

Sails 可以说是第一个提供类似于 Ruby on Rails“全栈式”体验的 Node.js Web 框架。它提供了一个 MVC 框架和匹配的技术栈满足大多数业务场景的需求。


你可以非常快速地搭建一个 CRUD 应用程序,因为代码即配置原则以及框架为开发人员选择的默认设置。与 Rails 类似,Sails 也提供了脚手架生成器,可以基于对象/实体创建 API 端点。Sails 还提供了自己的 Waterline ORM,支持多种数据库类型,如 Postgres、MongoDB 和 Redis。


该框架最初由 Balderdashy 公司开发,现在这家公司已更名“Sails 公司”,为 Sails 提供企业支持。


HTTPS://SAILSJS.COM/


Server.js

Server.js 始于 2017 年,在 2018 年一直保持稳健的增长。作为一个新框架,Server.js 使用了现代 ES2016 和 ES2017 语言功能。它提供的组件包括:文件服务、Websocket、CSRF、SSL,等等。默认情况下,甚至可以将会话保存在 Redis 中。


因为 Server.js 也基于 Express 的,因此你也可以使用 Express 中间件来扩展其功能。


除了有一个很棒的 NPM 软件包名之外,Server.js 看起来也非常有前途,虽然它很轻量,但却是一个全栈式 API 和 Web 框架。


HTTPS://SERVERJS.IO/



英文原文:


https://checklyhq.com/blog/2018/12/node.js-api-and-web-frameworks-for-2019/


更多内容,请关注前端之巅。



会议推荐


2019 年 6 月,GMTC 全球大前端技术大会 2019 即将到来。小程序、Flutter、移动 AI、工程化、性能优化…大前端的下一站在哪里?点击下图了解更多详情。



2019-02-18 14:3416442
用户头像

发布了 731 篇内容, 共 447.5 次阅读, 收获喜欢 2001 次。

关注

评论 2 条评论

发布
用户头像
提到NodeJS企业级框架,阿里开源的Egg真的很不错,至少也提一下吧 ?
https://github.com/eggjs/egg/
https://github.com/midwayjs/midway
2019-02-23 21:18
回复
用户头像
node.js在数据分析领域也发展得挺有意思的
2019-02-19 08:36
回复
没有更多了
发现更多内容

win版Power-user Premium(Excel插件) v1.6.1840 特别版

iMac小白

活动预热丨在 AGI Playground 2024 遇见一群 RTE+AI 的 Builders

声网

Multicoin Capital:我们为什么投资 io.net

TechubNews

网易伏羲有灵平台荣登《China Daily》,人机协作开辟灵活用工新篇章

新消费日报

软件测试丨性能测试进阶训练营重磅来袭

测试人

软件测试 性能测试

手机直连SpaceX星链,一场“酱油比鸡贵”的营销游戏

脑极体

通信

win版IDM UEStudio(文本代码编辑器)v24.0特别版

iMac小白

win版Net Monitor For Employees Pro(专业电脑监测软件) v6.3.3 激活版

iMac小白

win版Steelray Project Viewer(打开导航的软件) v6.22 特别版

iMac小白

赢单有秘诀,大模型智能陪练更懂你

中关村科金

人工智能 大模型 智能陪练

使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理

阿里云大数据AI技术

人工智能 阿里云 AIGC

【案例分享】印前制版工单系统:“鹿山科技”助力“铭匠数据”重塑业务流程

明道云

AIGC创作活动 | 智"绘"AI,使用PAI创造风格百变绘画助手

阿里云大数据AI技术

人工智能 阿里云 AIGC

NFTScan 正式上线 ERC-404 NFT API 数据服务!

NFT Research

NFT\ NFTScan API 文档

国内如何解决升级GPT-4订阅的困扰

蓉蓉

ChatGPT GPT-4

5G时代的到来,LED显示屏行业迎来机遇与挑战

Dylan

技术 5G LED显示屏 全彩LED显示屏 led显示屏厂家

让“节能”贯穿服务器全生命周期,英特尔至强6能效核处理器的出众之处

E科讯

win版IDM UltraEdit(十六进制文本编辑器) v31.0中文激活版

iMac小白

win版Topaz Gigapixel AI(图像无损放大工具) v7.2.1 绿色便携版

iMac小白

win版UltraCompare (文件比较/合并工具) v24.0特别版

iMac小白

UltraCompare 中文版 UltraCompare 下载

JVM关键指标梳理及DATABUFF监控实践

乘云数字DataBuff

运维 云原生 java 应用性能监控

一文教你在MindSpore中实现A2C算法训练

华为云开发者联盟

人工智能 华为云 强化学习 华为云开发者联盟 企业号2024年6月PK榜

深入研究区块链系统

dappweb

#区块链#

Web3 在 AI 民主化中的作用:构建去中心化的 AI 模型

区块链开发团队DappNetWork

2019年,你需要关注这些Node API和Web框架_大前端_Tim Nolet_InfoQ精选文章