[ Next.js | 青训营笔记 ]

209 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 18 天

C端和B端

C端: Consumer(也可理解为Customer),通常为消费者、个人终端用户使用的客户端。如:微信、淘宝、网易云音乐等。

B端: Business,通常为企业内部或商家使用的系统或平台,不能公布到外网给其他人用。如:企业内部ERP管理系统、财务管理平台等。

  • C端产品通常以手机端为主,PC端为次。
  • B端产品多数都集中在PC端使用,使用“左导航右内容”的布局。

CSR, SSR, SSG

静态站点生成 SSG

SSG全称是 Static Site Generation ,代表的是静态站点生成。

image.png

客户端渲染 CSR

CSR全称是 Client Side Rendering ,代表的是客户端渲染。常见 B 端 WEB 应用开发墨水,前后端分离,服务器压力相对更轻,渲染工作在客户端进行,服务器之间返回不加工的 HTML 用户在后续访问操作。

SPA(single page application):单页面应用,它所需的资源(HTML CSS JS等),在一次请求中就加载完成,不需刷新地动态加载,首屏时间更长。 image.png

image.png

服务端渲染 SSR

SSR全称是 Server Side Rendering,代表的是服务端渲染。原先的 JSP / PHP 就已经体现了服务器端渲染。

代码耦合度高,且模板语言中混杂编程语言对于一些复杂功能维护起来很痛苦。

这种模式下,Java、PHP 复杂渲染的逻辑,而前端只负责 UI 和交互。

同构SSR

BFF:Backend For Frontend,服务于前端应用的后端。简单来说,还说SSR,它返回给前端的network里面还是一个完整的页面,就是 node 接口服务和模板页面都在同一个项目结构目录下。

image.png

什么是 Next.js?

NextJs 是一款 React 开发框架,是一个构建于 Node.js 之上的开源 Web 开发框架,支持基于 React 的 Web 应用程序功能,例如服务端渲染和生成静态网站。上手快,能力集全,而且覆盖了足够多的性能优化和生态。对于新同学掌握前后端一体化的开发模式很友好。

需求

基于 React 提供的相关服务器端渲染 API 实现,整个过程实现比较繁琐重复,从零实现对新上手的同学很不友好,迫切需要一个封装好的集合来快速上手服务器端渲染。而这个框架最好能提供模板页面渲染同构、路由同构、Header 标签修改、脱水注水和性能优化等等多种功能的接口。