先说说什么是库与框架
框架:给你提供一套思维方式和代码模板,让你做事更无脑(也不需要动脑);如 Backbone 教你 MVC,Angular 教你 MVVM,React 教你 Flux……
库:给你提供帮助,没有明显的思路偏好,你愿意怎么用怎么用;
流行的库
- jQuery - DOM 操作 / Ajax
- Underscore / Lodash - 数据操作(
推荐阅读其源代码
) - RequireJS - 资源加载
- React - 基于虚拟 DOM 的视图库
- MomentJS - 时间处理
- JSON3 - 让 IE 支持 JSON 对象
- FastClick - 让移动页面没有 300ms 延迟
- iScroll - 移动页面滚动处理
- Normalize.css - 让各浏览器的默认样式相同
- Velocity.js - 强大的动画库
- D3.js - 可塑性强的数据图表库
- echats.js - 即开即用的图表库
- ……
曾经流行的框架
- Backbone.js - 简洁的 MVC 框架
- Vue.js - 简洁的 MVVM 框架
- Angular - 强大的 MVVM 框架
- Redux - 可预测状态容器(Predictable State Container)
- Flux - Dispatcher + Stores + Views 应用架构
- Knockout.js、Ember.js 等 MVVM 框架MVC、MVVM、D+S+V 等,都是设计模式而已用这个框架,你就要先了解这种模式。
框架的学习方法:
- 读文档
- 然后直接做一个项目,边做边看文档。
- 学得差不多了,就可以把这个做坏了的项目遗弃/重写。
- 就可以开始做公司的项目了。
库的学习方法:
- 读文档
- 直接用
没有文档?不用。
如何找到适合的
- 使用过的人推荐
- GitHub 上看 README 和 Star 数等
- 看大公司用的是什么P.S. 关于公司不让用 jQuery
- 如果不用 jQuery,那么必须有一个跟 jQuery 功能差不多的代替品(私有的代替品终将会被开源社区的产品取代)
- 如果你公司连代替品都没有,那么你要弄出一个代替品(自己写或用开源的),才能节约自己的时间
PS:会持续更新各个框架的特点,大家可以根据自身情况选择合适的框架进行学习。