2020及以后的Angular——利弊及未来发展

1,303 阅读5分钟

全文共2255字,预计学习时长7分钟

图源:Unsplash


Angular作为一个功能非常完备的前端框架,最早由MiskoHevery等人创建,2009年被Google公式收购,用于其多款产品。


Angular基于TypeScript,通过增强HTML的方式提供一种便捷开发Web应用程序的方式。

它有着诸多特性,最为核心的是:MVC(Model–view–controller)、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。


这篇文章里,小芯将为大家介绍2020年及以后,Angular未来将会发生的变化介绍和经验总结。


图源:Unsplash


我们会一起谈一谈“Angular的优势在哪,它将改变什么,Angular比React好在哪里”等问题。


主要聚焦Angular的未来以及将会发生的变化。


通常,笔者会在GitHub上浏览Angular存储库去了解它。这是一个很棒的网站,可以随时了解Angular代码更改和所添加的功能,你也可以检查问题,并在使用Angular项目时加以注意。


Angular需改进的不足之处


Angular最大的问题是使用它构建的应用程序相对较大,这意味该项目文件很大。这种情况是因为其中包含JavaScript包,又有Angular CLI。如果将这些捆绑包与创建React应用程序得到的捆绑包进行比较,则Angular应用程序更大。


在运行的过程中不会发现任何区别。运行时Angular性能相当不错,但是应用程序相对较大(即使是简单的应用程序),加载时间可能会更长。


其次,Angular应用程序可能非常复杂。Angular是一个完整的框架,不仅如此,它还是全面的功能和工具平台。这意味着学习Angular比学习React更具挑战性。使用React,便只专注于构建与系统用例相关的组件。后来,React添加了一些新功能,但其核心是基于构建组件。Angular中已经存在部分涉及全局状态管理、服务和依赖项注入,但在React中却不存在。对于HTTP或AJAX请求,React需要一个单独的库,但该库已内置在Angular中。路由也是一样的。


这就是为什么与React和Vue JS相比,Angular学起来颇具挑战性,因为它存在更多内置关系,这与应用程序也有关。

当然,纵使具有挑战性,这也是一项巨大的优势,因为Angular关系始终是内置的,可以依赖其存在的功能,并且性能很棒。开发Angular核心的团队还从事诸如表单验证和路由之类的工作,因此可以依靠框架的这些部分来更新,遵循最佳实践,并与Angular的版本兼容。对于React中使用的第三方应用程序,这一点无法做到。如果使用路由库,则可能未将其更新为最新版本的React,或者可能不支持React的所有功能。将第三方库更新到相同级别需要一些时间。

图源:Unsplash


Angular的闪光点


Angular内部具有更多的依赖项和组件,因此无论你的项目是什么,Angular都可以满足要求。这是它的最大优势。而且许多功能可供选择:一套清晰的规则、明确的语法和类型脚本,以便完成最佳操作。此外,还有明确定义的样式指南以及大量资源和教程,用来学习Angular。


新版本的Angular每半年发布一次。这并不意味着一切都会改变,但是框架会缓慢发展,这就是Angular更新的核心。每次更新都完全与之前兼容,并且自Angular2的第一次发布以来,仅发生了较小的更改,例如API的细微更改。不激进但持续的改进是件好事。


在Angular网站上,有一篇题为《版本8.0和IVY的计划》(A planfor version 8.0 and IVY)的博客文章,介绍了版本8和未来计划。该文值得一读,它提供了Opt-in-Ivy的预览。Ivy是内部Angular Renderer(渲染器),这是一个实体引擎,它接受指令并将其转换为DOM。它是隐藏的,并且不会改变使用Angular的方式。


使用Angular时,会拥有小型高性能的应用程序。未来,2020年及以后,它将以不同的方式加载现代JavaScript,预览Opt-in Ivy,并且angular团队正在实施Bazel,这是Google在Angular CLI中开发的编译工具,它还有助于改善文件大小,产出更小的捆绑包。对于整体增强开发人员总体开发体验而言,这可能是更快的构建过程。不久将可用。


这些应用程序将更小,由此摆脱了上述不足之处。它们的优势有:众多功能、清晰的语法和结构。然后,可以获得小型高性能的应用程序。同样,Angular团队的目标是避免大幅的API更改,当然,他们也发现了一些创建组件的替代方法。也许,使用IVY摆脱NG模块是可行的,因此可以只关注组件。


图源:Unsplash


当前的Angular已经相当不错了,广受欢迎且运行良好。


相信在未来,这些应用程序会越来越多,为大家提供更多便利。

留言 点赞 关注

我们一起分享AI学习与发展的干货
欢迎关注全平台AI垂类自媒体 “读芯术”


(添加小编微信:dxsxbb,加入读者圈,一起讨论最新鲜的人工智能科技哦~)