WEB开发网
开发学院软件开发Java 使用 Google Web Toolkit 和 Eclipse Galileo 进行... 阅读

使用 Google Web Toolkit 和 Eclipse Galileo 进行高性能 Web 开发

 2009-12-13 00:00:00 来源:WEB开发网   
核心提示: 现在,我们将更改来自 GWT start 项目的代码(如清单 4 所示),使用 Google Web Toolkit 和 Eclipse Galileo 进行高性能 Web 开发(5),清单 4. 原始 GWT start 项目代码finalTextBoxnameField=newTextBox

现在,我们将更改来自 GWT start 项目的代码(如清单 4 所示)。


清单 4. 原始 GWT start 项目代码
final TextBox nameField = new TextBox(); 
nameField.setText("GWT User"); 

现在,我们将使用 Person 对象替代上面显示的硬编码字符串。这个更改如清单 5 所示。


清单 5. 修改为使用 Person
final TextBox nameField = new TextBox(); 
final Person user = new Person("GWT", "User"); 
nameField.setText(user.getName()); 

这个更改很简单,但很显然这是一个对应用程序有用的抽象。但是,这可能会以牺牲性能为代价,对象创建和方法分配都可能会存在开销。让我们看看 GWT 编译器是如何提供帮助的。清单 6 显示原始代码的编译版本。


清单 6. 原始代码,编译为 JavaScript
nameField = $TextBox(new TextBox()); 
nameField.element['value'] = 'GWT User' != null?'GWT User':''; 

现在,让我们看看清单 5 编译为 JavaScript 将会怎样,如清单 7 所示。


清单 7. 修改后的代码,编译为 JavaScript
 user = $Person(new Person(), 'GWT', 'User'); 
 $setText_1(nameField, user.firstName + ' ' + user.lastName); 

第一行代码调用 Person 类的 JavaScript 构造器,这是对 Java 代码的直接转换。第二行代码有一些变化,没有对 Person 实例调用 getName() 方法,而是将其内联到代码中。也就是说,对方法的调用已被方法本身所代替。这是许多编译器 — 过去的 C/C++ 和 Java 编译器 — 经常实施的优化,但 GWT 编译器充分利用了这种技巧来生成快速 JavaScript。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:使用 Google Web

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接