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:004419
用户头像

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

关注

评论

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

设计模式之假如需要一百万个对象

架构师修行之路

SQL的三十而已—SQL30问

大唐小生

sql 技术人生

设计模式中的单例模式并不完美

架构师修行之路

设计模式 单例模式 23种设计模式 高并发系统设计

C/C++陷阱与套路,当年就是折在这些地儿…

华为云开发者联盟

c++ 设计 编辑 程序 陷阱

Google Protocol Buffer 学习笔记

Geek_4z9ami

protobuf

CDN百科10:快速上手阿里云DCDN全站加速,最新配置与购买优惠教程

阿里云Edge Plus

CDN 直播 网页加速

视频会议专线部署不会?别急,我教你

华为云开发者联盟

网络 网关 华为云 高清视频 welink

如何设计一个优秀的组件

Lee Chen

大前端

数据处理能力相差 2.4 倍?Flink 使用 RocksDB 和 Gemini 的性能对比实验

Apache Flink

flink

1.2 了解MyBatis -《SSM深入解析与项目实战》

谙忆

ChaosBlade:从零开始的混沌工程(五)

郭旭东

Kubernetes 云原生 混沌工程

秒懂云通信:如何使用阿里云号码认证服务(小白指南)

阿里云Edge Plus

云通信 通信云 号码认证

设计模式之——单例模式你真的会吗?

诸葛小猿

设计模式 单例模式 Singleton 饿汉式 懒汉式

计算机网络基础(十五)---传输层-TCP协议详解

书旅

计算机网络 网络 协议栈 协议族

2.1 类加载器、 双亲委派模型 -《SSM深入解析与项目实战》

谙忆

《SSM深入解析与项目实战》目录与说明

谙忆

操作系统和并发的爱恨纠葛

苹果看辽宁体育

Java 并发

Jessie’s产品经理系列1-基础能力篇

架构5班杨娟Jessie

产品经理 能力模型

菊长说丨一文读懂MySQL4种事务隔离级别

华为云开发者联盟

MySQL 数据库 事务隔离级别 事务 华为云

零基础建网站必备技能,看这一篇就够了

北柯

程序语言 网站搭建 编程网站

1.1 了解Spring框架 -《SSM深入解析与项目实战》

谙忆

七的婚姻生活

徐说科技

微服务架构下你的数据一致了吗?

码猿外

架构 微服务 数据一致性

InnoDB存储引擎简介

Simon

MySQL innodb

信创舆情一线--工信部开展网络安全技术应用试点示范工作

统小信uos

LeetCode题解:24. 两两交换链表中的节点,迭代,JavaScript,详细注释

Lee Chen

大前端 LeetCode

有它的加持,单机玩转百亿大数据不是梦!

易观大数据

【译】代码中如何写出更有意义的命名

Jackey

代码质量

联盟链有自己的路要走

Leonbond

区块链 联盟链 公有链

JVM系列之:再谈java中的safepoint

程序那些事

Java JVM JIT safepoint

如何将FastDFS存储数据平滑迁移至XSKY对象存储?

XSKY星辰天合

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