資源描述:
《gwt 開發(fā)者手冊_v2》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、GWT開發(fā)者手冊格式規(guī)范:這種字體表示代碼或術(shù)語文檔目的:對新進(jìn)員工進(jìn)行GWT技術(shù)培訓(xùn),使他們可以在以前沒有接觸過GWT的基礎(chǔ)上,通過本文檔,經(jīng)過短期學(xué)習(xí),即可使用GWT進(jìn)行日常開發(fā)工作。GWT版本:gwt-windows-1.3.3面向讀者:熟悉JAVA語言,有用J2EE開發(fā)三層架構(gòu)軟件系統(tǒng)的經(jīng)驗WEB應(yīng)用程序開發(fā)者。一、基本概念核心GWT概念,諸如:把JAVA原碼編譯為JAVASCRIPT原碼,調(diào)試,跨瀏覽器支持,和定義模塊(module)等。GWT編譯器主要用于把JAVA應(yīng)用程序轉(zhuǎn)換成對應(yīng)的JAVASCRIPT應(yīng)用程序GWT的
2、核心是一個編譯器,它可以把JAVA代碼轉(zhuǎn)換成JAVASCRIPT代碼,把用于實際開發(fā)工作的JAVA應(yīng)用程序轉(zhuǎn)變成等價的JAVASCRIPT應(yīng)用程序,一般來說:1.如果你的GWT應(yīng)用在主機模式中編譯運行,2.并且GWT把你的應(yīng)用程序編譯成JAVASCRIPT應(yīng)用程序,而沒有報錯,3.那么的你的應(yīng)用程序?qū)酝瑯拥姆绞皆赪EB瀏覽器中工作,就像在主機模式中一樣。GWT編譯器支持大多數(shù)JAVA語言特性。GWT運行時庫仿真了JAVA運行時庫的一個子集。注意:1.語言支持:GWT可以編譯J2SE1.4.2或更早版本。但有一些不一致需要注意。l
3、固有類型byte,char,short,int,long,float,double,Object,String,和數(shù)組都是支持的。畢竟,在JAVASCRIPT語言中沒有64位整型,所以long類型變量被映射到JAVASCRIPT的雙精度浮點類型值。為了保證主機模式和WEB模式中最大的一致性,我們推薦使用int類型變量l異常try,catch,finally和用戶自定義的異常都可以正常支持,但是注意,在WEB模式中Throwable.getStackTrace()方法不被支持。l斷言GWT編譯器解析JAVAassert聲明,但是它們不
4、會被生成對應(yīng)的JAVASCRIPT代碼。l多線程和同步JAVASCRIPT解析器是單線程的,所以GWT自然接受synchronized關(guān)鍵字,但是沒有實際作用。同步相關(guān)的類庫方法也不可用,包括Object.wait(),Object.notify(),和Object.notifyAll()l反射為了效率最大化,GWT把你的JAVA原代碼編譯成單塊集成腳本,并且不支持類的并發(fā)動態(tài)裝載(我也不大懂是怎么回事,總之不要在GWT中使用JAVA的反射機制),另外,其他最佳化選項也不包括對反射的一般支持。但是可以使用GWT.getTypeNam
5、e(Object)來查詢一個對象的類名。l無用對象清理JAVASCRIPT不支持垃圾回收階段的對象清理,所以GWT不能支持WEB模式下的JAVA對象清理。l嚴(yán)格浮點JAVA語言規(guī)范精確地定義了浮點支持,包括單精度和雙精度,還有strictfp關(guān)鍵字。GWT不支持strictfp關(guān)鍵字,并且不能保證在轉(zhuǎn)換后的代碼中的浮點的詳細(xì)精度,所以如果你需要保證精度的計算,則要避免在客戶端代碼中進(jìn)行。1.運行時庫支持GWT只支持Java2StandardandEnterpriseEdition類庫的一個小的子集,由于這些庫非常大,并且有很多在WE
6、B瀏覽器中不可用的功能。詳細(xì)請參考:java.langandjava.util的API,那里列出了被支持的類和兩個類庫(GWT和標(biāo)準(zhǔn)JAVA類庫)行為上的不同。一些特定領(lǐng)域GWT與JAVA標(biāo)準(zhǔn)運行時不同。l正則表達(dá)式JAVA正則表達(dá)式的語法類似但也不同于JAVASCRIPT的正則表達(dá)式語法。例如,replaceAll和split方法。你可能只想使用和JAVASCRIPT同效的JAVA正則表達(dá)式。l序列化JAVA的序列化所依賴于一些機制是編譯后的JAVASCRIPT中不可用,例如動態(tài)類裝載和反射。所以GWT不支持標(biāo)準(zhǔn)JAVA序列化,但
7、是GWT有一個RPC機制,它提供了調(diào)用遠(yuǎn)程方法時與服務(wù)器交互的自動對象序列化。注意:如果你確保在一開始你的客戶端代碼中只使用了可以轉(zhuǎn)換的類,你將會避免很多麻煩。為了能夠盡早確定問題所在,你的代碼將會在主機模式中運行時被檢查是否符合JRE仿真庫。所以,不支持的類庫將會在第一次運行應(yīng)用程序時被檢測到。應(yīng)該盡早運行并經(jīng)常運行你的程序??鐬g覽器支持GWT架構(gòu)可以在單一代碼的基礎(chǔ)上支持多瀏覽器。GWT使你不用過于擔(dān)心跨瀏覽器的不相容性。如果你關(guān)注嵌入式的界面元素和組件,你的應(yīng)用程序在最近版本的InternetExplorer,Firefox,
8、和Safari瀏覽器中的表現(xiàn)是一致的(大多數(shù)情況下,Opera瀏覽器也是這樣)。DHTML用戶界面是非常復(fù)雜的,雖然這樣,也要確定在每個瀏覽器中徹底測試你的應(yīng)用程序。只要可能,GWT符合瀏覽器的本地用戶界面元素。例如:GWT的Butt