Application
这个是我在 TB 学到的重点,包含了整个应用制作的流程与要注意的地方
整体的步骤
- 需求第一
- 根据需求确定框架与架构
- 选择开发语言,构建工具
- 享受开发自动构建带来的便利,快速做好一个不包含逻辑的应用
- 写公用的 UI 库,Util 库,Component 业务逻辑,单元测试
- 优化性能与体验
- 编译,打包,静态文件部署,上内线
- 内线测试,修复 Bug
- 正式上外线
接下来的内容,根据整理的步骤来展开
需求与框架选择
首先并不是所有的网站都适合做成单页应用的形式,侧重交互的网站更适合,比如:
- 公司内部的 ERP,HR,金融系统等软件
- Bug 追踪,TODO 管理等需要用户长时间停留的软件
- 最常见的是信息和商业系统,这些系统的用户经常在页面上停留数个小时
- 所有 Hybird App
- 侧重交互或反馈要求及时
2016 年前端有几个框架适合用在复杂产品中
- Backbone, 2010 诞生,非常简单,但是做复杂应用很难驾驭,需要有非常有经验的人带领才能做大型应用
- Angular V1, 2012~2013,生态很好,但由于框架设计上的缺陷,如果对框架原理不熟悉很容易出现性能问题
- React, 2013,Flux, Redux, Virtual-DOM, JSX, Webpack 这些词都跟着 React 火起来了,可以肯定近两年 React 还会非常火
- Angular V2, 2016,很多 Angular V1 用户的期待
其实还有 Vue.js, Ember.js, Knockout.js, Cycle.js 等非常优秀的框架,不过站在公司的角度,选一个框架还得看生态,André Staltz 在 WHY REACT/REDUX IS AN INFERIOR PARADIGM 中写到 As a reminder, there are multiple aspects to consider when picking a Frontend technology:
- Learning cost
- Paradigm ergonomy
- Community size
- Feature coverage
选择开发语言,构建工具
自从 ES6 发布后,CoffeeScript 就彻底没戏了,目前比较火的语言搭配是:
- ES6 + Babel
- ES6 + Webpack + React
- TypeScript
构建工具也是发展得快,Gulp 的诞生立刻撼动了 Grunt 的位置 如果不用 React + Webpack,毫无疑问就是该选 Gulp
剩下的。。。
想了想也没有什么好写~模块化?架构与模式?风格与范式? 其实主要和编程水平有关啦,还有经验的积累~就现在前端的发展来看指不定 2017 年就又换流程了。。。