面向前端与未来标准的NodejsWeb

中科白癜风微博 http://m.39.net/pf/a_4572199.html

作者:刘子健(繁易)

本次分享来自阿里巴巴前端技术专家刘子健(繁易)在第十六届D2前端技术论坛的分享,为大家带来Node.jsWeb框架的发展历程,分析各类框架的适用场景及利弊。

Web开发一直是Node.js的主流方向,无论新人必学的Express/Koa,或者是社区流行的企业级框架Egg/Nest,各类Web框架层出不穷。本次分享来自阿里巴巴前端技术专家刘子健(繁易)在第十六届D2前端技术论坛的分享,为大家带来Node.jsWeb框架的发展历程,分析各类框架的适用场景及利弊,并基于阿里的Node.js框架Midway,为大家介绍在过去这两年,我们对下一代Node.jsWeb框架的思考、设计、实践,包含如何面向前端做一款前端“爱用”的Node.js框架,如何面向未来标准甚至参与标准来设计Node.jsWeb框架两部分。

Node.jsWeb框架简述

Node.js是基于ChromeV8JavaScript引擎的运行时,一般用于编写CLI、处理数据、编写RestfulAPI、进行页面渲染等等多种作用。之前JavaScript在浏览器端限制比较多,但是自从有了Node.js以后,应用范围得到很大拓展。

Web框架功能

现代的Web开发不管使用什么语言都离不开Web框架。Web框架具有RestfulAPI、数据库CRUD、页面渲染、身份校验等功能,提供了高效开发Web应用的方式,同时Web框架存在适用场景以及规则约束,有源源不断的框架推陈出新。

Node.js框架的发展阶段

Node.js的发展分成三个阶段,分别是起步期、企业架构期、面向前端期。

起步阶段,主打轻量

年Node.js出现,年Express框架出现,年出现Koa框架。当时前端工程师主要是在尝鲜,不敢在业务上做太多的尝试和落地,更多的是验证Node.jsWeb场景可行性。在起步期阶段,框架主打轻量和极简。下面是两个框架的写法示例。

其优点是简单易学,易于集成,Express框架容易集成到Nest和Webpack框架中,Koa.js框架容易集成到Egg和Midway框架中,生态繁荣,久经考验。

其缺陷也是比较明显,表现为缺乏规范和最佳实践、不利于团队协作和大规模开发、Express年久失修。

企业阶段,主打架构

在年到年,Node.js规模化落地,专业的Node.js工程师出现,主打企业级框架和架构以及规模化和团队协作化。

在这一段时间主要出现的框架有nest、Egg、Midway框架,但大多以Express和Koa框架作为基础框架,如下图:

企业级框架优点为大而全,功能完善,规范并且最佳实践明确,易于团队协作,同时社区生态活跃。

缺陷是大而全导致上手成本高;限制多,难扩展。

面向前端

从之后,Node.js发展成熟完善,Node4.0发布,前端工程师人数急速增加,主打面向前端框架的设计,以及简洁和轻量,在这个阶段中主要框架是Next.js以及Nuxt.js框架。

这些框架的优点主要是来自于前端,全栈开发,简单容易学习,支持Serverless部署。

其缺陷是后端功能较弱,自定义扩展困难,强依赖于平台支持。

下面是两个Demo示例:

上面是Next.js,下面是Nuxt.js

在年的时候,一份stateofjs关于Node.jsWeb框架满意度对比的调查报告表明,Next.js成功登顶,并且Express.js框架仍然受到


转载请注明:http://www.aierlanlan.com/rzgz/1527.html

  • 上一篇文章:
  •   
  • 下一篇文章: