Dojo 0.9 最终版已经发布,发布时间距相应 Beta 版发布不到七周。它有如下重要特性:
Dijit- 所有 UI 部件使用统一外观
- 所有 Dijit 部件都具备的 a11y(可访问性)和 i18n(国际化)特性
- CSS 驱动的成熟主题系统,带有多个高质量主题
- 大幅度的系统级性能提升
- 数据绑定 UI 部件
- 为编写轻量级 UI 部件所准备的声明
- 一个允许任意类实例而不仅限于 UI 组件的全新页面解析器
Core- 减少了的 API 范围(更容易记忆和使用)
- dojo.query() 方法始终可用,返回真正的数组
- 重新编写的高性能拖放(Drag & Drop,DnD)系统
- 组件的基础(dojo.js)仅有 25K 大小(经由 gzip 压缩后的大小)
- dojo.data 的 API 已定稿
- 新的构建系统
- 可同时用于 CLI 和浏览器的新测试套件
- dojo.behavior 基于 dojo.query, 并已被标识为稳定版本
- Dojo Base 中超好的支持彩色动画的 API(始终可用)
- 所有人们从 Dojo 时代开始就盼望的特性(RPC、JSON-P、JSON、i18n、格式化工具)
DojoX- 较早的实验特性得到了高质量的实现:gfx(可移植性 2D 画图)、数据通路、离线、存储、cometd 等等
- dojox.gfx 已经包含了对 Sliverlight 的支持
- 还有更多的特性和改进,这里暂不一一赘述
性能的提升看来非常显著:
Dijit 应用尺寸只有 0.4 版的一半大,页面装载时间更快:UI 部件代码中已没有附加 JavaScript
Daniel Ruspini 在博客上写出了他上月较早前在 Ajax 体验大会中对 0.9 版的印象:
[……] 尽管我以前听到许多关于 0.9 的事情,但这是我第一次看到这些变化和关于实际尺寸、性能的数字。0.9 版的想法是让由于以下原因而变得臃肿不堪的代码量减少:支持尽可能多类型的浏览器、允许贡献者添加部件到部件库中、支持向后兼容的代码。后来他们发现,有 30% 之多的代码是缩减掉的。UI 部件也写得风格迥异,并在使用中也不全然一致,还有一些 UI 部件是大部分开发者用不着的。有一些很流行的组件则尝试履盖更多可能的用例,这导致它们变得很慢(如按钮)[……]
Dojo 0.9 和先前任意一个 Dojo 发布版本都不兼容。不过,希望从 0.4 迁移到 0.9 的用户,可以访问对应的移植指南。
查看英文原文: Dojo 0.9 Goes Final with Significant Performance Improvements
评论