Application

这个是我在 TB 学到的重点,包含了整个应用制作的流程与要注意的地方

整体的步骤

  1. 需求第一
  2. 根据需求确定框架与架构
  3. 选择开发语言,构建工具
  4. 享受开发自动构建带来的便利,快速做好一个不包含逻辑的应用
  5. 写公用的 UI 库,Util 库,Component 业务逻辑,单元测试
  6. 优化性能与体验
  7. 编译,打包,静态文件部署,上内线
  8. 内线测试,修复 Bug
  9. 正式上外线

接下来的内容,根据整理的步骤来展开

需求与框架选择

首先并不是所有的网站都适合做成单页应用的形式,侧重交互的网站更适合,比如:

  • 公司内部的 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 年就又换流程了。。。