为什么我选择Angular?


TL; DR

我选择了Angular,因为我们一起创造了一支伟大的团队。它提供了一个成熟的平台,可以在关注用户的同时处理非兼容性,可维护性和可测试性等非功能性需求。

Angular解决了什么问题? ?

前端开发变得越来越复杂。

自从我们认识到网络的潜力以来,我们的界面变得更加丰富,我们的功能变得更加复杂,但随着我们的需求变得越来越大,我们的挑战也越来越多。

为了给您一个想法,这些是我今天构建大型企业应用时必须考虑的一些方面:

  • A11Y♿️:为每个人提供网站,包括但不限于色盲,视力障碍,运动障碍或听力受损的人。跨浏览器?:确保您的网站几乎在每个浏览器上无缝或至少逐步运行:Chrome,Safari,Edge,Internet Explorer等。
  • 自适应?:提供适用于各种屏幕尺寸(电视或小型设备),分辨率(视网膜,2倍图像)和类型(手机,平板电脑,台式机)等的用户界面和用户体验。
  • 多语言?:构建能够适应不同语言结构的网站,如RTL和LTF,复数,货币等。
  • 性能?♀️:创建可以在不同网络条件(如3G)和低RAM设备上及时呈现的网站。

这只适用于最终用户 – 开发人员也必须处理很多与自己有关的问题:

  • 可维护性??:处理可轻松覆盖数百万行代码的代码库,同时确保在模块化,脚手架和标准方面适当的开发人员工效学。
  • 构建?:确保您的应用程序包是轻量级的,这样您就不会超过可能影响性能的大小预算,并密切关注任何编译错误和构建时间。
  • 可测试性?:确保单元测试和端到端测试运行完美,但同时确保尽管应用程序的复杂性,创建新的测试用例仍然很简单。

请注意,对于某些应用程序,这只是您需要的内容的摘录,对于其他一些应用程序,您可以完全忽略这些要求。

对于第一次加入软件行业的人来说,这是压倒性的。

作为一名专业人士,我有责任了解这些挑战并了解如何解决这些挑战。不过,每次创建新应用时,我都不想花费数小时来搞清楚。 ?♂️

这是我的问题,这就是Angular最擅长的。

Angular做什么? ?

Angular做了很多事情,但也许这张图片可以给你一个更好的主意:

那里所有那些漂亮的图标代表了Angular提供的一组工具。让我们来看看其中一些:

  • ?CLI:根据大型企业的说法,Angular CLI是Angular配备的最佳功能之一。它允许您通过简单的命令来构建组件,服务和模块,但当然,它本身并不是非常令人印象深刻。 CLI的真正价值在于更重的命令,例如ng add @ angular / pwa会自动将您的应用程序转换为渐进式Web应用程序,或更新@ angular / core @ angular / cli,它会自动将您的应用程序更新为最新的稳定版本Angular。所有这一切都归功于Schematics的强大功能。
  • ?原理图:您可以将Schematics视为Angular的Yeoman,但是超级大国。 Schematics是一个代码生成器,它允许您创建和转换代码。例如,您可以创建一个使用访问器和所有内容为您生成整个类的原理图,而不是一遍又一遍地创建TypeScript模型。但是,这只是一个简单的示例 – 您可以将它用于复杂的逻辑,例如重构大型应用程序以在其所有组件中使用外部模板而不是内联模板手工完成它花了我2个小时,只需几分钟就可以使用Schematics。
  • ?AngularMaterial:它是由Google开发的一个组件库,可让您访问一组经过全面测试的组件,这些组件开箱即用。它最初以Angular Material设计系统为主题,但它还提供CDK(组件开发套件),让您有机会使用您需要的任何设计系统。
  • ?Http模块:Angular团队知道大多数Web应用程序都存在HTTP调用。这就是为什么Angular带有一个让你更容易的模块。它基于Observables,因此您可以以任何您喜欢的方式撰写电话。此外,它还具有HTTP拦截器,可让您轻松转换传入/传出请求。
  • ?i18n:Angular还通过Angular CLI提供内置功能,帮助您创建多语言网站。它会读取您的模板并生成可用于翻译文本,数字,日期和货币的XLIFF(或XMB)文件。设置完翻译后,CLI将为您创建相应的版本,无需任何额外的工作。
  • ?业力,茉莉和量角器:单元测试和端到端测试是Angular团队的首要任务。这就是为什么Karma已经在每个使用CLI创建的Angular项目中配置的原因。如果您愿意,可以使用Jasmine或切换到您喜欢的任何其他框架。最后,您需要担心的是编写测试。
  • ?路由器模块:无论您是在延迟加载,预加载还是按需加载路由,Angular CLI都有一个模块可以让您直接进行操作。它提供了可维护的结构,使得具有繁重路由配置的应用程序易于处理。你应该只关注Angular关心的方式。
  • ?反应表单模块:表单是Web应用程序中最常见的工件之一。有些是相当简单的,例如登录表单,有些是复杂的,其中一些字段值依赖于其他字段值,并且这些值需要在客户端和服务器中实时验证…?。好吧,Reactive Forms Module可以帮助您减少实现此目的所需的样板代码量,同时允许您将逻辑保留在模板之外。

当然,其中一些功能远非完美,但就目前而言,它们为我节省了大量时间。

我应该使用Angular吗? ?

工具是否合适取决于您当前的需求,环境和挑战。

对我来说,Angular非常适合大型挑战。虽然,网络不是一个很大的挑战吗? Ryan Grove在这里提供了一个有趣的观点:

如果今天我们有更好的工具来帮助我们做好,那么为什么不使用它们呢?一个很好的理由是成本。对于某些人来说,掌握Angular可能比学习其他框架花费更多的时间。

最后,由你来支付或不支付,但是,亨利福特的报价非常方便:

如果你需要Angular但你没有学习它,你会发现你学会了如何处理Angular解决的每一个问题,但你仍然不知道Angular。

谢谢阅读 ?

如果您对Angular有疑问或不完全确定Angular是否适合您,请联系我我非常乐意帮助你解决这个问题 ?

资讯来源:由0x资讯编译自DEV,原文:https://dev.to/angular/why-i-chose-angular-hk ,版权归作者所有,未经许可,不得转载
你可能还喜欢