Angular

Angular (通常是指 "Angular 2+" 或 "Angular v2 及更高版本") 是一个基于 TypeScript 的开源 Web 应用框架由 Google 的 Angular 团队以及社区共同领导。Angular 是由 AngularJS 的同一个开发团队完全重写的。 在设计上，Angular 是 AngularJS 的完全重写。 Angular 没有“作用域”或控制器的概念，其架构中的主要角色是一些层次化的组件。 Angular 具有不同的表达式语法，主要是用 "[ ]" 来表示属性绑定，以及用 "( )" 来表示事件绑定 模块化 – 许多核心功能都已模块化 Angular 建议使用 Microsoft 的 TypeScript 语言，该语言引入了如下特性： 静态类型，包括泛型 装饰器，语法上类似于注解 TypeScript 是 ECMAScript 6 (ES6) 的超集，并且与 ECMAScript 5 (即 JavaScript) 向下兼容。 动态加载 异步模板编译 RxJS 提供了迭代式回调。RxJS 在状态可见性和调试方面有局限，不过可以使用诸如 ngReact 或 ngrx 之类的响应式第三方库来解决这些问题 支持 Angular Universal，它可以在服务器上运行 Angular 应用程序 最初，团队将这份 AngularJS 的重写版本称为 “Angular 2”，但这在开发人员之间引起了混乱。为了明确起见，该团队宣布应该为这两个框架分别使用各自的术语，其中 “AngularJS” 专指 1.X 版本，而不带 “JS” 的 “Angular” 则专指版本2及更高版本。 在2014年10月22~23日的 ng-Europe 会议上发布了Angular 2.0。 2.0 版的重大变化在开发人员之间引起了很大争议。 2015年4月30日，Angular 开发组宣布 Angular 2 从 Alpha 推进到 Developer Preview。 Angular 2 于2015年12月推进至 Beta 版， 并于 2016年5月发布了首个 rc 版本。 其最终版本于2016年9月14日发布。 2016年12月13日发布了 Angular 4，它跳过了版本号 3，以免由于路由模块的版本的未和其它模块对齐而造成混淆（路由模块在之前已经作为 v3.3.0 发布了）。 其最终版本于2017年3月23日发布。 Angular 4 向后兼容 Angular2。 Angular 4.3 版是次要版本，这意味着它没有破坏性变更，是 4.xx 的直接替代品。 版本 4.3 中的特性 引入了 HttpClient，这是一个更小、更易于使用且功能更强大的库，可用于发起 HTTP 请求。 一些新的路由器生命周期事件，用于追踪守卫和解析过程。生命周期事件（比如 NavigationStart）集合中加入了四个新事件：GuardsCheckStart, GuardsCheckEnd, ResolveStart, ResolveEnd。 有条件的禁用动画。 Angular 5 于2017年11月1日发布。 Angular 5 的主要改进包括对渐进式 Web 应用的支持、一个构建优化器，以及一些与 Material Design 相关的改进。 Angular 6 于2018年5月4日发布。这是一个主版本，其改进重点不在于底层框架，而在于工具链，其目的是让工具链能在将来与 Angular 一起快速发展，改进点主要包括：ng update、ng add、Angular Elements、Angular Material + CDK 组件库、Angular Material 初学者组件、CLI 工作空间、库支持、服务提供商的摇树优化、动画性能改进，以及 RxJS v6。 Angular 7 于2018年10月18日发布。其升级主要集中在 Angular Material & CDK、虚拟滚动、选择框在无障碍方面的改进、支持对符合 Web 标准的自定义元素进行内容投影，以及对 Typescript 3.1、RxJS 6.3、Node 10 (仍然支持 Node 8) 的依赖库更新。 Angular 8 于2019年5月28日发布。特性包括：为所有应用代码进行差异化加载、针对惰性加载路由的动态导入、Web workers、支持 TypeScript 3.4，并且把 Angular Ivy 作为可选的预览特性。Angular Ivy 的可选预览特性包括： 生成的代码在运行时更易于阅读和调试 更快的重新构建 改进了有效载荷的大小 改进了模板类型检查 向后兼容 最值得期待的特性之一是 Ivy ，它是一个向后兼容的、基于增量式 DOM 架构的全新渲染引擎。Ivy 从设计之初就考虑到了摇树优化，这意味着应用的发布包中只会包含那些在应用中真正用到的 Angular 部件。 可以预期，每一个版本都会向后兼容前一个版本。Google 承诺每年会进行两次升级。 所有主版本都提供了 18 个月的支持。其中包括 6 个月的活跃支持，在此期间会定期发布更新和补丁。然后是12个月的长期支持（LTS），在此期间只会发布关键修复程序和安全补丁。 Angular Material 是一个 UI 组件库，它在 Angular 中实现了 Material Design。 自由软件主题 AngularJS React (JavaScript 库) Vue.js Angular, version 2: proprioception-reinforcement. blogspot.com. September 14, 2016 [2017-03-18]. （原始内容存档于2017-03-12）.  Release 18.2.5. 2024年9月18日 [2024年9月20日].  r/Angular2. reddit. [2019-11-15]. （原始内容存档于2020-06-17）.  AngularJS 与 Angular 2+: 一份详细的比较. 6 April 2018 [2019-11-15]. （原始内容存档于2019-04-13）.  Angular 文档. angular.io. [2019-11-15]. （原始内容存档于2020-04-30）.  AngularJS 和 Angular 之间有什么区别？. gorrion.io. September 19, 2017 [2018-01-28]. （原始内容存档于2020-03-05）.  Angular: Branding Guidelines for AngularJS. [2017-03-04]. （原始内容存档于2018-01-09）.  Coman Hamilton. A sneak peek at the radically new Angular 2.0. [2015-10-21]. （原始内容存档于2020-05-01）.  Ng-Europe schedule. [2019-11-15]. （原始内容存档于2018-04-30）.  Coman Hamilton. Angular 2.0 announcement backfires. [2015-10-21]. （原始内容存档于2020-04-24）.  @angularjs. Angular 2 moves from Alpha to Developer Preview! Dev guide and API docs now available at ... angular.io/docs/js/latest (推文). 30 Apr 2015 [2015-10-21] –通过Twitter.  Angular: Angular 2 Beta. angularjs.blogspot.it. [2016-07-13]. （原始内容存档于2015-12-18）.  angular/angular. GitHub. [2016-05-04]. （原始内容存档于2020-05-22）.  Ok... let me explain: it's going to be Angular 4.0. angularjs.blogspot.kr. [2016-12-14]. （原始内容存档于2017-10-16）.  Angular 4.0.0 Now Available. angularjs.blogspot.ca. [2017-03-23]. （原始内容存档于2018-01-08）.  Angular 4 coming in 2017, to be backwards compatible with Angular 2. react-etc.net. [2016-12-14]. （原始内容存档于2019-12-12）.  Fluin, Stephen. Version 5.0.0 of Angular Now Available. [2 November 2017]. （原始内容存档于2020-04-27）.  Angular 5 JavaScript framework delayed. [2019-11-15]. （原始内容存档于2018-06-12）.  Version 6.0.0 of Angular Now Available. [4 May 2018]. （原始内容存档于2020-04-27）.  Fluin, Stephen. Version 7 of Angular — CLI Prompts, Virtual Scroll, Drag and Drop and more. Angular Blog. 2018-10-18 [2019-06-07]. （原始内容存档于2018-10-21）.  Fluin, Stephen. A plan for version 8.0 and Ivy. Angular Blog. 2019-02-08 [2019-06-07]. （原始内容存档于2020-06-27）.  Angular. angular.io. [2019-06-07]. （原始内容存档于2019-06-04）.  Noring, Christoffer; Deeleman, Pablo. Learning Angular: A no-nonsense guide to building real-world apps with Angular 5. Packt Publishing Ltd. 2017-12-08: 315. ISBN 9781787125940 （英语）.  Hajian, Majid. Progressive Web Apps with Angular: Create Responsive, Fast and Reliable PWAs Using Angular. Apress. 2019-05-22: 30. ISBN 9781484244487 （英语）.  Kasagoni, Shravan Kumar. Building Modern Web Applications Using Angular. Packt Publishing Ltd. 2017-05-29: 173. ISBN 9781785880032 （英语）.  Clow, Mark. Angular 5 Projects: Learn to Build Single Page Web Applications Using 70+ Projects. Apress. 2018-02-20: 245. ISBN 9781484232798 （英语）.  官方网站（页面存档备份，存于互联网档案馆） 已归档网站 (Angular 2) （页面存档备份，存于互联网档案馆） JavaScript 框架之间的比较（页面存档备份，存于互联网档案馆）