情况是这样的:
今年1月到4月,我们小组(3个人其中2个开发人员)做一个新的很小的项目,一共才200多人天。这个项目完全是新的,用户除了要求用MySQL、Hibernate和Jonas服务器外,其他的都没有要求。连界面要求也没有。
最终我们选择用Vaadin来开发界面,Spring IOC来整合全部。于是对Vaadin这个框架有了些粗浅的认识。我觉得这还是一个很不错,很好玩的框架。
不过我们当时用的,还是Vaadin 6.7,现在Vaadin 7已经出alpha版了,可能有较大的改动。
主要资源包括学习资料全在官网上有
www.vaadin.com比较重要的几个:
UI组件及示例程序: http://demo.vaadin.com/sampler
Book of Vaadin: https://vaadin.com/book
API: https://vaadin.com/api/
Eclipse插件:https://vaadin.com/eclipse
简介
先来个简介,有些是我的理解,可能不对。。。
Vaadin是一个新型的Java框架,它可以让程序员在不使用HTML和JavaScript的情况下,轻松做出跨浏览器的网页。开发的方式和Swing比较接近,采用的是组件、Layout加事件管理的模式。整个开发过程纯Java,易于调试,免去了开发js的诸多烦恼。跨浏览器的实现仰仗GWT,所以应该说做得很不错。
Vaadin所有运行的代码都是在服务器端的。在Vaadin中,GWT就像一支笔,把服务器端组件的现有状态“画”在浏览器上。以前的版本用的是他们团队自己开发的东西,后来换成了GWT。
功能丰富强大的Add-on(不知道怎么翻译,就是现成别人写好的基于Vaadin的库之类的)也是一个值得考虑的因素,不过根据不同的版权,有一些是收费的。
看过他们官方的论坛,感觉人气还行。
Vaadin和GWT的区别
Vaadin的代码是运行在服务器端的。
另外,Vaadin支持所有Java类库,使用起来毫无限制,而GWT只能使用少数的Java类库。
和一般的Java项目一样,编译速度比较快。部署和一般JSP的项目是一样的。
我们项目选择Vaadin的原因
1. 纯Java编程,学习周期短
2. 现有组件多,有Eclipse插件开发效率高
我们整个项目好像是3到4个月要交货。Vaadin还有一个Eclipse的插件,可以实现拖拽开发界面,事实证明这个确实很方便,给我们的开发帮了大忙。
3. 部署简单,和正常JSP一样,只需要加一个Vaadin的jar就行,无需多余配置,项目可以用Eclipse插件直接生成。
不过我们是用Maven的。
4. 可以和Spring整合
在选择UI库之前,我们已经决定使用Spring框架,并且客户要求使用Hibernate。这样三者就由Spring整合在一起了。
5. 跨浏览器,客户需要IE和Firefox支持
来一张官网tutorial的Vaadin程序运行的图: