我有几年的Swing经验,从几年前第一次看到GWT就喜欢
Swing式的组件
避开了难以调试的javascript
跨浏览器
生成最优化的js
一定程度上保护了你的应用
避开了有点让人又爱又恨css
Ajax支持
把Java的关键字native用的有点让人佩服的五体投地
以上所有的都只需用一种语言完成,那就是Java
从那以后,我就时不时关注,看它相关的新闻,论坛,demo,也会上stackoverflow搜出相关的问题随便翻翻
最近我开始真正用他做一个项目的时候,发现困难重重,一切都只是看上去很美。
devmode的编译慢的够呛
我的配置4G内存,4核的小PC,拖累的不行
我已经把编译的输出做了优化,只输出了ie兼容的版本,但还是慢的紧,不时还爆出内存溢出(这个应该是jvm的分配不足,不是我小气,我是不理解为什么会要这么多内存,我的页面中没有几个组件,刷新几次就爆了)
一个模块只有一个onModuleLoaded
不得不把所有的东西都一次性加载到浏览器中。找了好久都没有找到能够动态加载模块的方式。
布局真的有点让人抓狂
Layout嵌套了几次之后就彻底不听使唤了,最后还不得不回到CSS上,去调整元素的宽度,还不得不在GWT的代码中写setWidth,setHeight,setStyle
跟服务器的通讯也让人有点恼火
我的Model类都有自己的父类,有Playframework的注入方法,为了GWT,我不得不拷贝一个模型,提供给GWT使用。
有些时候还得用到点js
GWT巧妙地使用了native这个关键字,看起来这非常富有想象力;但是另一方面,就是还是需要让我回到js中去。
最后一点
GWT看起来屏蔽了html,css,让人远离了html5,这也是让我放弃的一个不成文的理由。
在两周的努力后,最后还是考虑放弃了,还是远远欣赏她的婀娜吧