赞
踩
SPA 优点,我认为更多是在软件工程方面,SPA 形式可以做到前后端彻底分离,只要制定好 API 规范,那么前后端就可以独立开发,并且一套 API 可以同时供多个「端」使用。同时,SPA 倾向于将更多的业务逻辑移动到前端实现。此外,前端有了更好的模块化工具,可复用组件以 js 库的形式进行复用,更容易维护(相比 MPA,通常复用是由模板系统提供的能力)。此外,利用 webpack 的 loader 机制,可以实现更集约化的模块,例如 Vue 的 Single File Component,将相关的 html、css、js 代码集中在一起管理。
SPA 的缺点,我觉得有几方面:
MPA 优点,上述 SPA 的缺点都对应 MPA 的优点,这里不再复述一遍。对于“澄清”一些大家可能会觉得是 MPA 缺点的方面:
MPA 缺点,同样,与 SPA 的优点对应。前后端代码没有很好的解耦,前端开发者需要有一定的后端代码阅读和开发能力,在分工开发时如何协调 commit 之间的冲突也是一个比较麻烦的事。
那么,什么情况下适用 SPA、什么情况下适用 MPA?以下是一些“简单粗暴”的建议:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。