一, 什么是单页面应用
通俗的来讲,就是一个应用只有一个页面,用户通过切换路由和动态获取数据达到页面更新的目的,整个应用的使用过程中,页面只是局部刷新。在整个应用初始加载时,会一次性加载所有静态文件或所有公共静态文件(切换页面时,加载相应静态文件);
二, 为什么要什么用单页面应用
1:用户体验好, 相比较多页面应用,多页面在切换页面的时候,需要加载所有页面所需要的静态文件,页面会出现短暂的白屏效果,相比较单页面应用, 所有公用的静态文件都首次加载后,保存在了本地,在进行切换页面的时候,只需要加载相应的文件和数据就行,整个过程加载量很少
2:前后端彻底分离, 服务端只通过接口提供数据, 不用像之前需要把数据渲染到页面上,一套api可以再浏览器应用中使用,也可以再移动ios,Android中使用,做到了彻底的前后端分离
3,完全的前端
三, 单页面的缺点
1, 首次加载大量资源: 因为需要在一个页面中呈现所有的应用的功能,势必需要加载所有页面都需要的资源文件,这样就需要在首次加载的时候,加载大量资源,导致首页等待时间过长,(现在初步优化的结果是: 在切换页面的时候,加载相应的资源)
2,对SEO不友好: 因为整个页面刚开始可能是个空页面,数据指动态获取的, 搜索引擎是搜获不到任何有关的内容
3:相比家多页面应用,单页面需要掌握的知识要多,开发难度更大
四: 实现原理