介绍一下我接触过的Gwt第三方组件、框架及项目

1. Mygwt 
曾经的大名鼎鼎的gwt第三方框架,在某些gwt框架的排名中排名第一。这个框架完全用gwt的方式实现了ext-js的功能,不依赖于ext- js的js脚本,突出功能点是布局、菜单、树和table组件。但不幸的是没有到1.0版就夭折,变成了ext-js下面的一个子项目ext-gwt。 
曾经的网址:http://mygwt.net 
特点:做出的UI和ext-js一样,但底下的代码却是java。

2. Gwt-ext 
这个也是比较流行的gwt第三方的框架。用官方的话说:它是一个强大的组件库,提供可排序、分页和过滤功能的grid,提供可以拖拽的树,还有 Tab Panels, Menus & Toolbars, Dialogs, Forms等等。其实只要ext-js提供的,它就可以提供,因为它的底层是ext的js脚本,而不是java,这是和mygwt的最大区别。由于 ext-js最近更改了license,弄得作者郁闷了好一阵,最新的代码都是基于ext-js2.0.2的。 
网址:http://code.google.com/p/gwt-ext/ 
特点:基于ext-js,外面套了一层java的外套,最大的麻烦是从服务器端得到的oo data,要变成js可接受的data 格式,比如数组。最大的优点是如果你对ext-js那个地方不了解了,看看它的demo吧。

3. Ext-gwt 
看到这就有些伤心,曾经的mygwt啊。在mygwt刚刚拥有了新的form组件的时候,ext-gwt诞生了,而mygwt则消失了。:(。这 个框架相比mygwt最大的区别是form组件。正式发布的mygwt没有form组件,另外对一些组件的功能作了细化,比如panel的左右伸缩。内部 包名当然也全都变了。 
网址:http://extjs.com/products/gxt/ 
特点:和新的ext-js一样的license限制。

4. hibernate4gwt 
顾名思义,这个项目是为了整合hibernate和gwt的。对gwt不了解的同志可能会有疑问,这个有什么?那我简单说几句吧。Gwt是可以把 java代码编译成js的代码,但也有限制,只能局限于jdk的一些核心代码,其他非gwt的第三方的代码gwt是不能直接使用的。而hibernate 有几个明显的限制:通过hibernate查询到的集合是hibernate自己定义的对象,Lazy的对象不能取到,date属性的类型是sql的 date,等等,这些都是不能在gwt中,或者说在gwt的客户端上面使用hibernate的pojo的阻碍。一般的解决办法是做一个中间转换处理 (pojo—)vo),而hibernate4gwt则完全解决了这些问题,并且lazy的属性也可以取到(在客户端),这个可比 opensessioninview强多了。 
网址:http://hibernate4gwt.sourceforge.net/ 
特点:hibernate4gwt permits you to use your Hibernate POJO (and especiallay the partially loaded ones) in the GWT client side code without pain. 
另:由于和spring做了集成,配置起来稍显复杂。

5. google-web-toolkit-incubator 
gwt开发团队的另外一个项目,主要集中于gwt的组件方面。官方说这些组件以后会放到gwt的核心包里面。有详细的组件设计文档和社区支持。这 里面有好多好玩的组件,比如:GlassPanel 、DatePicker、PagingScrollTable 、 ProgressBar、StyleInjector 等等。 
网址:http://code.google.com/p/google-web-toolkit-incubator/ 
特点:学习gwt组件的好地方。

6. gwt-validator 
一个简单的gwt交验框架。对gwt提供的form组件作了简单的整合,提供正则表达式的校验。 
网址:http://code.google.com/p/gwt-validator/ 
特点:如果你想写一些校验的代码,参考一下吧。

7. gwt-dnd 
一个基于gwt的提供拖拽功能的框架。可以给组件增加拖拽的功能,它的demo中有可以拖拽的下拉列表、table的行列、图片等等。还可以对树table进行拖拽,真是强啊。 
网址:http://code.google.com/p/gwt-dnd/ 
特点:想给自己的组件加上拖拽的功能吗?就是它了。

8. Gchart 
这个偶尔看过,但是没有用过。不多说了,贴个图吧。 
Gwt第三方组件、框架介绍-LMLPHP

网址:http://code.google.com/p/gchart/

9. Lotura 
这个和前面的都有些不同,它是一个提供gwt的model和gwt 的UI进行binding的框架。简单来说,就是在一段html的form上面,不再需要手工一个值一个值的将model的各个属性对应到form的各个 组件中了,也不需要在提交form的时候,一个值一个值得组装model了。高深一点的说,model要加个属性吗?那就加吧,Lotura会知道如何将 该属性在ui上显示的。 
网址:http://code.google.com/p/lotura/ 
特点:好久不更新了。

10. Uface 
按照JFace Data Binding 的设计实现了对 GWT, gwt-ext, MyGWT 和 Swing的模型绑定. 
网址:http://code.google.com/p/uface/ 
特点:有深度。

11. gwt-widgets 
很老的一个关于gwt的widgets框架,涉及client端的组件库和server端的spring整合。Gwt刚一出道的时候它就存在了, 提供很多组件,比较突出的有canvas的组件,还有一个对非常有名的一个date组件的warpper的东东。Server端将spring和gwt的 service做了整合,有兴趣可以看看。 
网址:http://gwt-widget.sourceforge.net/ 
特点:老牌的gwt框架

12. gwt-google-apis-1.0.0 
可以通过gwt对google的一些服务进行访问的api的一些代码。主要包括:Gears 1.1 Library (Release Candidate)、Gadgets 1.0 Library (Release Candidate)、Google AJAX Search 1.0 Library (Release Candidate)、Google Maps 1.0 Library (Release Candidate) 
网址:http://code.google.com/p/gwt-google-apis/ 
特点:相当于gphone上andriod。

13. GWT Reflection

由于gwt不支持反射,导致一些java的高级功能不能在gwt中使用。但是有个这个GWT Reflection框架,gwt的开发者可以欢呼雀跃了。

网址:http://gwtreflection.sourceforge.net/

14. gwt-mosaic

Gwt-Mosaic是一个主要由gwt标准的控件实现的一个widget lib demo。非常适合初学者学习和参考 
除此之外,它还引用了gwt-incubator、gwt-dnd、GWTx、gwt-beans-binding等第三方的gwt框架,针对不同的框架都有实现的demo。也可以说是一个gwt 的组件综合性研究所。

网站地址:http://code.google.com/p/gwt-mosaic/ 
demo地址:http://69.20.122.77/gwt-mosaic/Showcase.html

05-15 01:08