GWT的几个开源框架_第1页
GWT的几个开源框架_第2页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

02Aug11GWT的几个开源框架[FROMlupaworld]在RIA(richinternetapplication)社区中,越来越多的人选择使用GWT(GoogelWebToolkit)。由此催生了很多框架和类库,这些框架和类库或者作为GWT的补充、或者以GWT为基础提供更强大的功能:GWTxGWTx关注于加强Google提到的JRE模拟(JREEmulation)。GWT提供使用Javascript实现的一些核心Java类库,这样一来,使用Java为GWT所做的编程,GWT本身可以将它们恰当的“编译”或者翻译成Javascript。GWT-DNDGWT-DND是对GWT提供drag-and-drop支持的一个扩展库。GWT-DTD在社区中被广泛使用,另外有一些项目(例如下面将要提到的GWTDiagrams)直接使用该扩展库,或提供对它的集成。该扩展库已经非常成熟,去年,在它作为对核心GWT的系列补丁包提供下载时,很多用户就已经证实了它的价值。Hibernate4gwtHibernate4gwt是特别为将GWT的Java后端与成熟的ORMJava工具Hibernate相集成而提供的开发框架。在GWT应用软件中使用类似Hibernate这样的类库时,GWT既表现出了无与伦比的复杂性,也展现了前所未有的机会。通过利用GWT中远程服务的API以及Hibernate库的特性,Hibernate4gwt能够提供一大把优缺点各不相同的不同集成选项:无状态型(默认选项):你的服务器保持无状态,不保存任何额外信息。你的域类不得不从LazyGwtPojo继承从而储存延迟属性(lazyattributes)。动态代理:代理是用来处理服务器端和客户端的延迟属性信息的。你只需要实现Serializable接口,并迫使GWT延缓捆绑于客户端(详细信息请查看相关文档)。支持Java5:鉴于GWT并不支持Java5的bean,hibernate4gwt允许你将你的Domain类动态克隆成GWT兼容的DT0。这些克隆类必须使用和域类本身一样的名字(但两者在不同的包中),并且继承LazyGwtPojo。另一方面,hibernate4gwt会为你管理延迟属性,且不要求任何克隆映射文件。状态型:延迟信息并不储存于POJO,而是储存在HTTP会话中,因而,你的域类不必再从LazyGwtPojo继承,但你的Web服务器变成有状态的了。另外,Hibernate4gwt也对结合使用Spring框架(该框架对于要使用下文将提到的GWT-SL的开发者同样很有价值)提供支持。MyGWTMyGWT是目前最受欢迎的GWT开发框架之一,它使用了基于LGPL许可的ExtJavascript库,该Javascript库和开发框架是由同一个团队开发的。MyGWT通过引入现存并已经很成熟的Ext库而给GWT提供了大量的Javascript功能。在MyGWT库中包含有像按钮、对话框、表格、树型结构、列单以及标签等等控件的实现。MyGWT还提供了一些布局来在用户界面中组织组件。此外,它还支持对各种组件的多种动态数据加载方案,包括XML数据仓库、JSON和GWT远程通信层。GWT-ExtGWT-Ext在很多方面都跟MyGWT相似。正如MyGWT—样,GWT-Ext也建立于ExtJavascript库之上。也正是出于这个原因,GWT-Ext中所提供的控件和widget无论是在外观还是行为上都近似于MyGWT。但是,GWT-Ext另外支持一些MyGWT中没有的组件跟特性,比如DatePickers、显性表单和验证功能、以及树型结构中的drag-and-drop。和MyGWT—样,GWT-Ext也对它的控件支持很多后端数据源(back-enddatasources)。GwittirGwittir项目是GWT的一个组件库,它的重点在于使用一个一致的用户界面对交互机制建模。Gwittir的开发者这样描述它:这个项目的目的在于提供一组代码生成器、建构基本框架、工具和基本的MVC框架,供给基于GoogleWebToolkit的应用软件使用。在很多方面,Gwittir与MyGWT、GWT-Ext很相像,他们都是GWT的用户界面库,提供像组件、流程控制、验证、甚至是动画方面的功能。然而,MyGWT和GWT-Ext使用的是一个相当常见的MVC风格的模式(比如类似Swing组件的布局),但Gwittir采用一个不同寻常的方式将业务模型集成到用户界面上。作者在Gwittir官方网站上指出了传统MVC模型的一些弱点:我有一些想法想坦白地告诉大家。我几乎讨厌过所有曾使用过的任何环境下的用户界面工具。如今,模型-视图-控制器的模式引入使用已经有很长一段时间,在Java领域的一些用户界面工具像Swing或SWT在建立用户界面控件的时候广泛采用了这一模式。但问题是他们的模型和你的模型永远都不一样。在你使用用户界面工具的时候,你总是想要竭尽全力去创建一个能够很好地结合你的业务模型来工作的用户界面,而并不是用户界面工具的设计者所使用的抽象模型。GWT-SL和GWT-WLGWTServerLibrary(GWT-SL)是一个旨在简化GWT应用软件和Spring框架集成的项目。SL是GWTWidgetLibrary的一个子项目,它通过允许将POJO作为RPC服务发布的方法帮助实现GWTRPC服务与Spring的集成。同时,GWTWidgetLibrary(GWT-WL)是另外一个将目标瞄准于提供比基本GWT安装提供功能更强大的widget的项目。在GWT-WL中支持的widget包括日历、计算器、图像按钮、状态条、分页标记等等。GWTDiagrams和上面所提到的组件库不同的是,GWTDiagrams致力于为通过GWT展现变化多端的图像提供更多功能。GWTdiagrams所包含的特性包括:支持多种连接线类型,将任意GWTUIObject作为连接点的能力,以及控制连线连接到组件的不同边的能力。除了在上面列出的这些项目以外,还有一些其他为GWT提供的开源代码库,它们活跃程度与社区采用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论