关于开发的一些思考

单页面应用真正开始像一个应用。php

多页面是一个松散的结构,即便有个打包工具,能够使用webpack进而使用模块化。但每一个页面是封闭的结构。html

类比小程序,小程序每一个页面一样是封闭,即便能够经过本地存贮进行数据共享,如同多页面也能够额本地存储进行数据共享。但有一点不管是多页面仍是小程序都没有作到的。vue

可是单页面能够实现的:全局导航守卫和全局响应拦截。react

从这点看说,vue和react这种辅助实现单页面的框架其意义毫不是仅仅提高了网页状态改变的性能。更是从更高层面重构了开发。单页面开发是web页面分工程度的加重,是开发精细度和开发效率的提升。webpack

由于分工和重塑页面元素角色因此能够作更多的事情,包括之前无法实现的。构建了一种新的开始现象web

单页面开发各个角色定义:vuex

1,页面是一个单独的总体,是单独的一个应用,其它都是其部分thinkphp

2,组件化,组件是总体的一部分,是涵盖至少html元素的一个封装,能够复用redux

3,model能够是一类相关的数据体小程序

4,可复用的js方法

5,全局配置项目,能够参考php的thinkphp

6,全局路由导航和全局相应拦截

7,状态机,状态机就是vuex和redux创建起来的共享数据集

8,视图或者叫路由

自己是一个mvvm的结构。

以上是为分工角色。这样依此做为参照。小程序和多页面参照下能够是一种降级,小程序目前没有全局路由导航,没有全局路由响应。多页面也没有。

或者说小程序或者多页面须要后端的辅助才能实现导航守卫和响应拦截。

分析到这,我想到技术的进步,从多页面到单页面是技术的进步。这种进步提早在控制能力和精度的提高上。

或者展望一下,谷歌的PWA更是一种进步,目前在单页面应用能够实现动态路由。或者PWA是将来的发展吧。

本文结束。

后记1:

看到过一句话:好的开发方式就是线性的增长代码,单页面开发无疑是符合的。

vue中存在组件的extends,能够复用组件的相关js数据。

相关文章
相关标签/搜索