单页面应用真正开始像一个应用。
多页面是一个松散的结构,即使有个打包工具,可以使用webpack进而使用模块化。但每个页面是封闭的结构。
类比小程序,小程序每个页面同样是封闭,即使可以通过本地存贮进行数据共享,如同多页面也可以额本地存储进行数据共享。但有一点无论是多页面还是小程序都没有做到的。
但是单页面可以实现的:全局导航守卫和全局响应拦截。
从这点看说,vue和react这种辅助实现单页面的框架其意义绝不是仅仅提升了网页状态改变的性能。更是从更高层面重构了开发。单页面开发是web页面分工程度的加剧,是开发精细度和开发效率的提高。
因为分工和重塑页面元素角色所以可以做更多的事情,包括以前没法实现的。构建了一种新的开始现象。
单页面开发各个角色定义:
1,页面是一个单独的整体,是单独的一个应用,其它都是其部分
2,组件化,组件是整体的一部分,是涵盖至少html元素的一个封装,可以复用
3,model可以是一类相关的数据体
4,可复用的js方法
扫描二维码关注公众号,回复:
2677294 查看本文章
5,全局配置项目,可以参考php的thinkphp
6,全局路由导航和全局相应拦截
7,状态机,状态机就是vuex和redux建立起来的共享数据集
8,视图或者叫路由
本身是一个mvvm的结构。
以上是为分工角色。这样依此作为参照。小程序和多页面参照下可以是一种降级,小程序目前没有全局路由导航,没有全局路由响应。多页面也没有。
或者说小程序或者多页面需要后端的辅助才能实现导航守卫和响应拦截。
分析到这,我想到技术的进步,从多页面到单页面是技术的进步。这种进步提前在控制能力和精度的提升上。
或者展望一下,谷歌的PWA更是一种进步,目前在单页面应用可以实现动态路由。或者PWA是未来的发展吧。
本文结束。