Vaadin是一个Java Web应用开发框架。不同于Javascript开发库和基于浏览器插件的解决方案,Vaadin提供了完整的技术栈,包括健壮的服务端编程模型,以及基于GWT和HTML5的服务端开发工具。Vaadin基于Apache 2.0协议发布,开源免费。

主要特性
Vaadin框架可以用来创建和维护高质量的Web应用程序。下面的Vaadin架构图可以帮助理解客户端与服务端的工作模式:

全面的组件框架
- 提供大量的UI组件、控件和小部件
- 丰富的交互式小部件,默认采用延迟加载
- 移动平台支持触摸事件
- 支持拖拽
- 用Java或HTML(或同时使用)构建布局
- 使用MVC(model-view-controller)或MVP(model-view-presenter)进行数据绑定
- 使用组合或继承创建新组件
- 在vaadin.com/directory下提供了超过550个组件
良好的Web兼容性
- 客户端基于Google Web Toolkit (GWT)
- 不需要浏览器插件
- 支持所有主要的Web浏览器
- 浏览器窗口和Tab支持
- 支持回退按钮
- 支持深度链接
- 支持URL参数和分片处理
- 可以嵌入任何网页
- HTML5音频支持
- 内建服务器推送
可定制的外观和感觉
- 基于CSS和SASS的强大组件风格设置
- 漂亮的内建主题和风格
- 无需修改Java代码就可以自定义主题
基于Java的Web开发
- 只使用Java:类型安全、面向对象的web开发
- 简单却强大的服务端编程模型
- 基于Maven的依赖管理
- 兼容OSGi
- 兼容其它JVM语言,比如Groovy
安全的Web应用程序架构
- 服务端UI状态管理
- 在服务器上运行应用代码、验证和业务逻辑
- 安全的参数和请求验证
- 内建JSR-303验证支持
- CSRF保护,支持SSL
可扩展的组件架构
- 基于Google Web Toolkit(GWT)的可扩展小部件
- 基于Jar和Zip方便地打包小部件
- 可通过Vaadin目录实现开发者对开发者的插件发布
丰富的工具
- Eclipse IDE插件
- IntelliJ IDEA插件
- Netbeans IDE集成
- Maven和Ivy依赖管理和组件
- 使用Vaadin TestBench和JUnit进行UI测试
多途径部署
- 基于Java EE和Servlet 2.4+部署(JSR-154)
- 支持Portlet部署(JSR-286)
- 兼容Google App引擎(GAE)
开发资源
官方网站:vaadin.com/home
开源地址:github.com/vaadin/vaad…