【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

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:272558
用户头像

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

关注

评论

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

WebRTC 流媒体常见开源方案综述 | 社区征文

liuzhen007

音视频 新春征文 2月月更

特征工程:归一化与标准化

强劲九

Python 人工智能 神经网络 机器学习 scikit-learn

简单入门计算机网络

宇宙之一粟

计算机网络 2月月更

JAVA新特性的入场券-函数式接口

蜜糖的代码注释

Java 后端 Java高级特性

Kubectl插件开发及开源发布分享| 社区征文

雪雷

golang 云原生 cobra kubectl plugin 新春征文

ReactNative进阶(四十四):Mobile App 适配性优化

No Silver Bullet

React Native 适配 1月月更

Windows 和 Linux 上安装 TTF 字体的方法

编程三昧

HTML5, CSS3 1月月更

模块六作业-拆分电商系统为微服务

CH

#架构实战营 「架构实战营」

Linux之killall命令

入门小站

Linux

模块六作业

Anlumina

架构实战营

云原生的前世今生(一)

劼哥stone

云原生

ReactNative进阶(四十三):Mac 通过 .bash_profile 文件配置环境变量

No Silver Bullet

Mac 2月月更 .bash_profile

Promise 基本方法的简单实现

编程三昧

JavaScript Promise 2月月更

TTF、OTF、WOFF 和 WOFF2 的相关概念

编程三昧

CSS css3 1月月更

从IaC到IaD

俞凡

云计算 基础设施即代码

浅谈 Java 集合框架

宇宙之一粟

java集合总结 1月月更

Kubernetes初学者指南

俞凡

架构 Kubernetes 云原生 2月月更

Linux之kill命令

入门小站

Linux

【优化技术专题】「系统性能调优实战」终极关注应用系统性能调优及原理剖析(下册)

洛神灬殇

性能调优 Java 分布式 优化逻辑 技术职场 1月日更

Mybatis技术专题之MybatisPlus自带强大功能之多租户插件实现原理和实战分析

洛神灬殇

多租户 MyBatisPlus 2月日更 多租户技术

Java NIO为何导致堆外内存OOM了?

JavaEdge

2月月更

从 TDD 到测试策略

Teobler

前端 TDD 单元测试 测试策略 测试金字塔

拆分电商系统为微服务

AUV

「架构实战营」

我所理解的云原生(二)

劼哥stone

云原生

ReactNative进阶(四十六):移动端实现字体自适应

No Silver Bullet

自适应 React Native 2月月更

2021,平(jia)凡(ban)的一年

xiezhr

年终总结 2021 2021年终总结

我的2021

劼哥stone

年终总结

行业研究流程及资源总结

轻口味

android AI 1月月更

模块六

Geek_59dec2

架构

第六周作业

cqyanbo

2021年度总结-拥抱变化

wood

300天创作

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