GWT v2.2发布 使用Java编程语言编写AJAX前端

Google Web Toolkit的缩写,有了 GWT可以使用 Java 编程语言编写 AJAX 前端,然后 GWT 会交叉编译到优化的">JavaScript 中,而 JavaScript 可以自动在所有主要浏览器上运行。GWT允许开发人员使用 Java 编程语言快速构建和维护复杂但性能高的 JavaScript 前端应用程序,从而降低了开发难度,尤其是与 Eclipse Google 插件结合使用时,优势更明显。

如今,编写网络应用程序是一个单调乏味且易于出错的过程。开发人员可能要花费 90% 的时间来处理浏览器行话。此外,构建、重复使用以及维护大量 JavaScript 代码库和 AJAX 组件可能困难且不可靠。Google Web Toolkit (GWT) 允许开发人员使用 Java 编程语言快速构建和维护复杂而又高性能的 JavaScript 前端应用程序,从而降低了开发难度,尤其是与 Eclipse Google 插件结合使用时,优势更明显。

Google Web Toolkit 的工作原理

有了 Google Web Toolkit (GWT),可以使用 Java 编程语言编写 AJAX 前端,然后 GWT 会交叉编译到优化的 JavaScript 中,而 JavaScript 可以自动在所有主要浏览器上运行。在开发过程中,您可以用 JavaScript 按照您习惯的“编辑 - 刷新 - 查看”这种不变的循环快速反复,这样做还带来一个好处,即能够逐行调试并单步执行您的 Java 代码。准备好进行部署后,GWT 会将 Java 源代码编译到优化且独立的 JavaScript 文件中。使用 Google Web Toolkit 可以轻松地为现有网页或整个应用程序构建一个 Widget。

使用 Java 语言编写 AJAX 应用程序,然后编译为优化的 JavaScript

与仅在文本级别运行的 JavaScript Minifier 不同,GWT 编译器会在整个 GWT 代码库中执行综合性静态分析和优化,通常生成的 JavaScript 加载和执行均比等效手写的 JavaScript 更快。例如,GWT 编译器可以安全地消除无用代码 -- 极大的减少不使用的类、方法、字段甚至方法参数 -- 以确保您编译的脚本尽可能最小。另一个示例:GWT 编译器选择性地内联方法,消除方法调用的性能开销。

交叉编译提供了开发所需的可维护的提取和模块性,而不会导致运行时性能损失。

开发工作流程:

编辑 Java 代码,然后立即查看更改而无需重新编译

在开发过程中,使用 GWT 的托管模式浏览器可以立即查看代码更改。无需汇编译为 JavaScript 或部署到服务器。只需进行更改,然后在托管模式浏览器中单击“刷新”。

使用 Java 调试器逐步调试当前 AJAX 代码

在生产过程中,可以将代码编译为纯 JavaScript,但是在开发阶段,代码将在 Java 虚拟机中作为字节码运行。这意味着,当代码执行处理鼠标事件等操作时,将获得功能完整的正常 Java 调试。Java 调试器可以执行的任何操作也应用于 GWT 代码,所以自然也可以执行断点和单步调试等操作。

编译和部署优化的、跨浏览器的 JavaScript

准备好进行部署后,GWT 会将 Java 代码编译成独立的纯 JavaScript 文件,任何网络服务器都支持该文件。此外,GWT 应用程序可自动支持 IE、Firefox、Mozilla、Safari 和 Opera,而无需在代码中进行浏览器检测或特殊封装。编写相同的代码后,GWT 会根据每个用户的特殊浏览器将其转换为最有效的 JavaScript。

下载地址:http://code.google.com/intl/zh-CN/webtoolkit/download.html

时间: 2024-07-28 21:13:24

GWT v2.2发布 使用Java编程语言编写AJAX前端的相关文章

Smart GWT v2.4发布 封装SmartClient的开源项目

SmartGWT是一个利用GWT封装SmartClient的开源项目.类似于GWT-Ext.SmartClient是一个企业级的ajax框架,包括非常出色的UI库.工具库和客户端服务端数据绑定等功能. Smart GWT 2.4 has just been released. Please read the http://www.aliyun.com/zixun/aggregation/16920.html">Release Notes for a detailed list of fea

Selenium v2.0b3发布 Web应用程序测试工具

Selenium也是一个用于Web应用程序测试的工具.Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE,http://www.aliyun.com/zixun/aggregation/29851.html">Mozilla和Firefox等.这个工具的主要功能包括:测试与浏览器的兼容性--测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上.测试系统功能--创建衰退测试检验软件功能和用户需求. 支持自动录制动作,和自动生成.Net.Java

用jabsorb(json) for java编写AJAX应用程序

本文为原创,如需转载,请注明作者和出处,谢谢! jabsorb是一种基于Ajax/Web 2.0的简单轻便的框架,可用于在Web浏览中通过HTTP请求向服务端发送请求,并获得响应数据.实际上jabsorb就是json的升级版(不仅改了个名,而且包名都改了),目前最新版本是1.3. 老版本的json可以从http://oss.metaparadigm.com/jsonrpc/download.html下载. jabsorb可以从http://jabsorb.org/Download下载. jabs

Selenium v2.0b2发布 用于Web应用程序测试的工具

Selenium也是一个用于Web应用程序测试的工具.Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE,Mozilla和Firefox等.这个工具的主要功能包括:测试与浏览器的兼容性--测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上.测试系统功能--创建衰退测试检验软件功能和用户需求. 支持自动录制动作,和自动生成.Net.Java.Perl等不同语言的测试脚本. Selenium 是 ThoughtWorks 专门为 Web 应用程序编写

JAVA代码编写的30条建议

JAVA代码编写的30条建议 (1) 类名首字母应该大写.字段.方法以及对象(句柄)的首字母应小写.对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母.例如: ThisIsAClassName thisIsMethodOrFieldName 若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母.这样便可标志出它们属于编译期的常数. Java包(Package)属于一种特殊情况:它们全都是小写字母,即便中间的单词亦是如此.对于域名扩展名称

使用Java编程语言构建IBM InfoSphere Streams应用程序

简介 IBM InfoSphere Streams( 以下简称 Streams) 是 IBM 于 2009 年推出的具有高可靠性,高可扩展性,分布式流计算平 台,前瞻性地把支持每秒 6G 或者每小时 21600G(相当于互联网上所有网页数量之和)数据处理能力作为系统设计的指标 ,实现了流数据"永恒分析"的能力.它包含一个运行时环境 ( 或者称为实例 ) 和编程模型来简化需要对大批量连续流数 据进行提取.过滤.分析以及关联的应用程序的开发,能够广泛的应用于制造.零售.交通运输.金融证券以

Apache Thrift入门(安装、测试与java程序编写)

安装Apache Thrift ubuntu linux运行: #!/bin/bash #下载 wget http://mirrors.cnnic.cn/apache/thrift/0.9.1/thrift-0.9.1.tar.gz tar zxvf thrift-0.9.1.tar.gz cd thrift-0.9.1.tar.gz ./configure make make install #编译java依赖包 cd lib/java ant 安装ubuntu依赖 sudo apt-get

关于解决Java编程语言线程问题的建议

Allen Holub 指出,Java 编程语言的线程模型可能是此语言中最薄弱的部分.它完全不适合实际复杂程序的要求,而且也完全不是面向对象的.本文建议对 Java 语言进行重大修改和补充,以解决这些问题. Java 语言的线程模型是此语言的一个最难另人满意的部分.尽管 Java 语言本身就支持线程编程是件好事,但是它对线程的语法和类包的支持太少,只能适用于极小型的应用环境. 关于 Java 线程编程的大多数书籍都长篇累牍地指出了 Java 线程模型的缺陷,并提供了解决这些问题的急救包(Band

java代码-用java如何编写翻牌小游戏

问题描述 用java如何编写翻牌小游戏 用java编写翻牌小游戏,点击一张牌,它周围的牌都会翻过来,直到完全翻过来,求源代码 解决方案 http://download.csdn.net/detail/qq_21543697/8595769 解决方案二: 如何用java编写小游戏如何用java编写小游戏用JAVA编写小游戏连连看