Vaadin编程指南
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
适合的读者群
本书从不同的侧面对 VAADIN 进行了详细的剖析、介绍和说明。作为北欧 WEB 应用开发的 利器,不同的读者会从本书的不同部分获得受益。书的不同部分适合不同的读者阅读,第一 部分内核原理篇适合那些想了解一个 WEB 应用框架设计思路及内部实现机制的高级程序开 发者;第二部分开发设计篇适合那些刚学会 JAVA 程序设计的人。通过某一个切入点对所学 知识进行突围是一种很快提高自己编程技能的方法,只要您懂 JAVA 语言,学习 VAADIN 没 有任何技术难度,所以这一部分比较适合那些想透过 WEB 应用开发来迅速提高自己 JAVA 编 程能力的用户,当然也适合那些迫切想了解当下流行 WEB 应用开发方法的用户。同时这一 部分也是本书的一个重点;第三部分是应用案例篇。里面搜罗了几个用 VAADIN 框架编写的 基于 WEB 的商业版应用程序,用户可以通过学习这些案例来迅速提高使用 VAADIN 设计的 技巧。 用户可以根据自己的情况在阅读本书时选择不同的篇章开始阅读,如果您刚学会 JAVA 程序 设计,你可以直接从第二篇开始学习,等对 VAADIN 有了整体印象和一定的编程基础以后再 反过头来学习第一篇;如果您对 JAVA 程序设计比较擅长,且有过丰富的编程经验,框架设 计经验,您可以从第一篇开始阅读。 如果你以前接触过一些基于 JAVA 语言的桌面用户界面框架,比如 AWT、Swing 或 SWT,那 么以前积累的编程经验及对 UI 模型的深入理解将会对全面了解 Vaadin 起到很大的帮助作 用。一些相关性很强的概念也会被很容易地理解,比如事件驱动的程序设计模式、UI 框架 通用的术语等。当然,这些并不是必须的。 如果你手头并没有一个很好的 WEB 图形程序设计器,了解必要的 HTML 和 CSS 的基础知识 将帮助你更好地为自己开发的 WEB 应用程序设置界面皮肤。如果你要开发基于客户端的组 件,那么事先了解和掌握谷歌 WEB 开发工具包(GWT)的原理和使用方法也是必须的。当 然,如果你没有掌握上述任何一种技术,你依然可以凭借对 java 语言的了解开发出拥有漂 亮界面的 web 应用程序。
Vaadin 编程指南
英文名:Vaadin programming guide
标签:Web 应用程序设计、Java 语言、Vaadin、RIA,Google Web Toolkit,Ajax,Sass,Servlets, XLS,UI 作者:戚利 写作日期:2013.6.18 完成日期:2014.6.18
本书内容结构
本书解释了 Vaadin 是什么,Vaadin 的内部实现细节以及你如何使用它来开发和部署自己的 web 应用程序。
关于作者
戚利,资深程序设计师,安全技术专家,副教授。对 JAVA 程序设计,框架研究、Windows PE、 Windows 内核、计算机网络安全等有较为深入的研究,实践经验丰富。曾自主开发了一个 JAVA RMI 框架,活跃于国内著名的 JAVA 专业技术论坛 JAVA EYE 和中国开发者网络 CSDN。 乐于与大家分享自己的心得和体会,且有较高的知名度。此外,教学经验也十分丰富,对读 者的学习习惯和认知方式有较深的理解和研究,语言简洁,通俗易懂。
件。尽管开发比较容易,但部署起来还是有难度的。特别是想办法让所有的使用者都接受安 装这个插件。同时,在使用过程中,我们发现 Java Applet 的加载速度较慢,特别是在那个 网络带宽并不恨富裕的时候,经过几次尝试后,最终还是放弃了以 Java Applet 为主要技术 的 bs 开发模式,转向当时比较火的 J2EE。 时隔 10 年,随着 ajax 技术的推出,人们对 JavaScript 的研究进入到面向对象阶段。从而滋 生了基于面向对象的 JavaScript 技术。从理论上讲,在浏览器端通过 JS 技术构建友好的用户 界面已经不成问题。但是,应用程序界面要想实现在线刷新局部页面的功能,必须重复使用 ajax 技术,此项需求导致 JS 代码臃肿,且变得难以维护,为了解决这个问题,google 公司 于 2006 年 5 月推出了 GWT。它的核心就是允许开发者使用 Java 语言和思想来创建和维护复 杂的 JavaScript 应用。 GWT web 前端技术产生以后,市面上就出现了很多基于它而开发的一些产品,这些产品有 的是纯粹的前端技术,有的则在其上封装了一些自己的代码从而形成了专属的框架,如 Ext GWT,Smart GWT,Vaadin。Vaadin 解决的不仅是前端问题,它的设计侧重点在后端,即服 务器端。借用前端 GWT 技术良好的用户界面及扩展的 Vaadin Client 技术,借用 GWT 的 RPC 通讯机制,将属性与事件传递到服务器端进行解决,并与客户端保持一致的反馈,这是一个 相对完整的开发框架。 Vaadin 秉承了 Java 技术的一贯思想,特别是在服务器端封装的整个用户界面创建和使用方 法基本与 Swing 一致。当我于 2010 年接触到这种技术时,就象突然见到了一个老朋友,是 如此熟悉,以至于我很快就喜欢上了它。为了体现这种一致的开发特性,这里特意选取了一 个创建窗口的 Swing 示例代码和 Vaadin 示例代码附在后面。读者不难从两者的对比中发现 其代码的开发思路居然是如此那般地惊人一致。 Web 前端技术其实就是对 JavaScript、CSS 和 Html 技术的包装,尽管目前产品繁多,但所有 产品的设计思想基本是统一了,即将数据模型、事件模型、远程方法调用纳入到一起形成一 个前端框架。它与后端的连接通过数据传输协议,常见的是 http 和 https。目前 web 前端的 产品还包括: JQuery:它是继 prototype 之后的一个优秀的 JavaScript 框架,第一个版本于 2006 年 1 月在 纽约发布。它是轻量级的 js 库,兼容多个浏览器,也向用户提供各种微件。尽管它在微件 的控制上可能会更精细一些,但其代码更接近于 JavaScript 而不是 Java,并不易于学习和掌 握。官网地址:/ Ext JS:它主要用于创建前端用户界面,是一个基本与后台技术无关的前端 ajax 框架,所以 ExtJS 可以应用于.net、Java、Php 等各种开发语言开发的应用中,可视化组件的组织机制也 是模仿了 Java Swing 技术。尽管对 JS 进行了适当的封装,但还是脱离不了 JavaScript 语言, 开发者如果不能很好地掌握 JavaScirpt 语言就无法很好地应用这门技术。官方网站中文站地 址为:/ Html 标准发展的缓慢导致了快速用户需求无法得到解决这样一个实际问题,于是催生了基 于网页展现的各种技术产品。要让我说谁最终会主 web 前端的沉浮,我还是选择 html。因 为它有国际标准,它完全可以整合现有的某个成熟框架,引入框架的技术,而我们的这些衍 生的 web 前端产品只能算是过渡产品。话又说回来,尽管是过渡产品,也不影响我们的学 习,因为第一,发展是一个漫长的过程,等待只能让自己错失很多良机;第二,即使它是过 渡产品,我们依然可以从中学习到未来的技术趋向,我们的生命质量不就是用这些零散的来 自实践的知识组成的吗?
17 private JLabel lblTip=new JLabel("输入名字:");
18 private JTextField tfName=new JTextField("",20);
19 private JButFra bibliotekon btnOK=new JButton("确定");
书签: 北欧 WEB 开发第一利器 国内第一本详尽描述 Vaadin 的书 Rich Internet Applications 最佳示范 案例驱动
序
Vaadin 是一个基于 Ajax 技术的网页应用程序开发框架。它可以帮助不懂美工的网站开发者 创建高质量的用户界面和由浏览器负责解释的类桌面应用程序。它向开发者提供了一整套的 即需即用的精美的 Web 用户界面组件,用户也可以使用这个框架建立专属于自己的个性化 用户界面组件,从而为 web 端用户提供具有良好交互性的应用程序。
前言
2003 年,我有幸参加了来自印度的 NIIT 培训,系统地学习了 Java 高级程序设计,获得认证 证书,并对 Java Swing 开发产生了浓厚的兴趣。 随着 web 技术的不断普及和使用,个人感觉在浏览器中显示由 Swing 开发的用户界面是一 件很酷的事情,这项技术就是 Java Applet。据我所知,当时有的移动通讯大厅里的业务软件 就是使用这项技术开发的。因为使用 JSP 仍然需要掌握其他 web 前端技术,比如 html,css, javascript 等,使得在开发过程中浪费了大量的精力去维护页面显示。 Applet 继承了 Java Swing 整个体系,开发者唯一要做的就是需要在客户端安装一个浏览器插
以下是一个应用程序交互界面:
Vaadin 的目标就是构建美观、易用、可重用、可扩展的 WEB 应用程序,使之能迎合大型企 业应用的需求。 本书不仅对 Vaadin 框架的使用、内置组件的使用进行了详尽的描述,还批露了其实现的内 部细节,并附加了几个应用案例,读者可通过本书全面了解和把握 Vaadin 的编程方法和技 巧,可以通过它设计出更美观和更具交互性的 WEB 应用程序,并通过开发附加件逐渐形成 具有自己风格的编程组件库,达到提高编程效率,实现软件代码重用的目的。 本书写作依据 2013 年早期发布的 Vaadin 7 版本,因为写书和出版都需要一个过程,所以后 续新版本中对于内核的修改及对框架新特性的追加都无法写到这本书中。如果读者想要了解 和跟踪 Vaadin 编程框架的最新动态,可以随时关注 Vaadin 的官方网站
9 */
10 public class SwingExample extends JFrame
11 implements ActionListener{
12
13 /*
14
* 属性定义
15
*/
16 private FlowLayout layout1=new FlowLayout(FlowLayout.LEFT);
附:从 Java Swing 到 Vaadin 开发: 首先来看使用两种不同技术发开出来的窗口界面:
使用 Java Swing 开发的一个 JFrame 窗口(运行在操作系统桌面上)
使用 Vaadin 开发的一个 Window 窗口(运行在浏览器中)
以下是使用两种不同技术的完整的代码:
1、使用 Java Swing 开发的窗口程序代码:
代码清单:SwingExample.java
1 package ;
2
3 import java.awt.*;
4 import java.awt.event.*;
5 import javax.swing.*;
6
7 /**
8 * 一个 Swing 的弹出窗口示例
技术支持
如果阅读过程中碰到任何问题或对本书的内容结构有更好的建议,可通过作者邮箱与作者取 得联系。 邮箱地址:qixiaorui@ 另外,也可针对 Vaadin 的技术问题直接参与在线讨论,参加 Vaadin 官方网站的社区支持论 坛。 论坛地址:/forum
缩写及概念
Session 用户会话 UI(User Interface) 用户界面 Component 组件 Widgets 微件 GWT(Google Web Toolkit) Google web 工具包 Viewport 视区 SASS(Syntactically Awesome Stylesheets) CSS 预处理器 Container 数据容器 Item 属性集合 Property 属性 iid 标识符,用于唯一标识某个对象或者组件
本书从不同的侧面对 VAADIN 进行了详细的剖析、介绍和说明。作为北欧 WEB 应用开发的 利器,不同的读者会从本书的不同部分获得受益。书的不同部分适合不同的读者阅读,第一 部分内核原理篇适合那些想了解一个 WEB 应用框架设计思路及内部实现机制的高级程序开 发者;第二部分开发设计篇适合那些刚学会 JAVA 程序设计的人。通过某一个切入点对所学 知识进行突围是一种很快提高自己编程技能的方法,只要您懂 JAVA 语言,学习 VAADIN 没 有任何技术难度,所以这一部分比较适合那些想透过 WEB 应用开发来迅速提高自己 JAVA 编 程能力的用户,当然也适合那些迫切想了解当下流行 WEB 应用开发方法的用户。同时这一 部分也是本书的一个重点;第三部分是应用案例篇。里面搜罗了几个用 VAADIN 框架编写的 基于 WEB 的商业版应用程序,用户可以通过学习这些案例来迅速提高使用 VAADIN 设计的 技巧。 用户可以根据自己的情况在阅读本书时选择不同的篇章开始阅读,如果您刚学会 JAVA 程序 设计,你可以直接从第二篇开始学习,等对 VAADIN 有了整体印象和一定的编程基础以后再 反过头来学习第一篇;如果您对 JAVA 程序设计比较擅长,且有过丰富的编程经验,框架设 计经验,您可以从第一篇开始阅读。 如果你以前接触过一些基于 JAVA 语言的桌面用户界面框架,比如 AWT、Swing 或 SWT,那 么以前积累的编程经验及对 UI 模型的深入理解将会对全面了解 Vaadin 起到很大的帮助作 用。一些相关性很强的概念也会被很容易地理解,比如事件驱动的程序设计模式、UI 框架 通用的术语等。当然,这些并不是必须的。 如果你手头并没有一个很好的 WEB 图形程序设计器,了解必要的 HTML 和 CSS 的基础知识 将帮助你更好地为自己开发的 WEB 应用程序设置界面皮肤。如果你要开发基于客户端的组 件,那么事先了解和掌握谷歌 WEB 开发工具包(GWT)的原理和使用方法也是必须的。当 然,如果你没有掌握上述任何一种技术,你依然可以凭借对 java 语言的了解开发出拥有漂 亮界面的 web 应用程序。
Vaadin 编程指南
英文名:Vaadin programming guide
标签:Web 应用程序设计、Java 语言、Vaadin、RIA,Google Web Toolkit,Ajax,Sass,Servlets, XLS,UI 作者:戚利 写作日期:2013.6.18 完成日期:2014.6.18
本书内容结构
本书解释了 Vaadin 是什么,Vaadin 的内部实现细节以及你如何使用它来开发和部署自己的 web 应用程序。
关于作者
戚利,资深程序设计师,安全技术专家,副教授。对 JAVA 程序设计,框架研究、Windows PE、 Windows 内核、计算机网络安全等有较为深入的研究,实践经验丰富。曾自主开发了一个 JAVA RMI 框架,活跃于国内著名的 JAVA 专业技术论坛 JAVA EYE 和中国开发者网络 CSDN。 乐于与大家分享自己的心得和体会,且有较高的知名度。此外,教学经验也十分丰富,对读 者的学习习惯和认知方式有较深的理解和研究,语言简洁,通俗易懂。
件。尽管开发比较容易,但部署起来还是有难度的。特别是想办法让所有的使用者都接受安 装这个插件。同时,在使用过程中,我们发现 Java Applet 的加载速度较慢,特别是在那个 网络带宽并不恨富裕的时候,经过几次尝试后,最终还是放弃了以 Java Applet 为主要技术 的 bs 开发模式,转向当时比较火的 J2EE。 时隔 10 年,随着 ajax 技术的推出,人们对 JavaScript 的研究进入到面向对象阶段。从而滋 生了基于面向对象的 JavaScript 技术。从理论上讲,在浏览器端通过 JS 技术构建友好的用户 界面已经不成问题。但是,应用程序界面要想实现在线刷新局部页面的功能,必须重复使用 ajax 技术,此项需求导致 JS 代码臃肿,且变得难以维护,为了解决这个问题,google 公司 于 2006 年 5 月推出了 GWT。它的核心就是允许开发者使用 Java 语言和思想来创建和维护复 杂的 JavaScript 应用。 GWT web 前端技术产生以后,市面上就出现了很多基于它而开发的一些产品,这些产品有 的是纯粹的前端技术,有的则在其上封装了一些自己的代码从而形成了专属的框架,如 Ext GWT,Smart GWT,Vaadin。Vaadin 解决的不仅是前端问题,它的设计侧重点在后端,即服 务器端。借用前端 GWT 技术良好的用户界面及扩展的 Vaadin Client 技术,借用 GWT 的 RPC 通讯机制,将属性与事件传递到服务器端进行解决,并与客户端保持一致的反馈,这是一个 相对完整的开发框架。 Vaadin 秉承了 Java 技术的一贯思想,特别是在服务器端封装的整个用户界面创建和使用方 法基本与 Swing 一致。当我于 2010 年接触到这种技术时,就象突然见到了一个老朋友,是 如此熟悉,以至于我很快就喜欢上了它。为了体现这种一致的开发特性,这里特意选取了一 个创建窗口的 Swing 示例代码和 Vaadin 示例代码附在后面。读者不难从两者的对比中发现 其代码的开发思路居然是如此那般地惊人一致。 Web 前端技术其实就是对 JavaScript、CSS 和 Html 技术的包装,尽管目前产品繁多,但所有 产品的设计思想基本是统一了,即将数据模型、事件模型、远程方法调用纳入到一起形成一 个前端框架。它与后端的连接通过数据传输协议,常见的是 http 和 https。目前 web 前端的 产品还包括: JQuery:它是继 prototype 之后的一个优秀的 JavaScript 框架,第一个版本于 2006 年 1 月在 纽约发布。它是轻量级的 js 库,兼容多个浏览器,也向用户提供各种微件。尽管它在微件 的控制上可能会更精细一些,但其代码更接近于 JavaScript 而不是 Java,并不易于学习和掌 握。官网地址:/ Ext JS:它主要用于创建前端用户界面,是一个基本与后台技术无关的前端 ajax 框架,所以 ExtJS 可以应用于.net、Java、Php 等各种开发语言开发的应用中,可视化组件的组织机制也 是模仿了 Java Swing 技术。尽管对 JS 进行了适当的封装,但还是脱离不了 JavaScript 语言, 开发者如果不能很好地掌握 JavaScirpt 语言就无法很好地应用这门技术。官方网站中文站地 址为:/ Html 标准发展的缓慢导致了快速用户需求无法得到解决这样一个实际问题,于是催生了基 于网页展现的各种技术产品。要让我说谁最终会主 web 前端的沉浮,我还是选择 html。因 为它有国际标准,它完全可以整合现有的某个成熟框架,引入框架的技术,而我们的这些衍 生的 web 前端产品只能算是过渡产品。话又说回来,尽管是过渡产品,也不影响我们的学 习,因为第一,发展是一个漫长的过程,等待只能让自己错失很多良机;第二,即使它是过 渡产品,我们依然可以从中学习到未来的技术趋向,我们的生命质量不就是用这些零散的来 自实践的知识组成的吗?
17 private JLabel lblTip=new JLabel("输入名字:");
18 private JTextField tfName=new JTextField("",20);
19 private JButFra bibliotekon btnOK=new JButton("确定");
书签: 北欧 WEB 开发第一利器 国内第一本详尽描述 Vaadin 的书 Rich Internet Applications 最佳示范 案例驱动
序
Vaadin 是一个基于 Ajax 技术的网页应用程序开发框架。它可以帮助不懂美工的网站开发者 创建高质量的用户界面和由浏览器负责解释的类桌面应用程序。它向开发者提供了一整套的 即需即用的精美的 Web 用户界面组件,用户也可以使用这个框架建立专属于自己的个性化 用户界面组件,从而为 web 端用户提供具有良好交互性的应用程序。
前言
2003 年,我有幸参加了来自印度的 NIIT 培训,系统地学习了 Java 高级程序设计,获得认证 证书,并对 Java Swing 开发产生了浓厚的兴趣。 随着 web 技术的不断普及和使用,个人感觉在浏览器中显示由 Swing 开发的用户界面是一 件很酷的事情,这项技术就是 Java Applet。据我所知,当时有的移动通讯大厅里的业务软件 就是使用这项技术开发的。因为使用 JSP 仍然需要掌握其他 web 前端技术,比如 html,css, javascript 等,使得在开发过程中浪费了大量的精力去维护页面显示。 Applet 继承了 Java Swing 整个体系,开发者唯一要做的就是需要在客户端安装一个浏览器插
以下是一个应用程序交互界面:
Vaadin 的目标就是构建美观、易用、可重用、可扩展的 WEB 应用程序,使之能迎合大型企 业应用的需求。 本书不仅对 Vaadin 框架的使用、内置组件的使用进行了详尽的描述,还批露了其实现的内 部细节,并附加了几个应用案例,读者可通过本书全面了解和把握 Vaadin 的编程方法和技 巧,可以通过它设计出更美观和更具交互性的 WEB 应用程序,并通过开发附加件逐渐形成 具有自己风格的编程组件库,达到提高编程效率,实现软件代码重用的目的。 本书写作依据 2013 年早期发布的 Vaadin 7 版本,因为写书和出版都需要一个过程,所以后 续新版本中对于内核的修改及对框架新特性的追加都无法写到这本书中。如果读者想要了解 和跟踪 Vaadin 编程框架的最新动态,可以随时关注 Vaadin 的官方网站
9 */
10 public class SwingExample extends JFrame
11 implements ActionListener{
12
13 /*
14
* 属性定义
15
*/
16 private FlowLayout layout1=new FlowLayout(FlowLayout.LEFT);
附:从 Java Swing 到 Vaadin 开发: 首先来看使用两种不同技术发开出来的窗口界面:
使用 Java Swing 开发的一个 JFrame 窗口(运行在操作系统桌面上)
使用 Vaadin 开发的一个 Window 窗口(运行在浏览器中)
以下是使用两种不同技术的完整的代码:
1、使用 Java Swing 开发的窗口程序代码:
代码清单:SwingExample.java
1 package ;
2
3 import java.awt.*;
4 import java.awt.event.*;
5 import javax.swing.*;
6
7 /**
8 * 一个 Swing 的弹出窗口示例
技术支持
如果阅读过程中碰到任何问题或对本书的内容结构有更好的建议,可通过作者邮箱与作者取 得联系。 邮箱地址:qixiaorui@ 另外,也可针对 Vaadin 的技术问题直接参与在线讨论,参加 Vaadin 官方网站的社区支持论 坛。 论坛地址:/forum
缩写及概念
Session 用户会话 UI(User Interface) 用户界面 Component 组件 Widgets 微件 GWT(Google Web Toolkit) Google web 工具包 Viewport 视区 SASS(Syntactically Awesome Stylesheets) CSS 预处理器 Container 数据容器 Item 属性集合 Property 属性 iid 标识符,用于唯一标识某个对象或者组件