好好生活,努力工作,天天向上!

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            46 Posts :: 1 Stories :: 178 Comments :: 0 Trackbacks

             作為一種使基于 Web 的應用程序更加生動的方法,Asynchronous JavaScript + XML (Ajax) 和 Web 2.0 的概念已經在開發社區中廣泛應用,而且相對Web 1.0Web 2.0 在用戶體驗方面帶來了巨大提升,我們已經很難接受瀏覽器從服務器上接受消息顯示的時候將整個頁面重新加載一遍,即使是只需要更新小小的一塊區域也要重新加載,在網速慢時,中間會出現白屏,這簡直會讓人抓狂。隨著AJAX的出生和應用,提交信息到服務器并顯示反饋的信息是,只需要上面的小圈轉幾圈,不需要刷新整個頁面,就能立刻看到結果了。

            在AJAX應用方面,Google應該算是先行者了,Google的大多數服務都基于AJAX應用的,比如GMailGDoc,還有搜索框的動態提示等。Google也推出了自己的AJAX框架,那就是GWT了,全名是Google Web Toolkit,采用了一種不尋常的方式進行 Web 應用程序開發,它沒有采用客戶端和服務器端代碼庫的普通隔離,而是提供了一個 Java API,這樣的話可以讓GWT支持用 Java 開發和調試 Ajax 應用,該 API 允許創建基于組件的 GUIGWT 支持 java.lang 和 java.util 包的子集,還支持 GWT 自身提供的 API。編譯后的 GWT 應用程序由 HTMLXML 和 JavaScript 片段組成,從而在用戶的 Web 瀏覽器上顯示它們,與一般的 Web 應用程序開發體驗相比,使用 GWT 更接近于使用 Swing 或 SWT 進行開發(其實風格更偏向與Swing),它還試圖將 HTTP 協議和 HTML DOM 模型抽象出去。實際上,應用程序最終幾乎總是會呈現在 Web 瀏覽器中。

              GWT能如此引起大家的注意,我認為由以下幾大方面的特性:GWT提供的組件庫使用戶可以很容易的開發出漂亮的UI;使用GWT,可以方便的實現客戶端和服務器端的通信,特別是使得異步通信變的非常簡單;提供更方便的調試功能,可以使用EclipseDebug功能調試代碼;最吸引人的莫過于用戶在開發的時候不必擔心瀏覽器的兼容性問題,因為使用GWT開發出來的程序會支持IEFirefoxMozillaSafariOpera

             我們可以在Google Code網站上下載最新的GWT開發工具包,截止目前為止,最新的GWT工具包為:gwt-windows-1.6.4,現在有一個Cypal Studio for GWT的插件,可以簡化GWT開發,而且值得一提的是Instantiations公司也就是開發SWT-Designer的那家公司提供了GWT-Designer開發工具,支持可視化開發,非常的方便,又興趣開發GWT應用的朋友可以嘗試一個GWT-Designer看看,個人覺得非常的棒。不過現在GWT Desinger不支持最新的1.6.*版本

            Gwt-windows工具包附帶了幾個GWTDemo,在解壓目錄下的index.html文件中。打開index.html文件的最下面可以看到一下幾個Demo的鏈接

             例子有入門級的Hello World,也有復雜的控件展示例子,我們來看一下用GWT開發的Mail例子:


             例子提供了源代碼,我們可以將他們放入到Eclipse的工作區來研究,如果我們按照了GWT-Desinger插件的話,可以新建一個GWT 工程,系統會自動創建一個.gwt.xml文件,里面可以配置負責模塊啟動的啟動類,如果未按照GWT開發插件,也可以新建一個Java工程,然后將源代碼按照路徑復制到工程中,手工添加一個.gwt.xml文件,再添加那些GWTjar包到工程的構建路徑上。


            我們來研究一個GWT的配置文件,比如這里的com.google.gwt.sample.mail包下面的Mail.gwt.xml文件,內容很簡單,只是配置了模塊的啟動類:

          <module rename-to="mail">
              
          <inherits name='com.google.gwt.user.User'/>
              
          <entry-point class='com.google.gwt.sample.mail.client.Mail'/>
          </module>

            inherits name指定啟動模式,這里是客戶端模式,entry-point就是這個模塊的啟動類,這個指定的啟動類必須實現EntryPoint接口,并實現onModuleLoad方法,這個方法在模塊啟動時調用,我們可以在這個方法編寫創建界面的代碼。

            在Mail.gwt.xml文件上右鍵彈出菜單選擇Run As -> GWT Hosted Mode Application,啟動GWT應用:


            之后就能看到運行結果了。


            用了GWT后發現,單純用GWT來開發系統的話比較的麻煩,畢竟正如它的名字一樣,這只是一個工具,還缺少一個框架的設計經驗,如果能夠結合Struct或者JSF的話,估計發展潛力應該不錯,畢竟GWT的背后是財大氣粗的Google和一伙天才。

           

          posted on 2009-05-22 09:16 VWPOLO 閱讀(2414) 評論(4)  編輯  收藏 所屬分類: Web 開發

          Feedback

          # re: Web 2.0 之 GWT 體驗 2009-05-22 11:33 無量字幕
          不錯  回復  更多評論
            

          # re: Web 2.0 之 GWT 體驗 2009-05-23 15:56 ol_soft
          ExtJs也不錯,不過這些東西都很慢啊!  回復  更多評論
            

          # re: Web 2.0 之 GWT 體驗[未登錄] 2009-05-25 17:48 Eric
          樓主能提供Google Mail這個項目的源碼嗎
          我的msn:yinyao01@msn.com  回復  更多評論
            

          # re: Web 2.0 之 GWT 體驗 2009-05-26 09:43 VWPOLO
          @ol_soft
          的確,JavaScript程序最大的問題就在性能上了,Flex不知道怎么樣,聽說性能還不錯,界面也挺美觀的,關鍵是剛開始要下載一個SWF文件,這個文件也不小,不知道用戶有沒有這個耐心等待  回復  更多評論
            

          主站蜘蛛池模板: 井研县| 柳林县| 中超| 丰台区| 福州市| 怀安县| 安远县| 安塞县| 西盟| 吉木萨尔县| 泊头市| 达尔| 合川市| 彰化县| 湘潭县| 漳浦县| 兴国县| 桐梓县| 利津县| 巴彦淖尔市| 西青区| 伊川县| 乐亭县| 灵璧县| 阿克陶县| 光山县| 长治市| 应用必备| 汶上县| 南溪县| 那坡县| 大理市| 安顺市| 玛沁县| 威信县| 丰都县| 烟台市| 论坛| 嘉义市| 商城县| 凤阳县|