装箱百万奖金,第六届全国工业互联网数据创新应用大赛火热报名中! 了解详情
写点什么

JS 基金会发布 Dojo 2.0

  • 2018-05-10
  • 本文字数:1753 字

    阅读完需:约 6 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

2018 年 5 月 2 日,Dojo 团队发布了 Dojo 第二版(Dojo 2)。Dojo 是一种为 JavaScript 开发人员扩展开发过程提供帮助的工具箱。Dojo 2 聚焦于开发人员对构建现代企业应用的需求,是在 2007 年发布 Dojo 1 的十多年后对 Dojo 的一次完全重写。Dojo 2 使用 TypeScript 构建,采用了基于组件的架构和虚拟 DOM。Dojo 2 在工具上做了大幅的改进,其中包括一种新的 CLI、集成的测试,以及一些连接 Dojo 与常见标准及工具的功能。

Dojo 2 关注于对现代 JavaScript 巨大改进的集成,并提供给开发人员使用。Dojo 的联合创始人和项目牵头者 Dylan Schiemann 给出了如下的介绍:

从很多方面看,Dojo 1 必须要先行一步。而当前的问题,更多的在于如何将各种功能以一致的方式整合在一起。如何创建具有 React 那样的响应能力、但是能够更好地扩展到更大规模组件上的功能?如何能自然而然地而非磕磕绊绊地实现国际化(i18n)。

我们正力图打破各种框架之间的隔阂。我们一直在推进,已使 Web 组件系统深受 Dojo 1 Widget 的影响。所以这里要指出的是,我们需要一个基于响应式组件的系统,但并不希望将开发人员锁定到 Dojo 中。因此我们实现了一套工具,用于导入或导出 Web 组件,以供在 Dojo 中使用或是在 Dojo 之外使用。

工具是 Dojo 2 的一个主要关注点。Dojo 2 提供了一种全新的 CLI 、集成的测试,以及一系列实现 Dojo 与常用标准和工具连接的功能。Dojo 2 的 Beta 测试人员 Rene Rubalcava 撰写了一篇博客文章,介绍了该即将推出的新版本。文中特别指出,非常容易实现将Dojo Widget 导出为可移植、符合标准的Web 组件:“在REPO 中运行命令 dojo build --element=src/createTwitterShareElement.ts,之后该组件就可以在 Web 页面中使用了”。当被问及在 Beta 测试中接触到的所有特性中他最喜欢哪个时,Rubalcalva 进一步做了如下的解释:

Widget 导出特性可以作为人们即刻开始使用 Dojo 2 的一个绝佳入口。这是一个很棒的特性!我之前从未在框架中看到这样的特性。在我看来,用户将会从该特性中受益匪浅。它使得开发人员可完全聚焦于组件的创建。CLI 非常好用。

CLI 提供了多种好特性,人们可以从中发现大量可用之处。其中之一,就是使用 CLI 为应用赋予主题。开发人员可以引入 Dojo 提供的一些默认的 Widget,而 CLI 则提供了将主题应用到 Widget 和应用的工具。

Dojo 中内建了一个基于 CSS Modules 的主题系统。所有内建 Widget 可主题化(Themeable)。根据 Dojo 的主题文档,可直接使用 CSS Modules 的组合(composition)功能实现主题的扩展。想要着手创建主题的开发人员,可遵循文档中给定的一个教程

Dojo 的前期版本因文档质量而饱受批评。因此在 Dojo 2 中,文档是核心团队的一个主要关注点。据 Schiemann 介绍:

只有通过了很好的测试和文档化,代码才能加入到主分支(Master)中。我们全面掌握人们学习并尝试以此方式记录文档的情况。我们在 Dojo 网站上推出了一个很好的系列教程,其中涵盖了人们想要做的头 50 到 100 件事情。

感兴趣的开发人员,可以从 Dojo 教程入手,就一些常见的问题及其解决方案查阅指南(Cookbook),或是直接深入翻阅文档

对于熟悉 React 的开发人员,可能会发现 Dojo 2 相对比较易于上手。当被问及如何比较 Dojo 与其它一些现代 JavaScript 框架时,Schiemann 表示,Dojo 与 React 最为相似,但 React 遵循的原则是允许开发人员灵活选择所使用技术栈的各个部分,而 Dojo 2 对前端应用的各个部分都具有自身倾向性的默认设置。Rubalcava 对此给出了进一步的解释:

React 是一个很好的软件库,非常棒的 UI 框架,并且十分灵活。但是对于团队工作,同样的灵活性会使新加入的团队成员难以融入。而使用 Dojo 2 时,它支持 JSX,团队成员将具有十分类似的虚拟 DOM 体验。当在团队环境中合作开发时,对所有内容的封装将使新团队成员很容易上手。

Dojo 2 是受 JS 基金会支持的一个开源项目。JS 基金会还为 jQuery、webpack 和 lodash 等关键 JavaScript 项目提供法律上的和管理上的支持。有意参与 Dojo 开发的开发人员,可参考给出在GitHub 上的贡献指南,或是在 Dojo Gitter Channel 上与团队和社区开展直接的交流。

查看英文原文: JS Foundation Announces Dojo 2.0 Release

2018-05-10 19:002025
用户头像

发布了 390 篇内容, 共 112.5 次阅读, 收获喜欢 251 次。

关注

评论

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

解Bug之路-Nginx 502 Bad Gateway

无毁的湖光

nginx Linux TCP

大专生拿到阿里offer,却担心背调不过,网友:985在你面前黯淡无光

程序员生活志

面试 职场 阿里

模板方法模式——看看 JDK 和 Spring 是如何优雅复用代码的

简爱W

Java 程序员 java架构

Spring 5 中文解析核心篇-集成测试之TestContext(上)

青年IT男

单元测试 Spring5 JUnit

​程序员离职后收到原公司 2400 元,被告违反竞业协议赔 18 万

程序员生活志

程序员 职场

为什么一个还没毕业的大学生能够把 IO 讲的这么好?

cxuan

Java 后端 io

开源流数据公司 StreamNative 正式加入 CNCF,积极推动云原生策略发展

Apache Pulsar

云原生 pulsar Apache Pulsar 消息系统 消息中间件

PageRank 算法

周冬辉

架构师训练营第十三周总结

Hanson

第13周 作业

Jaye

「查缺补漏」巩固你的RocketMQ知识体系

Kerwin

Java RocketMQ

超级TV盒子,超清秒播,解锁全网VIP资源!

程序员生活志

资源

oeasy 教您玩转linux 之010208 满屏乱码 bb

o

超详细:完整的推荐系统架构设计

博文视点Broadview

架构 算法 推荐系统

你应该了解的MySQL锁分类

X先生

MySQL 数据库 sql 数据库优化

抗疫代码入国家博物馆, 程序员的巅峰时刻!

程序员生活志

程序员

字节小组长无意中得知整个部门的薪资,自己28K,手下却有35K,怎么办?

程序员生活志

字节跳动 职场 薪资

如何在企业微信上搭建一款活动报名 App

Ceelog

企业微信 Go 语言

Fettley全球共识共享智能合约资产计划 掀起行业追捧热潮

InfoQ_967a83c6d0d7

Hessian Bug修复

心平气和

php 序列化 hessian

防止APP窃取用户隐私问题,OPPO安全在行动

OPPO安全

App 安全 隐私保护 数据隐私 sdk

服务化反面案例

心平气和

服务化 权限

对PageRank的理解

2流程序员

克隆虚拟机

yuanhang

架构师训练营第十三周作业

Hanson

架构师训练营第13周作业

架构师训练营第十三周作业

张明森

全票通过!易观开源项目DolphinScheduler进入Apache孵化器

易观大数据

大数据

yuanhang

Centos 7 虚拟机

What's new in Dubbo-go v1.5.1

apache/dubbo-go

dubbo 服务端 Go 语言

架构师训练营第 0 期第 13 周作业

无名氏

JS基金会发布Dojo 2.0_JavaScript_Kevin Ball_InfoQ精选文章