阅读 297

认识 Angular

原文链接: 认识 Angular

首先声明:我是一个 Angular 的忠实用户,我司使用 Angular 打造了 WorktilePingCode 两款中大型的 toB SaaS Web 应用,我们实实在在享受了 Angular 框架给创业公司带来的便利,同时我也希望 Angular 在国内可以被更多的人认识和接受,我也一直想为 Angular 社区做点什么,把我们经验和收获分享给大家,但是苦于常常工作太忙,有些事情一直搁置。 以下内容是我之前整理 ngnice.com 站点的时候写的《认识 Angular》章节,主要是想给初学者或者想要尝试 Angular 但是又惧怕门槛的人一些参考。

Angular是一个应用设计框架与开发平台,用于创建高效、复杂、精致的单页面应用,同时是一款优秀的跨平台Web框架。

入门教程

如果你正打算了解和学习Angular,官方文档是最好的教程,英文文档中文文档任你选择。

Angular官方文档一直在迭代,每次大版本的升级都会有很大的变动,变动不是指新的 API,而是更加便于理解和阅读,由此可以看出Angular官方非常非常重视文档,而且官方文档的确写的非常好。

因为每个人的知识背景不同,所以对于官网的理解也不同,如果你对于软件开发工程化的一些思想没有太多的了解,那么看官方文档或许会有点吃力,但是不用着急,慢慢来,当你迈过这些概念后,你会发现自己的视野会更加的开阔。

  • 快来从快速上手开始你的Angular之旅吧
  • 快速上手后就可以针对官方文档的基础知识栏目一一深入了解

学习门槛

Angular是一款大而全的框架,包含了:路由表单安全HttpClient测试动画服务等一切你在Web开发中可能遇到的场景,对于路由表单安全HttpClient测试动画来说,不管你使用何种框架都需要了解和使用,只不过Angular是官方提供的,其他框架官方不提供,而移交给社区。

官方提供的好处:

  • 统一和标准化,每个模块的命名和风格一致
  • 随着官方的版本升级而升级,官方会统一考虑兼容性,使用者不需要操太多的心
  • 不需要在各种技术方案中选择

社区提供的好处:

  • 官方的精力只放在框架的核心功能上,更加专注
  • 集社区的智慧,百花齐放
  • 可以根据公司的场景选择不同的方案,定制满足自己的框架

不管选择何种框架,哪怕是原生开发,以上涉及到到点都是需要去学习和了解的,甚至后者还需要进行方案选型,成本或许会更高,但是内置了路由表单安全HttpClient测试动画后的Angular可以应该作为学习门槛高的原因吗?大家自行判断。

Angular思想

Angular相比其他框架而言,的确会多一些概念,比如:模块服务依赖注入

  • 模块Angular框架比较受争议的东西,它的好处或许只能在中大型项目中体现,对于大部分项目而言可能真的多此一举
  • Angular不仅仅解决了视图层的问题,连我们如何更好的组织业务代码都进行了约束或者说提供了最佳实践,直接体现就是服务依赖注入

你会发现,不管是模块还是服务依赖注入Angular框架试图在帮助我们如何更好的编写软件,看到的都是在约束开发者的行为,约束我们要通过服务编写业务逻辑,约束我们要通过依赖注入的方式在组件或者其他服务中使用,同时也在约束我们要通过模块组织我们组件、指令、管道和服务,等等一系列实践指南。

框架一旦做的事情越多,就越容易产生两种极端情况:

  • 喜欢Angular,认同它的理念的人越来越离不开它,因为Angular太贴心了,帮我们扫除了各种障碍
  • 喜欢自由的人恨的咬牙切齿,这也不能做,那也不能做,恨不得Angular早点过时,早点淘汰

但是回过头来看,模块化依赖注入这些其实不是Angular创造的概念,而是软件开发这么长时间以来一直存在的东西,只是Angular首次在前端框架中引入了而已。

TypeScript和RxJS

不得不说,TypeScript越来越被大部分公司接受和使用,那么Angular在2016年就大胆使用TypeScript足以见官方团队的前瞻性,甚至TypeScript现在的普及和火热有Angular很大的功劳。

TypeScript带来的好处无用多说,AngularTypeScript强绑定肯定会给初学者带来了一定的门槛,但是这种门槛收益是巨大的,一旦项目到达了一定的规模,上TypeScript可能就会变成了必须,而且TypeScript完美兼容ES,可以说是无缝入门,TypeScript最难的是它的类型系统,但是对于一般项目开发基本接触不到定义复杂类型,除非是开发类库或者框架。

RxJS也是Angular团队帮我们做的技术选型,RxJS的入门门槛的确有点高,但是即使你对RxJS不是很精通,好像也不影响我们正常编写Angular应用,但是一旦你理解了RxJS后会给前端带来很大的便捷,以前很难实现的功能使用RxJS就会非常轻松。

最后

以上我们说的模块服务依赖注入TypeScriptRxJS,有些和Angular框架好像完全没有任何关系,但是使用Angular框架后你必须要对上述的技术或者概念进行一定的了解和掌握,对于初学者来说学习门槛自然也就高了,但是这些概念和知识点学会了以后在任何地方都能适用,而且会帮助我们早日成为一个优秀的工程师,甚至掌握 Angular 后再学习其他框架,会觉得更加的简单,甚至会有意识的引入 Angular 的思想,另外就是 Angular CLI 可以快速搭建一个应用,可以先从模版绑定,组件开始了解,按照官网提供的步骤循序渐进的学习。

为什么说 Angular 是工程化实践的范本,因为它实实在在为中大型项目服务的,用它可以更好的打造一个易维护易读的软件,废话不多说,从快速上手开始这款优秀的前端框架吧,只是亲自体验过才会觉得 Angular 是否真的好。

文章分类
前端
文章标签