前面的话
本文将对前端架构遗漏的知识点进行补充说明,包括文档输出、系统分解、组件提取和发布优化这四个部分
文档输出
1、在多人协作过程中会存在一些问题:
a、文档制定的写作要求比较高, 要有结构化, 逻辑清晰, 写得好, 写得快, 还要注意排版才能适合他人阅读;
b、系统比较复杂文档篇幅会很长, 达到几百页以上难以花过长时间通篇阅读,照成很多细节一带而过;
c、规范能够满足需求不一定符合开发逻辑, 制定者需要与开发人员协商;
d、既要满足需求又要满足开发者的阅读;
e、措词的歧义性, 个人理解上有差异, 丢三落四, 内容不完整, 出现错别字等等;
2、在后续工作与复用方面,也会存在问题:
a、难以形成最终版本的规范, 后续需要不断修改再修改, 修改会给后续人员带来额外的开销;
b、如果需求发生变化需要重新设计规范, 软件的体系结构也需要大大小小的修改;
c、规范的重用性与制定者的设计水平息息相关;
d、复用后的文档同样难免会出现丢三落四, 内容遗漏, 涵盖原有设计未被修改或未删除等问题;
系统分解
在实际开发中,对系统进行分解的难点和需要考虑的问题如下:
1、分解的主要难点在于怎么拆分,拆分的是否合理;
2、各个业务功能都有联系, 从哪里进行拆分?
3、拆分的模块可不可以再拆分?
4、分解的粒度是否合理, 每个模块都有各自的细分, 拆分到模块级别还是类级别?
5、分解容易造成过渡分解或过早分解, 增加成本还会带来风险;
6、拆分的模块是否可以复用?
7、分解后是否能够很好的集成?
8、保证对交互稿做到100%的分解, 并且不允许漏掉任何一个模块, 稍有疏漏就会对后续开发造成影响;
9、如何按照时间规定内完成分解, 否则整体进度要延期;
组件提取
根据交互提取通用组件,需要进行以下操作
1、把交互稿按照层次划分,提取相似的部分;
2、再进一步划分,提取更小的组件;
3、确保每个组件相对独立,和其它组件没有重复的地方;
4、拆出来的组件尽可能简单,可以被重用;
5、例如按钮,图标,分页,导航,菜单,列表,轮播图等等;
6、将这些组件组合起来能够还原交互稿;
发布优化
项目发布时,需要进行以下优化
1、文件缓存。配置超长时间的本地缓存,节省带宽,提高性能;采用内容摘要作为缓存更新依据 ,实现精确的缓存控制,同时实现资源的非覆盖式发布, 保证平滑升级
2、静态资源CDN部署,优化网络请求响应
3、资源合并与优化。文件合并,模块化会导致HTTP请求大量增加;图片优化,包括图片压缩和雪碧图合并(貌似现在都流行用iconfont实现这块)等