ng-conf 2022的5个要点
ng-conf是世界上最大的Angular会议,今年9月初,该活动在犹他州盐湖城再次举行。我很幸运能在活动上发言,并参加了整个会议,这仍然是我今年最喜欢的科技活动。
以下是我从为期3天的会议中得到的5个主要收获:
1.Web框架是由各种想法汇聚而成的
在会议主题演讲期间(可在Youtube上观看), Sarah Drasner展示了所有框架是如何相互连接的,以及先驱技术(jQuery, Handlebars)是如何成为第一波web框架(Angular JS, Backbone等)的灵感来源,并演变成我们目前所处的第二波web框架(Angular, React, Vue等)。
我们生活在一个两极分化的时代,人们倾向于将一种技术与另一种技术对立起来,并将一切事物归类为“全好”或“全坏”。
我喜欢莎拉对这个问题的新鲜看法,从本质上讲,所有这些技术都源于彼此,在这个过程中使整个生态系统变得更好。
例如,Angular现在采用了更多的函数式编程方法(受到React的启发),而不仅仅是基于类的、面向对象的选项。
会议期间强调的最好的例子之一是使用功能路由器保护与注入函数用于服务的依赖注入,其结果是以下代码—一行代码的路由器保护!
{
路径:“测试”,
canActivate:() => inject(LoginService).isUserLoggedIn()
}
一个指令组合API也将很快作为另一种支持组合而不是继承的选择,这是一个很棒的想法。
使ng模块可选,带有独立组件是Angular向React靠拢的另一个例子。
2.十年后的Angular Design回顾
Jeremy Elbourn和Alex Rickabaugh上台回顾了一些早期的Angular框架设计决策。这是一个非常有洞察力(有时很有趣)的框架,以衡量这些决定在今天仍然适用。
其中一些要点是:
- Zone.js很好,但有一些代价。通常,浏览器事件不需要触发变更检测。
- 单向数据流(数据沿着组件树向下流动)对于开发人员来说很难坚持,因为数据层次结构并不总是与组件层次结构匹配。
- RxJs它被几个Angular框架api使用,但在Angular内部并不使用。
因此,这些设计决策中的一些在未来可能会改变,这为无zone的Angular打开了大门,它可以使开发人员能够控制他们的组件如何更新,从而摆脱(或至少更容易出现异常)单向数据流。
会议期间还提出了在框架内内置国家管理的想法,目前还没有正式的计划,但我们可能会在未来看到。
3.NgRx和RxJs
虽然NgRx仍然被认为是Angular状态管理的主要选项,但据透露,只有六分之一的Angular应用程序使用NgRx。这意味着几乎85%的Angular应用程序没有使用它考虑到在应用程序中包含状态管理的学习曲线和架构影响,这并不让我感到惊讶。
在RxJs方面,Ben Lesh建议至少升级到版本7.5.4,它更快更小.
4.再见量角器
量角器正在消失,并将在2023年夏天到达生命的终点。Angular采用的端到端测试的主要替代方案也是我最喜欢的:柏树.
乔·埃姆斯宣布项目Endbridge,一种使用Cypress运行传统量角器测试的方法!该项目仍处于alpha阶段,正在寻找早期采用者进行测试并提供反馈。您可以通过请求在Endbridgeweb页面。
5.无障碍规则和图像优化
新可访问性(a11y)规则都被添加到angular-es-lint帮助开发人员在他们的web应用程序中更加注意可访问性。
Angular Material和CDK使用了开箱即用的易访问性最佳实践,所以我们在使用这些库时可以免费获得这些最佳实践。
在性能方面,图像优化指令(NgOptimizedImage)最近在开发者预览版中发布。改善LCP (最大的内容油漆)的时间缩短了75%,因为大多数网站(79%)在他们的登录页面上有大图片。
它也非常容易使用:
<imgngSrc= " cat.jpg "宽度= " 400 "高度= " 200 " >
其中有几个很棒的技巧卡拉·埃里克森的演讲关于图像优化的建议是使用图像cdn进行自动调整大小和图像类型选择(例如,在用户浏览器支持的情况下,cdn可以自动使用WebP或AVIF图像格式,这可能导致图像缩小25-30%)。
结论
总而言之,ng-conf是一个非常棒的活动,它总是如此。欢迎在评论中分享你最喜欢的演讲和公告。我很可能在那篇文章中忘记了很多好东西!
我叫betway必威滚球.我是Angular的谷歌开发专家,也是角训练在那里我帮助web开发团队学习并熟悉Angular。
如果您在网页开发方面需要任何帮助,请随时与我们联系!
如果你喜欢这篇文章,请鼓掌或分享。你的帮助我永远感激。你也可以点击此处订阅Medium.