SPA是指在浏览器中运行的应用,在使用期间不会重新加载页面,利用js动态变换html内容实现UI与用户的交互
优点:
1、前后端分离,项目开发效率提高
2、减轻服务器压力
3、更好的用户体验
缺点:
1、初次加载时花费时间长
2、浏览器中无法记录浏览历史,前进、后退、地址栏等,需要程序进行管理;书签,需要程序来提供支持;
3、SEO问题
MVC:Model-View-Controller
model:数据保存
view:用户界面
controller:业务逻辑
view传送指令到controller,controller完成业务逻辑后要求model改变状态,model将新数据发送到view,用户得到反馈
MVP:model-view-presenter
1、各部分之间的通信都是双向的
2、view和model不发送联系,通过presenter传递
3、view非常薄,不部署任何业务逻辑;presenter非常厚,所有逻辑部署在这里
MVVM:model-view-viewmodel
与MVP区别:采用双向绑定,view变动自动反映在viewmodel中