前段日子一直在带团队做 SPA 相关的东西
需求很明确,我们要做一个云管理平台。
要不要自己造一个轮子?
造吧,因为没有合用的。
一开始团队提出了几个想法
- 用 easyUI
- 用 ExtJS
- 用 vue
- 用 angular
- 用 react
- 用 glup
我觉得思路不对。原因很简单:我们要的是一个方案,而不是选一个框架或者库
框架和库只是解决整个工程中一小部分的细节问题,方案而是要规划出哪些地方用哪些东西,如何支撑整个业务的流程,同时提高产品的体验,达到或者超越传统 C/S 的模式。
要先解决几个问题
- 项目工程化
- 组件模块化
- 代码规范标准
有很多现成的方案,挑选一个就好,但是一定要在大面积开发之前完成。
上面是那些大方向的东西,往下一层是一些公用和业务需求的考量
- 多浏览器窗口支持
- 多语言国际化
- 键盘操作支持
- 结果集推送刷新
- 页面跳转
- 单页内路由
- 多页面打开
- 文件套打
和业务确认这些需求以后,每点都是一个小的解决方案。这些很多时候是需要自己实现的,从个人经验来看这些东西一定要自己实现才能更好的满足多变复杂的业务需求。
最终是代码上的考量
- 静态文件加载策略
- 公用初始化
- 全局变量
- 模板渲染
- 缓存和更新策略
- 控件封装
- 组件间传递参数
- 父子
- 兄弟
- 父亲和儿子们
- 大哥和小弟们
- 组件封装
- 双向绑定 vs 单向绑定
- 异步上传文件
- 多文件上传
- 多文件下载
- 文件预览
- 事件传递
- DOM 操作封装
- 布局公用封装
其中每点都对应了一个或者多个配套的框架和库,加上自己开发的一些逻辑,基本就能出一套方案。