阿里云api网关中,默认调用api的流控限制 阿里云api网关 收费标准

>最近关于 Serverless 的讨论越来越多 。看似与前端关系不大的 Serverless , 其实早已和前端有了颇深渊源 , 并且将掀起新的前端技术变革 。此次分享根据个人理解和总结 , 从前端开发模式在serverless的演进、Serverless 常见服务商提供的解决方案以及 基于Serverless 的前端开发模式等方面 , 与大家探讨 Serverless 中的前端开发模式 。
一、前端开发模式的演进

阿里云api网关中,默认调用api的流控限制 阿里云api网关 收费标准


image.png
首先回顾一下前端开发模式的演进 , 我觉得主要有四个阶段 。。1、基于模板渲染的动态页面
2、基于 AJAX 的前后端分离
3、基于 Node.js 的前端工程化
4、基于 Node.js 的全栈开发
基于模板渲染的动态页面在早起的互联网时代 , 我们的网页很简单 , 就是一些静态或动态的页面 , 主要目的是用来做信息的展示和传播 。这个时候开发一个网页也很easy , 主要就是通过 JSP、PHP 等技术写一些动态模板 , 然后通过 Web Server(nginx , apache) 将模板解析成一个个 HTML 文件 , 浏览器只负责渲染这些 HTML 文件 。这个阶段还没有前后端的分工 , 通常是后端工程师顺便写了前端页面 。
JSP: Java Server Page: Java服务端页面 , 在html页面中编写Java代码的页面
WebServer:网站服务器或web服务器
基于 AJAX 的前后端分离2005 年 AJAX 技术的正式提出 , 翻开了 Web 开发的新篇章 。基于 AJAX , 我们可以把 Web 分为前端和后端 , 前端负责界面和交互 , 后端负责业务逻辑的处理 。前后端通过接口进行数据交互 。我们也不再需要在各个后端语言里面写着难以维护的 HTML 。网页的复杂度也由后端的 Web Server 转向了浏览器端的 JavaScript 。也正因如此 , 开始有了前端这个职位 。
基于 Node.js 的前端工程化2009年 Node.js 的出现 , 对于前端来说 , 也是一个历史性的时刻 。随着 Node.js 一同出现的还有 CommonJS 规范和 npm 包管理机制 。随后也出现了 Grunt、Gulp、Webpack 等一系列基于 Node.js 的前端开发构建工具 。
在 2013 年前后 , 前端三大框架 React.js/Angular/Vue.js 相继发布第一个版本 。我们可以从以往基于一个个页面的开发 , 变为基于一个个组件进行开发 。开发完成后使用 webpack 等工具进行打包构建 , 并通过基于 Node.js 实现的命令行工具将构建结果发布上线 。前端开发开始变得规范化、标准化、工程化 。
基于 Node.js 的全栈开发Node.js 对前端的重要意义还有 , 以往只能运行在浏览器中的 js 也可以运行在服务器上 , 前端可以用自己最熟悉的语言来写服务端的代码 。于是前端开始使用 Node.js 做全栈开发 , 开始由前端向全栈的方向转变 。这是前端主动突破自己的边界 。
另一方面 , 前端在发展 , 后端也在发展 。也差不多在 Node.js 诞生那个时代 , 后端普遍开始由巨石应用模式向微服务架构转变 。这也就导致以往的前后端分工出现了分歧 。随着微服务架构的兴起 , 后端的接口渐渐变得原子性 , 微服务的接口也不再直接面向页面 , 前端的调用变得复杂了 。于是 BFF(Backend For Frontend)架构出现了 , 在微服务和前端中间 , 加了一个 BFF 层 , 由 BFF 对接口进行聚合、裁剪后 , 再输出给前端 。而 BFF 这层不是后端本质工作 , 且和前端的关系最大 , 所以前端自然而然选择了 Node.js 来实现 。这也是当前 Node.js 在服务端较为广泛的应用的原因 。

推荐阅读