Angular 是一款十分流行且好用的 Web 前端框架,目前由 Google 维护。
特性
跨平台
渐进式 Web 应用
-
借助现代化 Web 平台的力量,交付 app 式体验。高性能、离线化、零安装。
原生
-
借助来自 Ionic、NativeScript 和 React Native 中的技术与思想,构建原生移动应用。
桌面
-
借助你已经在 Web 开发中学过的能力,结合访问原生操作系统 API 的能力,创造能在桌面环境下安装的应用,横跨 Mac、Windows 和 Linux 平台。
速度与性能
代码生成
-
Angular 会把你的模板转换成代码,针对现代 JavaScript 虚拟机进行高度优化,轻松获得框架提供的高生产率,同时又能保留所有手写代码的优点。
统一
-
在服务端渲染应用的首屏,像只有 HTML 和 CSS 的页面那样几乎瞬间展现,支持 node.js、.NET、PHP,以及其它服务器,为通过 SEO 来优化站点铺平了道路。
代码拆分
-
Angular 应用通过新的组件路由(Component Router)模块实现快速加载,提供了自动拆分代码的功能,为用户单独加载它们请求的视图中需要的那部分代码。
生产率
模板
-
通过简单而强大的模板语法,快速创建 UI 视图。
Angular 命令行工具
-
命令行工具:快速进入构建环节、添加组件和测试,然后立即部署。
各种 IDE
-
在常用 IDE 和编辑器中获得智能代码补全、实时错误反馈及其它反馈等特性。
完整开发故事
测试
-
使用 Karma 进行单元测试,让你在每次存盘时都能立即知道是否弄坏了什么。Protractor 则让你的场景测试运行得又快又稳定。
动画
-
通过 Angular 中直观简便的 API 创建高性能复杂编排和动画时间线 —— 只要非常少的代码。
可访问性
-
通过支持 ARIA 的组件、开发者指南和内置的一体化测试基础设施,创建具有完备可访问性的应用。
Angular 10.1.0 具体更新内容如下:
Features
- bazel:从 ng_module 中提供 LinkablePackageInfo
- common:在 keyValuePipe 中添加 ReadonlyMap 代替 Map
- compiler-cli:将
SourceFile.getOriginalLocation()
添加到 sourcemaps 包中 - compiler:支持一元运算符,以便进行更准确的类型检查
- core:将 async 改名为 waitForAsync,以避免混淆
- localize:允许在提取过程中处理重复的信息
- platform-browser:允许
sms
-URLs - ……
Bug Fixes
- bazel:修复 bazel 构建的集成测试
- common:在模板类型检查器中缩小 NgIf context 变量的范围
- compiler-cli:避免为只从类型导入的符号创建值表达式
- compiler:错误地推断 SVG 中 HTML 节点的 namespace
- core:允许在bootstrap之前随时修改 lifecycle hooks
- elements:在正确的区域运行 strategy methods
- forms:处理 groups/arrays 自己的待定异步验证。
- ……
Code Refactoring
-
router:将 DefaultRouteReuseStrategy 导出到 Router public_api
性能改进
-
compiler-cli:当 child scope 空时不发出 template guards
- compiler-cli:修复增量程序重用中的回归问题
- compiler-cli:仅在使用时生成指令声明
- compiler-cli:仅为引用的 DOM 元素生成类型检查代码
- forms:在 prod 构建中使用内部
ngDevMode
flag 来 tree-shake 错误信息 - ngcc: ESM 依赖项主机中的短路标记
- ngcc:使用
EntryPointManifest
来加速 noopProgramBaseEntryPointFinder
的速度 - router:应用 priorizedizedGuardValue 运算符以优化 CanLoad 防护
更新说明:https://github.com/angular/angular/blob/master/CHANGELOG.md