Vaadin是一个非常优秀的RIA框架,类似ZK,网站 上有非常丰富的教程、文档,很容易入手。Vaadin最新版本是 6.3.1,netbeans和eclipse都有相应plugin便于快速开发。
在Google App Engine中部署Vaadin应用有两种方式,我使用的是Vaadin plugin for Eclipse
?
Vaadin网站上有详细教程(here ),部署的时候需要注意两个问题。首先,注意教程中这部分内容:
?
?
Note! There is a problem in the latest GAE plugin which prevents this from working. If you get an error like "The App Engine SDK 'C:\<workspace path>\<project name>\war' on the project's build path is not valid" do the following:
1. Open preferences -> Google -> App Engine and select the sdk version again
2. Open prefercense -> Java Build Path -> Export Order. Change the Export order so that the App Engine SDK is ABOVE the "Web App Libraries" classpath container.
1. Open preferences -> Google -> App Engine and select the sdk version again
2. Open prefercense -> Java Build Path -> Export Order. Change the Export order so that the App Engine SDK is ABOVE the "Web App Libraries" classpath container.
?
开始的时候没有在意这段话,还以为是创建项目过程出的问题!其次就是程序运行调试问题,记着要使用Run As Web Application(或Debug As Web Application),这是GAE plugin提供的。如果使用项目创建时选择的Target Runtime(比如Tomcat)来运行程序,一定会得到空指针异常。
1 楼
xcv4javaeye
2010-06-19
vaadin的application和Web page是一一对应的嘛?
2 楼
qingniu
2010-06-20
从开发的视角看,Vaadin是基于事件驱动的,和swing类似,开发Vaadin的时候,你会感觉和开发桌面应用没什么区别,所以不用考虑Web page的对应问题,从代码层面是找不到的。(如果真要找,要到Vaadin类库里了)
3 楼
xcv4javaeye
2010-06-28
可是开发N个page的一个web应用,应该写多少个Application呢?如果是N个,之间怎么通信呢?
4 楼
qingniu
2010-06-29
一般情况下,只要一个继承Application的类,作为程序入口(在web.xml中配置一个servlet即可)。和Applet很相似,我们开发Applet,也只要一个一个继承Applet的类作为入口。其它ui根据业务开发,之间通信是基于事件对象。看一下Vaadin自带Adressbook例子吧,那个教程很详细,看完你就明白了!
5 楼
xcv4javaeye
2010-06-30
但是那个addressbook太简单了啊,实际业务中必然会有页面布局大大不同的n个页面,有时n可能会是十几这个量级的,这种情况下,把所有布局都放在一个Application下就显得太臃肿了吧?
6 楼
qingniu
2010-06-30
你可以看看用Vaadin开发的开源项目,processbase和kissy-backoffice。
7 楼
flashcloud
2010-08-17
一直持续关注Vaadin,对Swing开发模式熟悉的朋友简直太容易了,非常值得推荐。确实,一套成熟稳定的框架,需要一个强有力且积极的团队。然后社区也非常重要,这一点还待发展,希望有更多的朋友使用此框架,对企业应用开发的效率绝对有非常大的提升。