1、SPA—单页面应用(single page application)
SPA就是只有一张Web页面的应用。单页应用程序 (SPA) 是加载单个HTML 页面并在用户与应用程序交互时动态更新该页面的Web应用程序。浏览器一开始会加载必需的HTML、CSS和JavaScript,所有的操作都在这张页面上完成,都由JavaScript来控制。因此,对单页应用来说模块化的开发和设计显得相当重要。
优点
1、页面之间切换快(因为跳转时,页面不会重载,不需要做html文件请求,通过Ajax完成交互,节约了http请求发送延时)
2、前后端分离(MVVM开发模式,前端请求服务器端提供的http接口获取数据)
缺点
1、首屏打开慢(第一次会加载必需的css、html、js代码,其中分别发送HTML请求和js请求各一次,之后所有操作都由js在本页面上控制)
2、不利于SEO(js控制和ajax获取数据加大SEO困难,搜索引擎多只读html内容)
2、SEO—搜索引擎优化(search engine optimization)
SEO是一种通过了解搜索引擎的运作规则(如何抓取网站页面,如何索引以及如何根据特定的关键字展现搜索结果排序等)来调整网站,以提高该网站在搜索引擎中某些关键词的搜索结果排名。
3、SSR—服务器端渲染(server side rendering)
在服务器端拼接好数据与模板,再发送到浏览器后,与静态标记混合后展现在客户端。
优点
1、相对解决了SPA首屏慢、不利于SEO的问题!
缺点
1、加大了服务端压力(原在客户端完成的渲染,现在服务端node完成)
2、技术学习成本较高、不利于开发调试。
3、限制了第三方库的引用(服务器端渲染中,只执行到componentDidMount之前的生命周期钩子,引用库也不可用其他声明周期钩子)
知识点补充:
1.客户端渲染
ajax获取后端的json数据,在客户端js填充修改html。获取数据通过外网。
2.服务端渲染:
在后端结合数据等生成完整的html,吐给客户端解析。获取数据通过内网