【Introduction】
什么是JavaScript框架?
“JavaScript框架”,是一组能轻松生成跨浏览器兼容的 JavaScript 代码的工具和函数,可以更容易地编写检索、遍历、操作 DOM 元素的代码。
大多数 JavaScript 框架都具备的有用特性。
- 选择器 Selector
- DOM遍历与操作
- 实用函数 Utility
- 事件处理
- AJAX
框架(framework) VS 库(library)
本质区别:控制权——you call libs, frameworks call you
库:是一个封装好的特定的集合,提供给开发者使用,而且是特定于某一方面的集合(方法和函数),库没有控制权,控制权在使用者手中,在库中查询需要的功能在自己的应用中使用。如jQuery、react、underscore
框架:是一套架构,会基于自身的特点向用户提供一套相当于叫完整的解决方案,而且控制权的在框架本身,使用者要找框架所规定的某种规范进行开发。如angular、backbone、vue
框架可以自由的使用库,同时也可以没有框架的基础之上使用库,都是自由的,控制权始终在我们的手中,但是使用框架时候就必须按照它的规范来进行模块化的开发;
(React和react-router, react-redux结合起来才叫框架,本身只是充当一个前端渲染的库而已)
常见框架
- AngularJS
- ReactJS
- VueJS
【AngularJS】
1.简介
AngularJS是一款由Google维护的开源JavaScript库,用来协助单一页面应用程序运行。用于Google 的Adwords 和Fiber项目。
2.Angular版本
AngularJS、 Angular 2、Angular 4
版本 | 基于架构 | 编程语言 | 适用于 | 代码重用方法 |
---|---|---|---|---|
AngularJS | MVC 架构 | JavaScript | 用于PC 端的WEB开发 | $scope |
Angular 2 | 组件架构 | TypeScript | 用于移动应用程序开发 | directive 和 controller |
Angular 4 | 组件架构 | TypeScript | 用于移动应用程序开发 | directive 和 controller |
-TypeScript 是 JavaScript的超集 (superset)
-Angular 1 ,即 AngularJS
3.核心功能
1)组件化、数据绑定以及平台无关的Render机制
2)依赖注入
3)模板
4)路由(@angular/router)
5)AJAX(@angular/http)
6)表单(@angular/forms)
7)组件化CSS封装
8)XSS保护
9)单元测试工具
4.新概念和技术
1)TypeScript
2)RxJS
3)Redux
5.工具和类库
1)Angular CLI
2)Ionic 2
3)Material design components
4)@ngrx/store
【React】
1.简介
ReactJS 不像一个框架反而更像一个库。ReactJS是一个由Facebook开发的非MVC模式的框架,用于自己的产品,包括Instagram和WhatsApp,允许用户创建一个可复用的UI组件。
2.核心功能
1)组件化、数据绑定以及平台无关的Render机制
2)无依赖注入
3)使用JSX代替传统的HTML Templates
4)XSS保护
5)单元测试工具
3.新概念和技术
1)JSX
2)Flow
3)Redux
4.工具和类库
1)Create React App
2)React Native
3)Material UI
4)Next.js
5)MobX
6)Storybook
5.学习资源
- React初学者教程,Wes Bos
- 开始使用React.js,Tuts+
- 教程:介绍React
【VueJS】
1.简介
Vue是 2016 年发展最为迅速的 JS 框架之一。作为用于用户界面开发的渐进式javascript框架,具有易用,灵活,性能优化等优点。与Angular和React相比较,它被证明速度更快,并且吸收了这两者的优点。
2.学习
Vue.js on YouTube
Project: 使用Rails和Vue创建书签管理
学习Vue 2:循序渐进
【感谢】
https://www.ibm.com/developerworks/cn/web/wa-jsframeworks/
AngularJS、 Angular 2、Angular 4 的区别:
https://blog.csdn.net/homer168/article/details/79352287
Angular vs React 最全面深入对比:
https://www.cnblogs.com/powertoolsteam/p/angular_react.html
我们所说的前端框架与库的区别:
https://zhuanlan.zhihu.com/p/26078359
网友评论