转自我的简单blog:http://jyyblog.appspot.com/gwt.html
已经很久没有用gwt开发了。最近项目里需要一个测试容器,把多个不相干的页面整合到一个测试容器中。于是考虑后选择gwt开发。因为简单。
1.gwt 1.7的一个小变化
1.7比起1.5,变了,原有资源文件放包下的做法改为项目生成war文件。从war文件中取。
这很正常。gwt在google中可能只是开发一些小组建,减少重复劳动,发布出来后外面的开发者如果拿来做网站,生成的路径和资源不适合网站的习惯。
这和我们开发hotye.com时修改源码全部放在一个文件夹下是一样的。
2. ui添加了wrap方法,生成对象。
如:
public static TextBox wrap(Element element)
这是一个很好的功能。
在我们写html模版的时候,重复劳动太多。于是对模版进行改造,获得模版的元素在gwt中使用,大大减少了重复劳动。
并且代码相当美观:
老版本:
TextBox t = new TextBox(); TextBox t1 = new TextBox(); TextBox t2 = new TextBox(); TextBox t3 = new TextBox(); t.addStyleName("t"); t1.addStyleName("t1"); t2.addStyleName("t2"); t3.addStyleName("t3"); //等等一系列构造页面的代码 add(t); add(t1); add(t2); add(t3); t.addClickListner(..); t1.addClickListner(..); t2.addClickListner(..); t3.addClickListner(..);
新版本:只关注事件的代码
TextBox t = getGwtTextBox("t"); TextBox t1 = getGwtTextBox("t"); TextBox t2 = getGwtTextBox("t"); TextBox t3 = getGwtTextBox("t"); t.addClickListener(..); t1.addClickListener(..); t2.addClickListener(..); t3.addClickListener(..);
在getGwtTextBox中只是将页面element创建为相应对象,现在gwt也给我们封装了方法了,wrap(element)
3.gwt 到底有什么好?
3.1 组建概念
显示一个圆角,在html中需要重复添加html代码
在gwt中,封装成对象后,只需两行代码即可完成编码。
3.2 一些google的功能,如google css sprite:
介绍:http://www.marchbox.com/blog/css-sprite-in-google-search/
css-sprites:http://realazy.org/blog/2007/10/08/css-sprites/
使用gwt的AbstractImagePrototype,编译后自动将细小多个图片组装成一个图片,这些都不用你自己再去做。
4.gwt一个不爽的缺点
有时候我们真的只需要一个小组建或者就是一个只有一行逻辑的页面,
对于每个页面都是一个EntryPoint而言,生成如此多的文件。
是相当复杂的。
期待开发简单页面时能简单再简单!