Angular开发之——Angular介绍(01)
一 概述
- Angular是什么
- AngularJS和Angular关系
- Angular特性
- Angular的发展历史
- Angular学习建议
二 Angular是什么
- Angular(读音[ˈæŋɡjələr])是一套用于构建用户界面的javaScript框架。由Google开发和维护,主要被用来开发单页面应用程序
- 类似于Vue.js(MVVM数据驱动视图思想、组件化、模块化、指令等)
- 由Google开发和维护
- 开发单页面应用程序(SPA)
三 AngularJS和Angular关系
AngularJS | Angular | |
---|---|---|
网站 | https://angularjs.org/ | https://angular.io/ |
界面 |
四 Angular特性
类似于Vue.js,有以下特性:
- MVVM
- 组件化
- 模块化
- 指令
- 服务
- 依赖注入
- TypeScript
- ....
五 Angular的发展历史
5.1 起源
- 2009年,Misko hevery和Adam abrons在业余时间打造了GetAngular
- Misko hevery接手了Google内部的一个项目Feedback,该项目经过6个月的迭代代码量已经达到了17000行。项目的开发和维护变得非常困难。所以Misko就决定用GetAngular重写这个项目
- 结果就是小伙子成功了,使用GetAngular之后该项目从17000行缩减到了1500行,前后仅仅使用了三周时间
- Misko领导一看,小伙子厉害啊,同时也看到了GetAngular所带来的商业价值,所以决定把GetAngular正式立项,组织专职团队开发和维护
- Abrons后来离开了这个计划,但在Google工作的Hevery和一些谷歌员工如Igor Minar和Vojta Jina等则继续开发维护此库
- 由于已经不再是个人项目,所以开发团队将GetAngular重新命名为AngularJS
5.2 AngularJS发展迭代
至此,AngularJS就进入了漫长的发展迭代阶段
- 经过3年的发展,AugularJS在2012年6月,1.0.0版本正式推出
- AngularJS在1.2之后的版本不再支持IE6和7
- AngularJS在1.3之后不再支持IE8
- AngularJS在1.5增加了类似组件化的开发方式(为过度到Angular2做铺垫)
- AngularJS 1.x.x当前已发布到了1.8.3,并于2022年停止维护
5.3 困境
- 饱受诟病的性能问题(脏检查)
- 落后于当前Web发展理念(例如组件化、模块化支持不好)
- 对移动端支持不够友好
5.4 Angular2 横空出世
- Angular 1.x由于问题太多,历史包袱太重,重构几乎不可能
- 不过早在2014年3月,官方博客就有提及开发新版本Angular的计划
- 2014年9月下旬一个大会上,Angular2正式亮相
- 2016年9月15号,Angular2正式发布
- 由于ng2几乎完全重写了ng1,所以官方把2之后的版本都称之为Angular
- Angular2之后的logo:
A
5.5 Angular1升级到Angular2?(ng2相比ng1)
- 移除了control+$scope的设计方式,改用了当前主流的组件化构建
- 相比ng1性能更好
- 优先为移动端设计
- 更贴合未来标准(EcmaScript 6、Web Component)
- TypeScript
- 反正就是更现代化,更好了
5.6 现状
- 自Angular2之后,官方承诺之后的版本都会兼容到Angular2
- 当前Angular最新发布版本为v16.x.x
- 新版的Angular在GitHub上也收获了
88k+
- 使用量低于React和Vue
六 Angular学习建议
- 读官方文档
- 写demo测试
- 写小项目练手
- 参与实际项目开发经验
- 日积月累...
七 参考
- AngularJS官网
- Angular官网
- Angular-Github
- Angular官方文档
- Angular中文官方文档