JS基金会发布Dojo 5,旨在开发更快、更小、更健壮的代码(23)

发布于2019-04-20 11:59:12

1月底,Web应用程序渐进式开发框架Dojo发布了Dojo 5。Dojo 5带来了大量的bug修复及功能和工具方面的改进。这个迭代版本旨在让开发人员能够将更小、更强大的代码库更快地发布给更多浏览器。

1月底,Web应用程序渐进式开发框架Dojo发布了Dojo 5。Dojo 5带来了大量的bug修复及功能和工具方面的改进。因为使用了更加智能的polyfill管理,Dojo 5可以生成更小的捆绑包,通过改进的CLI简化构建和开发体验,简化视图模板的测试,并可以使用最新版本的TypeScript。这个迭代版本旨在让开发人员能够将更小、更强大的代码库更快地发布给更多浏览器。

Dojo 5旨在通过减少使用JavaScript代码来提高性能,这是通过优化polyfill的捆绑和加载来实现的。如果应用程序未使用polyfill功能,就不会加载相应的polyfill。或者,如果目标浏览器对某个polyfill提供了原生支持,就不会包含这个polyfill。

Dojo 5还提供了一系列垫片,包含用于Fetch、Intersection Observer、Web Animations和Resize Observer等功能的polyfill。这些polyfill不需要显式包含在Dojo应用程序中。

此外,新的Dojo Blocks功能可以在构建时使用Node.js执行计算。然后,计算结果在运行时在浏览器中可用。以前的一些需要非标准技术和复杂配置的构建操作现在可以只使用JavaScript来执行。

新的Assertion Templates旨在使Dojo小部件的单元测试变得更容易。因为Dojo使用了虚拟DOM,所以测试窗口小部件渲染的内容就是要针对不透明的Dojo特定数据结构进行测试。通过使用Assertion Templates,Dojo开发人员可以不需要了解Dojo虚拟DOM的实现细节。相反,他们可以编写断言,将实际模板与预期模板进行比较。

有了Dojo 5,Dojo存储的中间件现在不仅可以在状态更新操作之后运行,而且可以在更新发生之前运行。使用额外的功能还可以向存储中添加有用的自定义功能,例如缓存。

Dojo 5还提供了扩展的构建时路由支持,简化了开发服务器的操作,并支持从2.6.x到3.2.x版本的TypeScript。

大多数用户应该能够通过安装最新版本的CLI并运行这个命令来迁移到Dojo 5:dojo upgrade app。Dojo还提供了详细的迁移指南。Dojo团队还将举办一些免费的现场研讨会。第一次研讨会定于5月1日在伦敦举行。开发人员可以看一下这些Dojo示例更新的文档GitHub代码库

Dojo 2是对Dojo的一次重大重写。重写旨在让开发人员能够利用现代标准和最佳实践来构建现代应用程序,这些标准和最佳实践在过去几年中得到了广泛的采用。因此,Dojo 2采用了TypeScript、基于组件的架构、反应式虚拟DOM、CSS模块、构建时渲染,以及支持国际化和可访问性。它还提供了更多更好的工具,包括新的命令行界面(CLI)。Dojo 2允许导入和导出Web组件,支持框架之间的互操作性。

这些来自RealWorld的基准测试将Dojo 2列为在有意义的渲染和捆绑传输大小指标方面的三大竞争者之一。另一方面,Dojo 2应用程序也是第二大代码库。RealWorld应用程序是对Medium.com的完整克隆,已经通过各种各样的前端和后端技术实现。它可以对13个框架进行比较,并且比较的是比其他基准测试更大、更复杂的应用程序的实现。按照惯例,开发人员应该谨慎地看待基准测试结果。

Dojo 3和Dojo 4进一步将核心软件包整合到单个框架包中,并继续扩展和改进工具。这些版本还引入了更快的VDOM引擎,以及更好的路由和状态管理抽象。

Dojo是一个基于新BSD许可的开源项目。它得到了JS基金会的支持,该基金会还支持jQuery、Webpack和lodash等JavaScript项目,并提供法律和监管支持。SitePen为Dojo做出了重要贡献。有兴趣为Dojo开发做出贡献的开发人员可以在Dojo GitHub项目中找到贡献指南行为准则。希望使用或为Dojo做贡献的开发人员也可以在Discord上与Dojo团队和社区取得联系。

查看英文原文https://www.infoq.com/news/2019/02/dojo-5-release