GWT 综述:路线图与相关项目

  • Abel Avram
  • 张龙

2010 年 4 月 12 日

话题:JavaJavaScript架构语言 & 开发

目前处于开发中的 GWT 项目有:以数据为中心的 widget、可折叠的面板、日志、表单验证、声音以及图形。最近更新过的 GWT 相关项目有:Smart GWT、GWT Designer、Gilead 以及 Raphael GWT。

GWT 最新的版本是 2.0.3,于今年 2 月发布。这是一个 bug 修复版,并没有向去年 12 月发布的 GWT 2.0(InfoQ 曾报道过该版本的发布情况)中加入任何新特性。GWT/Wiki包含了目前 Google 正在开发的项目,John LaBanca 在GWT Contributors列表中总结了未来将要实现的一些主要特性:

GWT 2.1

PagingScrollTable 与 FastTree——我们正从事 GWT 2.1 下以数据为中心的 widget 开发,将提供针对树和表格的 API。这一切将构筑在那些孵化 widget 之上,但新的以数据为中心的 widget API 是从当前的 API 演进出来的,变化较大。在将这些 widget 加到 GWT trunk 上后,我们将停止 PagingScrollTable 与 FastTree 的开发工作。

Locale Selection——在服务器端选择本地化信息可以降低启动时请求的往返次数,高效的运行时本地化信息选择也需要该功能。该程序库将增加到 GWT 2.1 中。

GWT 2.2

CollapsiblePanel——该 widget 将成为 DockingLayoutPanel 的子类,类似于 SplitLayoutPanel。

SliderBar 与 ProgressBar——目前这两个 widget 都需要使用全局定时器,这会导致一定的性能问题。如果不使用可调定时器就能实现这两个 widget,那么我们会将其添加到 GWT 2.2 中。如果做不到这一点,那就不再开发他们了。

Logging——如果时间允许,我们会将日志 API 加到 GWT 2.1 中。

Form Validation——我们将在 GWT 2.2 中仔细考虑表单验证 API。

孵化项目

SoundResource——SoundResource 是个前途无量的 API,它会为应用添加声音,但在将其添加到 GWT 之前我们还需要等待 HTML 5 特性的普及,只有这样才更具意义。我们将把 SoundResource 迁移到 gwt-voices 项目中:http://code.google.com/p/gwt-voices/

Graphics——图形库提供了一个专一、平台独立的 API,它构筑在 Canvas 和 VML 之上。我们尚未打算将该库放到 GWT trunk 上,但这个项目绝对值得期待。

HtmlDecorators——我们会继续开发该项目以便能够自由地将修饰添加到 widget 之上。

GWT 生态圈中的其他开源或商业项目有:

Smart GWT

Smart GWT框架提供了可以运行在客户端上的增强 widget,但该 widget 还是由服务端数据支撑的,它构建在SmartClient之上。其主要特性有:

  • 可以将 Flash、ActiveX、Applet 和 SVG 作为 Smart GWT widget 运行。
  • 可以在 ListGrid 单元格中嵌入 widget。
  • 支持三态的 Checkbox TreeGrid。
  • 用在 GWT 2.0.3 上。

GWT Designer

GWT Designer是个可视化的构建器,其所生成的 Java 代码可以被 GWT 编译成 JavaScript。GWT Designer 的最新版是 7.3,搭配 GWT 2.x,支持 Development Mode、Layout Panel 和最新的 widget、HTML、Label 以及 Hyperlink。

Gilead

Gilead可以通过 Hibernate 持久化 GWT 对象:

Gilead 可以轻松克隆持久化实体并将其发送到 JVM 之外。在返回到服务器端时还能合并起来,这样就能把合并后的实例当作游离态实体加以重用。

Raphael GWT

Raphael GWT是个Raphael的适配器,Raphael 是个 JavaScript 程序库,它无需借助于 HTML5 的 canvas 元素就能在浏览器上进行矢量图绘制。Raphael 适用于 Firefox 3.0+、Safari 3.0+、Opera 9.5+ 以及 Internet Explorer 6.0+。

查看英文原文:GWT Roundup: A Roadmap and Related Projects

JavaJavaScript架构语言 & 开发