本篇内容主要介绍FaaS场景下的SSR框架,也就是在FaaS场景下怎么开发服务端渲染页面。服务端渲染是指前后端同构的服务端渲染,即React SSR。在介绍SSR框架之前,首先简单介绍一下Serverless。首先是NodeJS的定位。在很多公司NodeJS都在充当BFF层的角色,甚至NodeJS只出现在本地开发,仅仅做一些开发工具和构建工具的角色。最主要的原因,可能是因为前端工程师在运维方面的知识比较稀缺,就导致了可能很多公司不敢NodeJS,不敢让前端工程师做服务端。但是随着Serverless概念的出现,上面提到的问题就很好解决了。Serverless不需要关注运维,只需要关注自身业务逻辑的开发,因为运维的工作在云开发平台都已经解决了,这对前端工程师来说是收益最大的。
从BFF到SFF层本质上开发模式并没有改变,但是却大大提升了开发效率。上图列举了在SFF场景下,经常做的5给方面工作:
第一个, API接口;
第二个,API Proxy;
第三个,Render渲染层。渲染层可以分为客户端渲染和服务端渲染;
第四个,SSR+API,就是如何开发服务端渲染应用,下面会着重介绍在FaaS应用里,如何同时开发服务端生产应用和API接口;
第五个,Gateway网关层。
SSR框架前身
SSR框架是由Egg+React+SSR演变来的。这个项目已经开源一年多了,目前大概有1200个star了。阿里内部已经有七八个部门用于线上应用的开发了,阿里外部也有很多公司正在使用这个项目来开发线上应用。大家对应用开发的整体反馈是,比一些业界类似的框架好很多。
FaaS场景下的SSR框架
这个框架针对FaaS场景做了很多优化和制定了一些规范。尽量保证在云开发和本地的开发体验保持一致。
实操演示SSR框架的使用
首先登陆云开发平台http://workbench.aliyun.com,然后创建应用。在创建的时候的时候,选择WEB和FaaS场景下的SSR框架。创建完成