BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

GWT-Ext 2.0 发布: Sanjiv Jivan访谈

| 作者 R.J. Lorimer 关注 0 他的粉丝 ,译者 沙晓兰 关注 0 他的粉丝 发布于 2008年2月27日. 估计阅读时间: 7 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。
2月6日GWT-Ext 2.0正式发布。GWT-Ext是一个为Google Web Toolkit(GWT)开发的widget库,它提供很多控件,比如:带有拖放功能的树(trees with drag and drop)、可分页/可排序表格(page-able/sortable grids)、校验表单(validating forms)和标签面板(tab panels)等。GWT-Ext中可使用的控件来自于ExtJS Javascript widget库。GWT-Ext 2.0将GWT 1.4和最近发布的ExtJS 2.0相捆绑起来。(若想获得更多关于ExtJS 2.0的信息,可以查看InfoQ对ExtJS创建者Jack Slocum的访谈

这些是GWT-Ext 2.0与之前版本相比所包含的一些改变:
  • 性能的改进
  • 统一的组件模型
  • 新布局管理API
  • Bean-friendly API 
  • 一些新的widget
完整的2.0发布文档可以从GWT-Ext的网站获得

InfoQ.com有幸和Sanjiv Jivan —— GWT-Ext背后的创建者及主要开发者做了一次短暂的对话,以此获知他对2.0版本的看法:

请用您自己的话(在较高层面)来简单的概括一下2.0中的改变。
首先,我想恭喜Jack和Ext团队,恭喜他们在Ext 2.0中所做的出色的工作。GWT 2.0中很多改进其实都直接得益于Ext 2.0中的强化和构架的改进。

这个版本中最大的构架方面的进步是一个统一的组件模型和改进的布局管理。现在所有的widgets都遵循一个一致的体系,都是同一个管理创建、展现和销毁生命周期操作的基础组件的子类。该版本拥有可以将容器(containers)的各种职能划分开来的构架,容器仅获知它的子组件,而容器中组件的布局管理则交由所指派的LayoutManager来管理。创建复杂的布局现在只是小菜一碟。

GWT-Ext 2.0 还拥有一个bean friendly API,这使得它更易于使用,并且有助于与像GWT Designer这样的UI builder相集成。它还有很多很酷的新特性,比如对Grid中分组(grouping)的支持、Accordion、进度条(ProgressBar)、支持Grid和Tree之间的拖放(Drag & Drop)等等。该发布中另一个亮点是一个新改进的Showcase示范(http://www.gwt-ext.com/demo),这个示范中包含了很多例证性的例子及相关源代码,可单独运行每一个样例。我崇尚通过例子来学习,我希望在这个Showcase示范中投入的努力能够对用户有很大的帮助。

另一个值得一提的是GWT-Ext 2.0的许可问题。据我所知,根据FSF的规定,GWT背景下的LGPL许可实际上被转换成了GPL,除非类库作者声明不要做这样的转换。我在GWT-Ext的许可页面(http://gwt-ext.com/license/)上添加了有关说明,这样大部分用户可以在商业项目中自由使用GWT-Ext,免遭违反许可的厄运。
请您解释一下在2.0版本中,是什么方法使得GWT-Ext的性能得到了改善。开发者能够期望得到怎样不同的性能呢?
该版本中性能得到巨大的提高,主要得益于Ext 2.0中性能的提高。你可以从他们的网站了解他们究竟做了怎样的修改,但我可以讲一下GWT-Ext相关的一些巨大变化。
  • 所有的组件/widgets现在可以支持延迟渲染(lazy rendering),这意味着他们可以在没有任何开销的情况下被初始化和管理,它们的渲染被延迟到其必须要被放到DOM时才进行。仅仅这个改变就换来了性能大大改善的结果,尤其是对于大应用程序来说。
  • 所有组件都遵循一个标准生命周期,从创建到销毁都由允许适当的内存管理的框架来管理。表单和Grids(表格)尤其得到很大的改进,用户可以期望这些widgets能有更好的性能表现。
  • 使用GWT-Ext 2.0,每个widget不再需要各自的“config”类。用户可以简单地在Component本身调用Javabean setters来设置一个Component属性。这不但使得API来的更加清晰,而且还帮助减少了很多行代码。
  • 最后,眼见为实。一些用户在将他们的GWT-Ext升级到2.0之后发表说,他们的应用程序响应更加流畅、性能更加出色了。你也可以通过运行GWT-Ext 2.0的Showcase示范中的例子来感受一下改进了的性能。
GWT-Ext 0.9.3 的用户升级到GWT-Ext 2.0会遇到什么障碍吗?
布局管理API有所改变,但这些改变还是受到了大部分用户的欢迎,因为新的API更加容易上手,并且可以帮助你更快更简单地实现繁复的布局。为Component做配置时,不再需要单独的config类——用户只需要在Component本身调用Javabean setters。在升级中实现这个改变几乎只是几个钟头的苦力活而已,实在不是什么需要深入的大工程。再次地,用户很欢迎这个改变。实际上,使用Javabean而非分隔的config类是受到了GWT-Ext 0.9的用户反馈的影响。

Java编译器也是你的朋友,任何不能处理的不兼容问题,编译器都有相应的报告。我们欢迎用户在GWT-Ext论坛发表任何关于升级的问题。但不同用户升级所花销的时间不同,曾有一个用户报告说他升级他1万行代码的程序到GWT-Ext 2.0的时候花了两天。用户可以期待API将更加稳定。
2.0发布以后,GWT-Ext的开发会向何处发展呢?下一步会带来什么呢?
GWT 1.5作了一些改变,改进了跨越Java-Javascript边界的性能,这也会给GWT-Ext带来了巨大的性能改进。我正在进行必要的(内部)改变以利用GWT 1.5的这个优点做一些优化。

另外,我正在计划添加一些wiki文档、FAQ以及指南来帮助用户更快的提高开发效率。除了正在进行的优化以外,我还计划将注意力放在用户上,帮助他们将开发成果推向产品。最后要说的是,这是一个成功类库的真正基准点。
GWT-Ext拥有LGPL 3.0 许可。社区论坛、Wiki文档、下载链接、以及更多许可信息可以在GWT-Ext主页找到。

查看原文:GWT-Ext 2.0 Released: An Interview with Sanjiv Jivan

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT