Day 06:Angular 的主要特色与优点简介

上一篇看完了 AngularJS 与 Angular 的差异後,我们今天要集中火力来看看 Angular 的主要特色。

  1. 可以跨平台开发:
    • Progressive Web Apps(Angular Mobile Toolkit):PWA 是把网站「渐进式」优化成具备 APP 的优点,使用者体验也能提升。
    • Desktop Apps:搭配 Electron 框架就能开发出跨越 Windows、Mac、Linux 的桌面应用程序。
    • Native Apps:可搭配 Ionic NativeNativeScriptReact Native 开发跨行动平台的原生应用程序。

你可以想成,只要你会 Angular,许多开发都可以透过 Angular 来实现啦!

  1. 速度与效能较前一代优异非常多:

    • Code generation(AOT):在浏览器下载和执行程序码之前的编译阶段,Angular 预先(AOT)编译器会先把你的 Angular HTML 和 TypeScript 程序码转换成高效的 JavaScript 程序码。 在建构期间编译应用可以让浏览器中的渲染更快速。

    翻译成白话,就是 Angular 会先透过 AOT 帮你的程序码动手脚,让渲染速度提升。

    • Universal:Angular Universal可以在 server side 预先对网页模版做处理,变成一个有资料的静态页面。可以在使用者要求资料的当下产生静态页面(加快首页的载入速度),也可以事先产生好静态档案以供未来使用。(参考来源:用30天深入Angular 5的世界系列-[技术支援-4] Angular Universal
    • Code Splitting:可以透过路由的机制来实现延迟载入的功能,延迟载入可以缩小初始套件的尺寸,进而减少载入时间,在制作行动版页面的时候,特别实用。
  2. 生产力大幅提升:

    • Templates:简易而强大的范本语法可以提高开发效率。
    • Angular CLI:能透过命令列工具快整的建立模组、新增元件…等等。
    • IDE:搭配编辑器(VS Code)能使用程序码自动完成、即时错误提示与程序码建议。

这个不得不提,Angular 搭配 VS Code 真的是生产力加成,从 Vue 阵营跳过来的我,完全能感受到 VS Code 对 Angular 开发者的友善。

  1. 完整的开发体验:
    • Testing:能结合 Karma 执行单元测试,结合 Protractor 执行 E2E 测试情境。
    • Animation:透过 Angular 直观的 API 能完成复杂的页面动画处理。
    • Accessibility

上述的特点,我还不能体会,如果有兴趣深入了解的朋友们,请再自行搜寻资源研究,但你可以理解成,使用 Angular,你就可以站在巨人的肩膀上进行开发,因为以上的特点都已经有人帮你想过,也都能透过 Angular 搭配好用的工具,降低前端开发的门槛。

主要亮点再整理:

  1. 效能改进(Performance):
    • 效能比第一代的 AngularJS 快了五至十倍。
    • 下载的 JS 大小比第一代还小,并且导入延迟载入机制。
  2. 高生产力(Productivity):
    • 官方提供许多开发工具可供使用。
    • 与 AngularJS 相比,移除了超过 40 个指令(Directives),让开发与後续维护都更容易上手。
  3. 多样平台(Versatility):
    • 在不同的平台底下都能使用 Angular 来开发。

真正优势统整:

  1. 更熟悉的开发架构
    • 使用 TypeScript 开发,而 TypeScript 其实就可以视为 JavaScript,但是导入强型别的特性。
    • TypeScript 与 VS Code 的搭配十分良好,提供了如:IntelliSense 这样的工具支援,让开发过程更加顺畅。
  2. 更低的学习门槛:
    • 减少了许多第一代 AngularJS 的抽象概念,让刚入门的开发者能更容易上手。
  3. 更好的执行效率及行动化体验:
    • 新一代的 Angular 通盘考量了如:所有的萤幕大小、触控的操作、服务器渲染技术及 SPA 等开发需求,大幅度改进了开发的效率及浏览的速度。
  4. 更清晰的专案架构及可维护性:
    • 官方文件提供了一整套的 Style Guide,只要参考官方文件的指引,就能开发出可维护性高、相依性低及开发速度快的 Web 应用程序,而这个 Web 应用程序在未来也不会变得更复杂,可维护性(Maintainability)也就成了新一代 Angular 很重要的优势。

以上就是我们针对新一代 Angular 主要特色与优点的整理,看完手都痒起来了啊啊啊!!!


<<:  Powershell 远程连接

>>:  [Day 4] -『 GO语言学习笔记』- GO语言架构介绍

[30天 Vue学好学满 DAY5] 生命周期

Vue生命周期(Life Cycle) 每个实例从被初始化,挂载到DOM、更新,到最後被销毁的历程。...

D24 / 什麽时候我的 Composable function 会重新被呼叫 - recompose

今天大概会聊到的范围 recompose 在整个系列文章中,有提过不只一次的 recomposit...

Day10 PHP数据类型--基本类型之数字与布尔型

这是今天要介绍的详细一点的数据类型: 整型(int/integer) 浮点型(float) 布尔型(...

JavaScript学习日记 : Day19 - Class继承

1. extend class Animal { constructor(name = "...

LeetCode 896. Monotonic Array

题目 An array is monotonic if it is either monotone ...