什么是单页面富应用?
单页面应用:Single Page Application
概念:Web应用即使不刷新也在不同的页面间切换,解决浏览器前进、后退等机制被破坏等问题。并且页面访问会被浏览器保存。
实现方法:
Node+Html5实现
React/Vue等MVVM框架
单页面的优缺点
优点:
1.良好的交互体验:用户不需要重新刷新页面,获取数据也是通过Ajax异步获取,页面显示流畅
2.良好的前后端工作分离模式:单页Web应用可以和RESTful规约一起使用,通过REST API提供接口数据,并使用Ajax异步获取,这样有助于分离客户端和服务器端工作。更进一步,可以在客户端也可以分解为静态页面和页面交互两个部分。
3.减轻服务器压力:服务器只用出数据就可以了,不用管展示逻辑和页面合成,吞吐能力会提交几倍。
4.共用一套后端程序代码:不用修改后端程序代码就可以同时用于Web界面、手机、平板等多种客户端
缺点:
1.SEO难度大:由于所有的内容都在一个页面中动态替换显示,所以在SEO上有天然的弱势,所以如果你的站点对SEO很重视,且要用单页应用,那么就做些静态页面给搜素引擎吧。
2.前进,后退管理:由于单页Web应用在一个页面中显示所有的内容,所以不能是用浏览器的前进后退功能,所有的页面切换需要自己建立堆栈管理。
3.初次加载耗时多:为实现单页Web应用功能及显示效果,需要在加载页面时将Javascript和CSS统一加载,部分页面可以在需要的时候加载,所以必须对Javascript和CSS代码进行合并压缩处理,如果要使用第三方库,建议使用一些大公司的CND,因此带宽的消耗是必然的。
解决SPA的SEO(搜索引擎优化):SSR(服务器渲染)
SSR:服务器将每个要展示的页面都运行完成后,将整个相应流传送给浏览器,所有的运算在服务器端都已经完成,浏览器只需要解析 HTML 就行。
原文转载至https://blog.csdn.net/qq_19644471/article/details/81903083