抛弃所有,选择Angular的3个理由

全文共1807字,预计学习时长6分钟

抛弃所有,选择Angular的3个理由

来源:codecondo.com

2020年来了,在前端开发中,大多数人仍然在大肆宣传React框架。

他们鼓吹React多么强大,能用于网页、桌面和移动开发,广受许多大公司青睐。

而在笔者心中,在尝试了Vue和React后,Angular仍一直是那抹无法磨灭的白月光。

真爱至上。

每个库各有优缺,为项目选择不同的库还是增加了些许难度。这里不会深入比较JavaScript各种框架和库,因为网上关于这方面的内容很多。

接下来,笔者将和大家简单说明,为什么在尝试了Vue和React之后,Angular会成为我的最终选择。

TypeScript

你之前肯定听过TypeScript可以跟React和Vue一起使用。

确实如此,TypeScript是JavaScript的强类型超集,而Angular是基于TypeScript建立的。随时可用,上手轻松。我喜欢TypeScript,因为它是一门严谨的类型语言——类型只要使用正确,代码就更易于理解、管理和重构。

例如,通过使用类型,可以知道函数采用什么类型的参数以及直接从IDE返回什么值。因此无需频繁地执行console.log()来查看每次操作的参数和结果,省去了诸多麻烦。

编译器还可以挑选出那些隐藏颇深、只能在运行时才能检测到的类型不匹配。几乎每个JavaScript开发人员都有过处理类型错误的调试经历。当然,还有其他方法也可以解决此问题——例如,在React中可以使用类型检查proptypes,但不如TypeScript和Angular中的类型自然。

TypeScript还有一个突出的优点:它提供了依赖注入,在Angular中得到了广泛使用,因为将服务和其他类注入到组件中,组件便得以访问那些类。

抛弃所有,选择Angular的3个理由

来源:huaban.com

RXJS

RXJS不只应用于Angular,它可以添加到任何项目中并且使用方式基本相同。然而,它会紧随Angular一起用于HTTPClient等内置服务中,这是从使用Angular的应用发出HTTP请求的可用方法。这体现了RXJS用最少代码提供各种强大功能。

发出get请求但发现响应格式不符合期望时,添加switchMap等运算符就能够更改并得到所需格式的数据。想对返回值进行其他修改也很容易,添加其他运算符即可。此外,找不到一个可以完成预期操作的运算符时,还可以构建自定义运算符。

因此,对现有代码进行重构或添加其他功能变得相对简单多了。RxJS对于状态管理也非常有用,可以创建一个可观察对象并进行多方订阅——对象发生改动时,它就会通知所有订阅者。

最后,“固执己见”的Angular框架

2015年我通过学习Ruby on Rails入门网络开发。这个框架非常棒,许多方面我都很喜欢,其中一点就是它的“固执己见”。不了解这种框架的人可能会误解,其实这里的“固执己见”是指这种框架具有自己的处理方式,开发人员必须遵循这种方式(至少在一定程度上)。

有些人可能不喜欢这些限制,而是希望能自由、灵活地对项目进行设置。如果是这样,那么也许他们使用React框架可以更好地把控开发Web应用的过程。

而我喜欢Angular是因为使用AngularCLI设置项目后能立即获得模板引擎、路由器、表单验证、响应式编程RXJS和一份有关如何构建代码以及数据如何在应用程序中传递的指南。因此,Angular能帮助开发人员更容易理解和编辑他人的代码。

抛弃所有,选择Angular的3个理由

Angular可能比Vue和React更难掌握,但是一旦你上手了,便拥有了一个可用于混合移动/ PWA开发(带有Ionic 4)的全合一框架,既有Google支持,又有良好的文档记录,还附带多种功能便于处理下一个项目。

这么便利,何乐而不为呢?赶紧来拿下Angular吧!

抛弃所有,选择Angular的3个理由

抛弃所有,选择Angular的3个理由

留言点赞关注

我们一起分享AI学习与发展的干货

如转载,请后台留言,遵守转载规范

相关推荐