QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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

  • 2019-02-25
  • 本文字数:1586 字

    阅读完需:约 5 分钟

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

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


2019-02-25 08:004424
用户头像

发布了 731 篇内容, 共 454.4 次阅读, 收获喜欢 2003 次。

关注

评论

发布
暂无评论
发现更多内容

智慧公安二维码定位报警系统开发

t13823115967

我是如何使计算时间提速25.6倍的

白日梦想家

Python 代码优化 Numpy 代码加速

第十周学习总结

饭桶

Canal 组件简介与 vivo 帐号实践

vivo互联网技术

数据库 分布式 数据存储

薇娅携手中国航天基金会与我们的太空 带你“益起探月,共舞九天“

排查指南 | mPaaS 小程序提示“网络不给力”时该如何排查?

蚂蚁集团移动开发平台 mPaaS

小程序 网络 小程序生态 mPaaS

shell脚本的使用该熟练起来了,你说呢?(篇一)

良知犹存

Linux shell脚本编写

第十周课后练习

饭桶

什么是物联网?常见IoT 物联网协议最全讲解

华章IT

物联网 IoT

架构师训练营第 1 期第 10 周作业

owl

极客大学架构师训练营

架构师训练营第十周作业

文智

极客大学架构师训练营

不懂源码?来看看阿里P8亲自手码的Spring源码解析整套笔记,高薪offer唾手可得!

比伯

Java 编程 架构 面试 计算机

「面试必备」最新整理出的腾讯C++后台开发面试笔记

linux大本营

c++ Linux 后台开发 架构师

深度剖析,为何C语言在开发领域的地位如此稳固

Philips

Python .net rust C语言 Go 语言

智慧公安大数据可视化分析系统搭建

t13823115967

2020双11,Dubbo3.0 在考拉的超大规模实践

阿里巴巴云原生

阿里云 开源 云原生 dubbo

身为程序员还记得C语言经典算法(附带答案)吗?

ShenDu_Linux

c c++ 算法 编程语言

架构师训练营第 1 期第 10 周总结

owl

极客大学架构师训练营

源码 | 浅谈Webpack原理,以及loader和plugin实现。

梁龙先森

大前端 webpack

Linux 笔记(三): 软件安装

Leo

Linux 学习 大前端

解密智联招聘的大前端架构Ada

智联大前端

Serverless 大前端 开发工具

揭秘11.11监控排障利器 京东高稳定日志服务深度解析

京东科技开发者

云计算 DevOps 日志监控

Mysql数据备份与恢复

张攀钦

MySQL

C++语言中std::array的神奇用法总结,你需要知道!

华为云开发者联盟

容器 数组 函数

Kubernetes初体验--用Kubernetes部署一个Web服务

网管

Kubernetes k8s Web 服务 Go 语言

《我想进大厂》之Spring夺命连环10问

艾小仙

Java spring 程序员 面试 大厂

CAP理论

DL

Mac下Docker Desktop配置阿里云镜像加速器

jiangling500

Docker 阿里云镜像加速器

云算力矿机系统开发,区块链挖矿平台搭建

薇電13242772558

区块链 云算力

接口测试如何在json中引用mock变量

测试人生路

json 接口测试 Mock

一线大厂欺负程序员?京东单方面辞退38岁P7员工三次败诉

Java架构师迁哥

JS基金会发布Dojo 5,旨在开发更快、更小、更健壮的代码_大前端_Bruno Couriol_InfoQ精选文章