当前位置: 首页 > 科技观察

Angular:跌倒中的自救

时间:2023-03-19 13:16:49 科技观察

作者|徐结成审稿人|赵云提到了前端界的三大主流框架,相信每个前端开发者都能脱口而出:React、Vue、Angular。近两年,React和Vue在圈内的热度可以说是节节攀升。“谁是最好的前端框架”的话题也引起了国内外前端圈的一轮又一轮的热议。一轮辩论。不过不同的是,这两年业界对Angular的关注度越来越低。在去年BestofJavaScript官网发布的第六届JavaScriptRisingStars中,Angular的热度远远落后于React和Vue,甚至被后来者Svelte超越。近年来首次跌出前三名。来源:网络一、从AngularJS到Angular谈到Angular的兴衰,我们绕不开的就是它的前身AngularJS。AngularJS最初是谷歌开发人员MiskoHevery的一个副项目,他希望让网页设计师使用html创建简单的应用程序。随着AngularJS的落地及其在谷歌内部的成功流行,Hevery和他的团队在2010年将AngularJS作为一个单独的开源项目发布。一旦开发人员掌握了AngularJS,他们就可以使用它轻松构建应用程序,例如移动UI工具包IonicFrameworkon移动开发框架ApacheCordova之上。这也使得AngularJS在一大批企业中逐渐流行起来。然而,随着时间的推移,AngularJS的人气开始消退。尤其是当JavaScript开始引入开发规范要求时,虽然谷歌大面积采用了AngularJS,并将其带到了大型企业应用中,但由于AngularJS最初设计上的一些局限性,绑定和模板基础架构始终存在性能瓶颈。为了解决这个问题,Angular的核心团队想要彻底重构AngularJS,使其从之前的设计中解放出来。整个第二版Angular的重写在当时的前端圈子里引起了不小的轰动。直到2018年,AngularJS框架才终于成功脱胎换骨。新版本是用TypeScript编写的,引入了更好的构建大小、稳定的API和更好的整体性能。自此,AngularJS也正式更名为Angular。不过,虽然Angular在原有的基础上取得了很多改进,但React和Vue在此期间取得了长足的进步,依靠更轻量、更好的易用性和更易用的优势迅速抢占了大量市场,一举超越Angular成为顶级JavaScript前端框架的地位。Stateofjs曾在一份报告中提到,2018年以来,虽然Angular一直拥有庞大的用户群体,使用率也一直位居前列,但从整体的变化趋势来看,Angular似乎一直走在下坡路上。远的。来源:网络2,Angular:三大难点谈到Angular面临的困难,大多数人的第一印象是Angular在企业项目中的采用率低,社区活跃度远不及React和React。看。第一个原因是Angular最大的问题——框架很重,用它构建的应用程序太大了。不仅JavaScript包将包含在项目文件中,而且AngularCLI也将存在。与React或Vue相比,Angular应用程序的运行效率不是很高。这也导致了追求短、顺、快的面向消费者的互联网公司,通常不会将Angular作为首选。来源:知乎其次,作为一个专注于企业级开发的框架,Angular内置的关系比较多,相对来说,它并没有那么重视没有开发基础的用户,而是针对有一定开发经验的开发者.因此,Angular的学习曲线会比React和Vue陡峭很多,而且由于大部分用户群体都是企业应用开发者,Angular社区没有React和Vue活跃,这也是无形的。一度提高了开发新手接触Angular的门槛。Angular逐渐衰落的最后一个原因,一般归因于大多数开发者从AngularJS到Angular的断崖式升级。由于前端技术的快速发展和Angular先进的技术选型,从AngularJS到Angular的升级并不顺利。而当Angular团队还沉浸在AngularJS的重写中时,React、Vue等竞争对手已经悄然开始发力。这也导致在Angular出现前后的一段时间里,大量的AngularJS原生用户转向了React或者Vue。3.Angular15:新改进那么,在这场激烈的零和竞争中,Angular还有翻身的机会吗?今年11月,Angular发布了另一个版本更新:Angular15,承诺为开发者提供更简洁易用的功能。从近期开发者的评价中不难发现,此次更新确实让Angular更加精细化、稳定化,扩展了支持能力,无疑有望提升开发者体验。与Angular14一样,Angular15的更新有一个单独的组件API,可提供更高的稳定性。Angular开发人员可以使用这些独立的组件并将它们与HttpClient、AngularElements等同步。独立的API可用于在一个组件中引导应用程序。Angular15还带有一个独立于路由器的API来构建多路由器应用程序。AngularBundlers可以在构建时删除未使用的功能,从而使代码文件大小减少11%。随着对Angularv15的更新,调试Angular应用程序已经大大简化,并且通过堆栈跟踪变得更加清晰和直接。Angular开发团队确保实施一个标准来跟踪更多的开发代码,而不是揭示它调用了哪些库。这一成就使得错误消息可以使用一些改进。此外,Angular的开发团队也在根据AngularMaterialDesignComponentsforwebapplications重构其组件。这些组件具有更好的可访问性,并且符合AngularMaterialDesign规范。并且Angular的开发团队已经弃用了几个组件的旧实现,因此开发者可以选择导入旧版本。对于大多数开发人员来说,他们最喜欢的框架具有很强的指令重用性。Angular团队引入了开发人员经常请求的指令组合API。该API提高了代码的可用性,并允许开发人员使用指令来推送宿主元素并优化Angular。如果开发人员使用Angular编译器,这会变得更容易。Angular15还改进了以前版本中引入的稳定的NgOptimisedImage指令,以帮助更有效地加载图像。今天,此功能通过在用户请求时自动上传正确大小的图像来减少图像下载时间。新版本还消除了用户输入图像尺寸的需要,并将图像适当地填充到其父容器中。当用户不知道图像尺寸时,可以通过“填充模式”轻松解决。4.拒绝外出。一位使用过新版本的Angular开发者表示:从目前的情况来看,Angular15版本可能不会在前端圈内引起大规模的风波,但足以吸引一批新用户。Angular是标准化的,具有内置功能,并且是一个成熟且完善的框架,已经存在了很长时间。尽管近年来它的流行程度不如以前,但我们不得不承认Angular仍然拥有非常强大的社区支持和充足的资源以及坚实的团队。从Angular15的更新来看,谷歌开发者在未来也会继续努力,不要忘记Angular正在谷歌内部数以千计的应用程序中使用。一位用户谈到新的Angular15改进时说:“我喜欢Angular团队所采取的方向——引入一种函数式方法并将其转变为OOP基础之上的函数式方法。对我来说,依赖注入、标记缩小、抽象事物和构建响应式组件帮助我创建干净且可扩展的代码。Angular不断提供可用于提高项目质量的新东西。虽然Angular现在不像React和Vue那样流行,但我绝对推荐你尝试一下。”参考链接:https://www.bbsmax.com/A/Vx5MDLeGJN/https://www.zhihu.com/question/383137600/answer/1252878373