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

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

 2009-12-13 00:00:00 来源:WEB开发网   
核心提示: 编译器优化GWT 编译器将把您的 Java 代码转换为在浏览器中运行的 JavaScript,但它的功能不仅仅是这一点,使用 Google Web Toolkit 和 Eclipse Galileo 进行高性能 Web 开发(2),它还进行大量优化以使您的代码运行更快,然而,这显然会使发出的 J

编译器优化

GWT 编译器将把您的 Java 代码转换为在浏览器中运行的 JavaScript,但它的功能不仅仅是这一点,它还进行大量优化以使您的代码运行更快。然而,要准确理解这些优化的详细过程很困难,因为 GWT 发出的 JavaScript 经过了模糊化,难以阅读。首先,我想指示 GWT 编译器生成一些可以阅读的 JavaScript,这样我们就能更好地理解编译器实施的优化。

GWT 编译器有 3 种运行模式。默认模式是 obfuscated,原因是 GWT 编译器将发出模糊的 JavaScript。这种 JavaScript 不仅难以阅读,它还经过压缩。这使其体积更小,从而能在 Internet 上快速加载。更小的体积也有助于浏览器更快地解析 JavaScript。

您也许会认为在网络上发送经过压缩的 JavaScript 没有什么特别的,因为多数 Web 服务器都使用 gzip 压缩格式发送 JavaScript 且所有现代 Web 浏览器都支持 gzip 格式。但是,GWT 编译器不仅压缩 JavaScript,而且它的压缩方式本质上还支持 gzip 压缩。换句话说,尽管已经经过压缩,GWT 的模糊化的 JavaScript 仍是高度可 gzip 压缩的。这样,如果您的 Web 服务器不使用 gzip,您可以通过使用 GWT 模糊特性获得一个很大的速度提升。但是,即使您的 Web 服务器使用 gzip,您也能从 GWT 模糊特性获得明显的速度提升。

因此,对于生产代码,我们当然希望 GWT 编译器设置为发出模糊 JavaScript。但是,这显然会使发出的 JavaScript 几乎不能被阅读。为了说明这个问题,请查看清单 1 中的一些 GWT 模糊 JavaScript。


清单 1. 模糊化的 JavaScript
function qH(){return np} 
function mH(){} 
_=mH.prototype=new mu;_.gC=qH;_.tI=0;function 
uH(){uH=ZH;sH={};tH=[];sH[LM]=[Is,Hs,Js];sH[JM]=[rt,qt,st];Xv(tH,yn,LM);Xv(tH,To,JM)} 
var sH,tH;function AH(a){a.b=oH(new mH);return a} 
function BH(a){var b,c,d,e,f,g,h,i,j,k;g=ox(new cx,MM);f=OA(new FA);j=XH(new 
 VH,NM,OM);KA(f,j.b+sJ+j.c);pw(g.B,PM,true);Zw(gA(QM),f);Zw(gA(RM),g);f.B.focus() 
;k=Jg(f.B,NJ).length;k>0&&JA(f,0,k);c=py(new my);Lf((tf(),c.b.B),SM);c.o=true; 
b=ox(new cx,TM);b.B.id=UM;i=Py(new Ny);h=Ty(new My);d=UA(new RA);pw(d.B,VM,true); 
VA(d,Uy(new My,WM));VA(d,i);VA(d,Uy(new My,XM));VA(d,h);d.b=(kz(),jz);VA(d,b); 
Ax(c.j,d);Mx(c);vw(b,FH(new DH,c,g),(sh(),rh));e=KH(new IH,a,g,f,i,h,c,b); 
vw(g,e,rh);vw(f,e,(hi(),gi))} 
function CH(){return rp} 
function xH(){} 

上一页  1 2 3 4 5 6 7  下一页

Tags:使用 Google Web

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