写点什么

GWT-Ext 2.0 发布: Sanjiv Jivan 访谈

  • 2008-02-26
  • 本文字数:2209 字

    阅读完需:约 7 分钟

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

2008-02-26 21:273021
用户头像

发布了 71 篇内容, 共 23.4 次阅读, 收获喜欢 3 次。

关注

评论

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

复杂Flink任务Task均衡调度和优化措施

Openlab_cosmoplat

大数据

简洁实用的文本编辑器:FSNotes中文版

真大的脸盆

Mac Mac 软件 文本编辑器 文本管理 文本处理工具

TiDB数据迁移实践DM工具

TiDB 社区干货传送门

迁移 实践案例

单点登录的三种实现方式

Authing

SSO 单点登录

圣邦股份:品类持续深挖,高端加速推进,模拟龙头稳健发展

华秋电子

玩转服务器之应用篇:从零开始构建小型高可用环境

京东科技开发者

高可用 云主机 云服务器 企业号 6 月 PK 榜

TiDB集群数据库灾难恢复手册

TiDB 社区干货传送门

管理与运维 备份 & 恢复

中移链资源管理介绍

BSN研习社

手把手实践丨基于STM32+华为云设计的智慧烟感系统

华为云开发者联盟

云计算 华为云 华为云开发者联盟 企业号 6 月 PK 榜

亿级大表毫秒关联,荔枝微课基于腾讯云数据仓库Doris的统一实时数仓建设实践

科技热闻

一次网络请求中的流量分发过程 | 京东云技术团队

京东科技开发者

数据传输 企业号 6 月 PK 榜 流量分发 网络请求

这本数智平台白皮书讲透了大型企业数智化升级业务痛点

用友BIP

白皮书 数智底座 数智平台 平台白皮书 数智化转型白皮书

我又和redis超时杠上了

蓝胖子的编程梦

redis 性能分析 云服务器 线上事故 接口超时

强化学习基础篇[2]:SARSA、Q-learning算法简介、应用举例、优缺点

汀丶人工智能

人工智能 深度学习 强化学习

一文读懂责任分配矩阵,解决你80%的项目难题

敏捷开发

项目管理 Scrum 敏捷开发 责任分配矩阵 RACI矩阵

强化学习基础篇【1】:基础知识点、马尔科夫决策过程、蒙特卡洛策略梯度定理、REINFORCE 算法

汀丶人工智能

人工智能 深度学习 强化学习

人工智能工程总体介绍

紫晖

人工智能 软件工程 数据开发

含有CPU芯片的PCB设计需要考虑的五个主要方面

华秋电子

数据隐私为先:EMQX Cloud BYOC 架构解析

EMQ映云科技

物联网 云服务 mqtt

大型 3D 互动开发和优化实践 | 京东云技术团队

京东科技开发者

游戏 3D 企业号 6 月 PK 榜 互动游戏

浅谈EOS区块链性能测试

BSN研习社

让AI无处不在!Intel拿出全新VPU:超高能效碾压GPU

E科讯

【5.26-6.02】写作社区优秀技术博文一览

InfoQ写作社区官方

热门活动 优质创作周报

2个场景实例讲解GaussDB(DWS)基表统计信息估算不准的处理方案

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 6 月 PK 榜

BFF层聚合查询服务异步改造及治理实践 | 京东云技术团队

京东科技开发者

优化技巧 企业号 6 月 PK 榜 BFF层 异步优化

rocketmq4 docker安装 阿里云linux2(centos7)

folo

Docker centos RocketMQ部署

TiDB 落地SAS机器实践

TiDB 社区干货传送门

实践案例 应用适配 HTAP 场景实践

堡垒机重要吗?为什么?求解!

行云管家

堡垒机 安全运维 录像审计

行云堡垒V7亮点有哪些?具体看这里!

行云管家

IT运维 行云堡垒

GWT-Ext 2.0 发布: Sanjiv Jivan访谈_Java_R.J. Lorimer_InfoQ精选文章