写点什么

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

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

关注

评论

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

ERP系统能帮你做些什么?ERP系统的部署类型哪个更适合你?

低代码小观

企业 企业管理 信息化管理 流程管理

kubernetes pod访问不了外网但是宿主机可以

ilinux

【Python自动化测试网站推荐】免费资源网址,帮你找到所有想要的资源!!

程序员阿沐

🐬【MySQL技术专题】该换换你的数据库版本了,让我们一同迎接8.0的到来哦!(初探篇)

码界西柚

MySQL 运维 MySQL8.0 MySQL 数据库 10月月更

MyCAT、DRDS、TIDB、TDSQL、TBase 在实现分布式事务时的区别及其各自的优势?

腾讯云数据库

数据库 tdsql

🚄【Redis基础指南】推荐给大家的「主从模式」+「缓存穿透」的学习小贴士(提炼优化)

码界西柚

redis Redis缓存穿透 10月月更

一文读懂 OceanBase 数据库的SLog日志

OceanBase 数据库

oceanbase OceanBase 开源 OceanBase 社区版 OceanBase 数据库大赛

第 12 章 -《Linux 一学就会》-重定向和文件的查找

学神来啦

云计算 Linux 运维 linux学习

北京博睿宏远数据科技股份有限公司声明

博睿数据

盘盘 DevOps“衍生品”: DevSecOps、NoOps、AIOps

飞算JavaAI开发助手

号角声响!联想图像发起“百家百试”项目第二期,诠释“真国货之光”

出自阿里P8之手的这份微服务架构实践手册,为何能霸榜GitHub一周

进击的王小二

Java 架构 分布式 微服务

使用AI在原神里自动钓鱼,扫描Git仓库泄露的密码 【蛮三刀酱的Github周刊第三期】

Zhendong

GitHub

华为宣布启动“开源雨林”计划,与社区伙伴共迎开源挑战

必须得会的汽车ECU研发基础--ECU是什么1

SOA开发者

「IM开源推荐」前微信技术专家打造,golang实现,一键部署,客户端SDK全平台支持,轻松替代IM云服务

OpenIM

Android性能优化之Android 10+ dex2oat实践

字节跳动终端技术

字节跳动 移动开发 Android; 火山引擎

TDSQL交易型分布式数据库背景分析

腾讯云数据库

数据库 tdsql

云原生数据库TDSQL-C和传统主备方式数据库有什么区别?

腾讯云数据库

数据库 tdsql

这本笔记!仅需16个小时,让你像阿里P7一样掌握Spring源码解析

Java 架构 面试 程序人生 编程语言

一文说清楚css3具有颠覆意义的2D转换效果

你好bk

CSS html css3 大前端 html/css

报名|飞桨中国行- AI赋能软硬件产品创新

百度大脑

人工智能 百度 飞桨

从用户关系看产品发展

石云升

产品经理 产品思维 产品分析 10月月更

Groovy入门常用语法

FunTester

Java 语法 测试开发 Groovy FunTester

沈抚示范区·“华为云杯”2021全国AI大赛圆满落幕

华为云开发者联盟

人工智能 华为云 modelarts AppCube AI大赛

带你读Paper丨分析ViT尚存问题和相对应的解决方案

华为云开发者联盟

论文阅读 华为云 Vision Transformer 卷积核

腾讯云原生数据库 TDSQL-C荣获“云原生卓越技术提供商”奖项

腾讯云数据库

数据库 tdsql

Redis和tdsql数据异地同步(迁移)案例

腾讯云数据库

数据库 tdsql

解读世界互联网大会新品——智能运维2.0,管运提效再升级

云计算

ERP对你有帮助吗?ERP是什么时候开始出现的?

低代码小观

管理 企业 企业管理 运营管理 企业管理系统

8. 这篇博客,把python从数值到模块、到字典、到元组,真python入门复习教程通览

梦想橡皮擦

10月月更

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