`
SimonLei
  • 浏览: 175951 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Vaadin初探

 
阅读更多

以前用过服务端的echo框架,感觉挺好使的,它可以在服务器上生成html,

然后返回给浏览器。开发人员不需要了解html和javascript,就可以开发出

web应用。在服务端使用的也都是类似于swing的API。唯一的缺陷是每个

动作都要重新刷新一下页面,对ajax的支持比较滞后。虽然后来搞过echo和

extjs的结合(Echo3Ext20),不过毕竟不是一家人,诸多困难,后来只好放弃这个框架。

 

说了这么多前奏,才开始说说vaadin。我用的是Vaadin 7。Vaadin也有不短的历史,

最近关注是因为它也有个server框架,和echo很类似,但它不是每次都生成整个html

页面,而是有大量的ajax支持,因此不会再出现echo当中频繁刷新页面的情况。而且

它的文档非常完整,甚至都有一本书 Book of Vaadin 。同时,还有eclipse的插件

来支持开发,总得来说还是很方便的。

 

当然,Vaadin还有个和gwt结合的client框架,不过我对这个的兴趣不大,因为我们

现在用smartgwt,感觉很不错,就没必要去整vaadin了。

 

按照Vaadin的文档,安装eclipse的插件,可以很容易就创建一个vaadin的项目,

同时,很容易就把Hello world给启动起来。它的服务端入口就是一个 UI 的子类,

类似于gwt的概念,然后在 UI 子类里面把content填充进去,非常简单。

@Theme("runo")
public class SimpleUI extends UI {

	@Override
	protected void init(VaadinRequest request) {
		getPage().setTitle("Test");
		
		final VerticalLayout layout = new VerticalLayout();
		layout.setMargin(true);
		
		layout.setSizeFull();
		setContent(layout);
		LoginPanel panel = new LoginPanel();
		
		layout.addComponent( panel);
	}

}

 

它也有Theme的概念,换肤也挺方便,对css的支持也很好。总的来说,

只要熟悉swing/gwt,用vaadin可以很快的上手。而且不存在gwt的编译

过程,部署起来也容易些。如果只是用它来做一些小的项目开发,还是

一个不错的选择。

 

由于它本身是个server框架,因此不存在gwt里面的异步调用问题,对于

新手来说,也比较容易理解。开发人员可以把它当swing来使用,所有的

数据操作都是在服务器上,这也是一个非常不错的特性,也是我们当年用

echo所体会到的最大的一个好处。

 

vaadin的layout稍显复杂,不如echo那么简单。可能是不太熟悉的原因,

要不停的尝试各种设置。幸好它有个所见即所得的编辑器,使得这个工作

稍微简单一些。不过后来发现复杂的页面,还是手工写来的更快,用所见

即所得编辑器还是太费劲。

 

接下来,就是最关注的表格功能。vaadin的表格非常简单,简单到连分页

这种最常见的需求都没有原生的实现,而是要安装一个插件。虽然从这点

来看,有插件体系还是不错的,至少可扩展性很强。但是插件的另一个问题

就是,代码质量和使用习惯都不一致,因此使用起来还挺麻烦的。而且在

使用PagedTable的过程当中,发现页面总数总是不对,而且上一页下一页的

翻页也经常出现问题。很无奈。

 

用到这里,只能一声叹息,默默放弃。其实还是个不错的框架,但是对于

Table的支持很弱,象SmartGWT那么强大的表格,不知道要到第几个版本

才会有。先放一放吧。

0
5
分享到:
评论
3 楼 diggywang 2013-10-11  
但从Grid(Table)的支持来讲,这星球上很少有几个框架能比得过SmartGWT,但人无完人,SmartGWT虽然UI上超级强大,但毕竟只是一个smartclient的js wrapper,渲染性能上很多时候都不尽人意,一个listgrid全部显示上百条records就毕竟吃力了,grid的Overflow参数可以使之仅显示需要的部分,但这样scroll的性能就很差;另外SmartGWT在widget稍微多点的时候,渲染能力也很差,在这种时候我经常只好定义原生的GWT控件来嵌入到SmartGWT的canvas中去。这也是我用SmartGWT 2年多来对smartgwt最感到不满的地方。
2 楼 SimonLei 2013-05-13  
lymalf 写道
vaadin book的demo地址:http://demo.vaadin.com/book-examples/book/#component.select.twincolselect.basic


不知道你要表达什么意思,不过如果要比较的话,你可以看看smartgwt的例子

http://www.smartclient.com/smartgwt/showcase/#main

还有进一步smartgwtee的例子 www.smartclient.com/smartgwtee/showcase/
1 楼 lymalf 2013-05-13  
vaadin book的demo地址:http://demo.vaadin.com/book-examples/book/#component.select.twincolselect.basic

相关推荐

    vaadin中文学习资料

    Vaadin是一款基于Java的Web应用框架,主要用于构建用户界面,尤其以其富客户端(Rich Internet Application,RIA)体验而闻名。这个“vaadin中文学习资料”压缩包显然包含了帮助初学者入门Vaadin框架的相关资源,...

    Vaadin中文开发资料

    Vaadin是一款基于Java的开源富互联网应用程序(RIA)框架,主要使用Apache V2许可协议。由芬兰的IT Mill公司(后来更名为Vaadin Ltd)开发,最初以Millstone用户界面类库的形式始于2000年。Vaadin的核心理念是简化...

    vaadin 7帮助文档

    《Vaadin 7框架:构建高效、可扩展的Java Web应用》 Vaadin是一个功能强大的AJAX Web应用程序开发框架,它使开发者能够利用Java在服务器端和客户端构建高质量的用户界面。该框架不仅提供了一系列现成的用户界面组件...

    vaadin教程

    Vaadin是一个面向Java开发者的基于AJAX的Web应用开发框架,它允许开发者使用Java来构建高质量的用户界面,无论是在服务器端还是客户端。Vaadin提供了一系列现成的用户界面组件库和一个清晰的框架,用于创建自定义...

    Vaadin7中文文档

    Vaadin7是一款基于Java的开源Web应用框架,它允许开发者以桌面应用的开发方式构建高度交互的、富互联网应用程序(RIA)。Vaadin7中文文档是为国内开发者提供的一份详尽指南,旨在帮助他们理解Vaadin7的工作原理,...

    book of vaadin 7

    ### Vaadin 7框架知识点概览 #### 一、Vaadin框架简介 - **定义**:Vaadin是一款基于Ajax的Web应用开发框架,允许开发者利用Java语言构建高质量的用户界面,既可在服务器端也可在客户端操作。 - **特性**: - 提供...

    book-of-vaadin 8

    Vaadin是一款基于Java的Web应用开发框架,它允许开发者使用Java语言来构建高质量的用户界面。该框架提供了一套即用型的用户界面组件,并允许开发者自行创建新的组件。其核心优势在于使用便捷性、可重用性、可扩展性...

    [Vaadin] Vaadin 7 学习教程 第2版 英文版

    [Packt Publishing] Vaadin 7 学习教程 第2版 英文版 [Packt Publishing] Learning Vaadin 7 2nd Edition E Book ☆ 图书概要:☆ Master the full range of web development features powered by Vaadin built...

    Leraning Vaadin

    Vaadin is a component-based Java web framework for making applications look great and perform well, making your users happy. Vaadin promises to make your user interfaces attractive and usable while ...

    [Vaadin] Vaadin 7 UI 设计初学者指南 (英文版)

    [Packt Publishing] Vaadin 7 UI 设计初学者指南 (英文版) [Packt Publishing] Vaadin 7 UI Design By Example Beginner's Guide (E-Book) ☆ 图书概要:☆ Build exciting Vaadin applications in no time ...

    Vaadin8 license + 入门例子

    Vaadin 8是一款基于Java的开源Web应用框架,它提供了丰富的组件库,使得开发者能够创建出具有现代用户界面的企业级应用程序。Vaadin的亮点在于它的Server-Side渲染机制,允许开发者使用纯Java代码来构建用户界面,...

    Vaadin6.4.9中文开发手册

    ### Vaadin 6.4.9中文开发手册关键知识点总结 #### 一、Vaadin简介与入门 **Vaadin** 是一款开源的Java框架,用于构建现代化的企业级Web应用程序。它提供了一种简单的方式来创建复杂的用户界面,而无需编写任何...

    android-json-0.0.20131108.vaadin1-API文档-中文版.zip

    赠送jar包:android-json-0.0.20131108.vaadin1.jar; 赠送原API文档:android-json-0.0.20131108.vaadin1-javadoc.jar; 赠送源代码:android-json-0.0.20131108.vaadin1-sources.jar; 赠送Maven依赖信息文件:...

    vaadin8.5jar包

    Vaadin 8.5 是一个基于Java的开源框架,用于构建现代Web应用程序。这个框架以其丰富的用户界面组件和直观的编程模型而闻名。在提供的"vaadin8.5jar包"中,包含了Vaadin框架8.5版本所需的所有核心组件和依赖项,使得...

    vaadin 相关电子图书 pdf版

    Vaadin是一款基于Java的开源Web应用框架,专为构建现代用户界面而设计。它提供了一种与Swing类似的编程模型,使得开发者可以使用纯Java代码创建丰富的、交互式的Web应用程序,而无需深入学习HTML、CSS或JavaScript。...

    book-of-vaadin

    ### Vaadin:服务器端 AJAX Web 应用程序开发框架 #### 概述 Vaadin 是一种服务器端 AJAX Web 应用程序开发框架,它允许开发者使用 Java 构建高质量的用户界面。该框架提供了一系列现成可用的用户界面组件以及一个...

    Vaadin TableExport 1.3.0 控件源码

    Vaadin TableExport 1.3.0 是一个用于Vaadin框架的组件,它允许开发者将数据导出到常见的文件格式,如CSV、Excel或PDF。这个控件为Vaadin应用程序提供了一个方便的方式来处理数据导出功能,使得用户可以轻松地下载和...

    国外朋友的vaadin和struts2结合的例子

    Vaadin和Struts2是两种不同的Java Web开发框架,它们各自有着独特的特性和用途,但有时为了实现更复杂的业务逻辑或者充分利用两者的优势,开发者会选择将它们结合使用。在这个"国外朋友的vaadin和struts2结合的例子...

Global site tag (gtag.js) - Google Analytics