看到一篇关于Vaadin的文章,感觉作者写的很 有代表性,尝试翻译了一下,大体意思如下:
从2004年开始,我们紧随技术发展,将网站重构过多次。前端技术,我们开始用的是Struts v1和JSPs。2006年我们迁移到Struts v2和JSPs,从程序员的视角来看,这样的改进令我们非常满意。之所以没有采用JSF,是因为我们所有成员一致认为JSF不合适。
在2007年,我们采用Mootools技术增加网站Ajax特性,增强了用户体验。但是一年来,维护客户端JavaScript代码实在是一件痛苦的事 情。不能说我们的JavaScript代码构建的很糟糕,也许是我们不够聪明吧。我们只是感觉太多精力花费在技术层面,而用在开发应用特性方面的精力却非 常少。
2009年六月,我们着手开发课程市场,并于2010年3月发布。我们没打算继续采用Struts/JSP/JavaScript组合,另外为了增强用户 体验,需要更多Ajax特性,可选的技术有JSF、Flex、GWT。
我们仍然对JSF不感冒。在经历使用JSF的训练项目之后,我强烈坚信JSF存在一些基本问题。使用JSF/JSP/JavaScript替换现有程序 不仅没有改善,恰恰相反。
Flex十分诱人,已经存在好多年了,人们喜欢它,而且用户体验非常棒。但是...我仍然感觉web应用程序应该含有Html(尽管我的观点可能是错 的,但我情不自禁,哈哈)
GWT同样很吸引人,没有JSP,没有HTML,没有JavaScript。但是...从程序员的观点来看,仍然存在客户端和服务器端(这与Struts/JavaScript一样)。这对client-centric的程序如Google Docs是非常有价值的,但是对于DB centric的应用却是个问题,因为在做任何事情之前和之后都需要传输数据。程序员需要明确地管理客户端和服务器端的通信,包括JPA游离实体(甚至是 序列化的)。这看起来象给许多耗时的副作用和技术问题敞开了大门。
我找到了Vaadin,丰富的终端用户体验,没有JavaScript,甚至没有客户端(从程序员的观点),没有JSP/Html,基于GWT。模型如此 有前途,非常值得一试。我下载下来,开始阅读教程。
在2009年,我深入使用Vaadin有四个月 。Vaadin入门容易,很快获得回报,多亏:
1、好的API
2、完整的用户指南
3、例子
我必须承认,我花费了好多天在JPA/Hibernate集成方面。并不是说Vaadin和JPA有关联,而是我使用JPA的时候,和传统的Controller/View模式稍有点不同。Vaadin网站自带一个令人误解的例子,混合了UI代码和Hibernate sessions。我的主要问题是,当显示选择列表时,是否在Vaadin组件中保管游离实体。在Struts/JSP下,我当然不会在列表中保管实体。 现在,我知道在Vaadin中是保管它们的。要是能有一个现实的、精心设计的、基于Vaadin/Spring/Hibernate的小型业务应用就好 了。
在项目过程中,为了让多标签工作正常,我们花了一些时间用于正确地管理“windows”。Vaadin API可能会在V7中改进这一点。
最后,我们也花很长时间改善网站的性能。我们犯了一些错误,比如没有压缩GWT产生的JavaScrit。我们也限制了内嵌Vaadin visual components的使用,因为JavaScript执行沉重页面耗费太长时间。Server/Client数据传输不再是问题,但是Vaadin JavaScript重新整理复杂页面中的元素需要耗费太长时间(就像我们的网站主页)。例如,在参考手册里面,你可以注意一下long和short两个 页面装载时间的不同。对于一些评论页面,我们没有使用繁重的Vaadin布局,而是用纯粹的html。主页的事件列表就是这样(右栏)。一个事件典型地包 括一行带链接的文本和一个用户图片。我们编码html用来生成一个事件。为了习惯框架的边界需要一些时间。也就是说,手写html还不到我们Vaadin应用可视部分的1%。
不是每件事情都是容易和直接的,但是多亏高质量的API、product、source code、documentation和forum。
在使用Vaadin最初四个月,和之前相比我们的生产力有了很大提高。
简单问题变得非常容易和自然,复杂问题也变得合理。在论坛中,对于我们的问题总能在24小时内得到睿智、精确的答案。这也让我们有点过度使用论坛。
在Struts/JSP/JavaScript下,有缺陷的编程模型和一些技术问题过去常常减慢我们的速度,这也留给我们大量时间去思考页面布局和功能 需求。自使用Vaadin之后,开发UI是如此之快,以至于我不得不强迫自己停止编码,为的是有时间去思考布局和应用特征。
十分感谢Vaadin团队,他们的工作非常伟大,我要告诉他们:对于选择Vaadin,我绝不后悔!
分享到:
相关推荐
Vaadin是一款基于Java的开源富互联网应用程序(RIA)框架,主要使用Apache V2许可协议。由芬兰的IT Mill公司(后来更名为Vaadin Ltd)开发,最初以...通过使用Vaadin,企业可以快速构建高效、美观且易于维护的Web应用。
Vaadin是一款基于Java的Web应用框架,主要用于构建用户界面,尤其以其富客户端(Rich Internet Application,RIA)体验而闻名。这个“vaadin中文学习资料”压缩包显然包含了帮助初学者入门Vaadin框架的相关资源,...
Vaadin是一个面向Java开发者的基于AJAX的Web应用开发框架,它允许开发者使用Java来构建高质量的用户界面,无论是在服务器端还是客户端。Vaadin提供了一系列现成的用户界面组件库和一个清晰的框架,用于创建自定义...
vaadin实例教程是针对Vaadin 7的学习者提供的入门指导书,它旨在帮助读者快速构建激动人心的Vaadin应用程序。Vaadin是一个基于Java的Web应用程序开发框架,允许开发者使用Java编程语言编写客户端和服务器端逻辑,...
《Vaadin 7框架:构建高效、可扩展的Java Web应用》 Vaadin是一个功能强大的AJAX Web应用程序开发框架,它使开发者能够利用Java在服务器端和客户端构建高质量的用户界面。该框架不仅提供了一系列现成的用户界面组件...
- **定义**:Vaadin是一款基于Ajax的Web应用开发框架,允许开发者利用Java语言构建高质量的用户界面,既可在服务器端也可在客户端操作。 - **特性**: - 提供了一套丰富的UI组件库; - 拥有一个简洁的框架来创建...
Vaadin是一款基于Java的Web应用开发框架,它允许开发者使用Java语言来构建高质量的用户界面。该框架提供了一套即用型的用户界面组件,并允许开发者自行创建新的组件。其核心优势在于使用便捷性、可重用性、可扩展性...
- **下载安装包**:从官方网站 http://vaadin.com/download/ 获取最新版本的 Vaadin 安装包。 - **解压安装包**: - **Windows**:使用默认的 ZIP 解压工具或第三方工具如 WinRAR,注意某些版本的 WinRAR 可能存在...
通过阅读这些电子图书,你可以了解到Vaadin的基本概念、安装配置、组件使用、事件处理、主题定制、性能优化等方面的知识,逐步掌握如何用Vaadin构建高效、美观的Web应用。同时,还可以学习到Vaadin的最佳实践,避免...
标题"vaadin仿照struts2改造"表明了本文档的核心内容是关于使用Vaadin框架进行类似Struts2的改造实践。Struts2是经典的Java Web MVC框架,而Vaadin则是一个现代的、基于服务器端的UI框架,它允许开发者用Java直接...
Vaadin 是一种服务器端 AJAX Web 应用程序开发框架,它允许开发者使用 Java 构建高质量的用户界面。该框架提供了一系列现成可用的用户界面组件以及一个简洁的框架用于创建自定义组件。Vaadin 的设计重点在于易用性、...
这得益于Vaadin提供的丰富的UI组件库和清晰的框架结构,使得开发者能够在服务器端和客户端上使用Java语言来构建高质量的用户界面。Vaadin特别适合需要处理大量数据和复杂交互的大型企业级应用。 Vaadin框架7.0.0...
Vaadin7是一款基于Java的开源Web应用框架,它允许开发者以桌面应用的开发方式构建高度交互的、富互联网应用程序(RIA)。Vaadin7中文文档是为国内开发者提供的一份详尽指南,旨在帮助他们理解Vaadin7的工作原理,...
通过深入研究这个示例项目,开发者不仅可以学习到如何使用Vaadin构建一个功能丰富的仪表板应用,还能掌握Vaadin框架的基本概念和最佳实践。这对于想要提升Web开发技能,特别是对Java后端感兴趣的开发者来说,无疑是...
Vaadin的亮点在于它的Server-Side渲染机制,允许开发者使用纯Java代码来构建用户界面,从而简化了前端开发的复杂性。 关于标题中的“Vaadin8 license”,Vaadin 8提供了不同类型的许可证供用户选择。基础版本是...
在本篇博文中,我们将探讨如何整合Vaadin 6.7.3,一个基于Java的Web应用程序框架,与Spring 3.0.5,一个流行的轻量级Java应用框架,来构建高效、可维护的MVC架构的应用程序。这篇教程的重点在于使用注解的方式进行...
3. **添加组件**:使用Vaadin组件库中的控件,如按钮、表单、布局等,构建用户界面。 4. **处理事件**:编写Java代码来响应用户交互,实现业务逻辑。 5. **测试与调试**:在开发过程中,可以使用内置的测试工具...
Vaadin 8.5 是一个基于Java的开源框架,用于构建现代Web应用程序。这个框架以其丰富的用户界面组件和直观的编程模型而闻名。在提供的"vaadin8.5jar包"中,包含了Vaadin框架8.5版本所需的所有核心组件和依赖项,使得...