<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

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

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

      RAP 可以讓開發人員使用JAVA API和按照Eclipse 插件的開發模式構建基于AJAXWeb 2.0應用程序,是的,你沒有看錯,其實RAP的工作原理是采用交叉編譯的方式將 Java 代碼生成JavaScript文件,底層基于Qooxdoo AJAX框架,這樣,我們就不必接觸JavaScriptCSS和處理Http的細節了,可以讓我們更關心程序的功能實現,想起來的覺得很幸福。

      RAPRCP 一樣,運行在Equinox框架上,EquinoxOSGI R4規范的實現,是一個非常優秀和成熟的OSGi框架,Eclipse 是通過這個框架實現靈活的擴展性和插件的熱部署。RAP也支持Eclipse的大部分擴展點,其實RAPRCP在架構上非常的類似,下圖分別為RCPRAP的架構圖:

       可以看出,這之間的整體架構差別不大,RCP是基于SWT的,RAP是基于RWT的,  RWT是實現了SWT功能的一個子集。其實這之間的使用方式都差不多。比如RWT也能和SWT一樣使用MVC的方式來創建表格。

       RAP可以使用Servlet 編譯,支持Servlet 2.32.42.5規范,并且可以通過打包成war文件部署在服務器上,客戶端通過瀏覽器直接訪問,不過這里的客戶端和服務器的實現也不一樣,。下面分別是服務器和客戶端的實現。

       服務器端:
     

    客戶端:

      

       客戶端的功能比較簡單,是通過Qooxdoo程序從服務器上更新信息并繪制出相應的組件顯示在瀏覽器中。基本上只是負責提交和更新顯示數據的功能,服務器端的功能就比較復雜,比如要管理插件的生命周期,尋找新的插件并加載和管理系統的資源,還要處理多用戶環境,在不同Sessions之間處理 OSGI bundles 的關系。

     
        RWT VS SWT

      控件:

        RWT實現了SWT 中的大部分基本控件,使用方法大同小異,也提供了CTabFolderCBanner自定義控件,RWT中的TreeTable功能和SWT的的差不多,支持排序、過濾和直接編輯單元格,使用方式也一樣的。可以直接從SWT代碼復制到RWT程序中使用。

       布局

        RWP同樣可以像SWT一樣使用布局,布局的數據在服務器上計算處理,我們基本上不用擔心跨瀏覽器出現布局混亂的問題了,目前RWP支持下面的布局:  

    1 GridLayout, 
    2 RowLayout
    3 FillLayout
    4 FormLayout
    5 StackLayout

      RWT中布局采用的計算算法和SWT一樣。

     事件處理:
      
    目前RWT支持以下事件類型: 

    1?SelectionListener
    2  ControlListener
    3?ShellListener 
    4?MenuListener
    5?ModifyListener
    6?VerifyListener ? 

     

      RWT附加功能:
      
    RWT提供了附加的API可以管理web 環境,我們可以調用RWT.javagetLifeCycle靜態方法獲得程序的生命周期控制類,直接操作程序的生命周期可以通過getResourceManager靜態方法獲得資源管理的控制類,手工管理系統資源,通過getSessionStore方法管理session資源;通過getRequest 方法處理用戶的請求getResponse處理服務器的響應。假如我們下面URL中得到請求的參數內容

    http://localhost:8080/rap?startup=foo&var1=value1&var2=value2 可以調用

    1 HttpServletRequest request = RWT.getRequest(); 
    2 String var1 = request.getParameter( "var1" ); 
    3 String var2 = request.getParameter( "var2" ); 


      RAP.JFace vs RCP.JFace

        RAPJFace實現了RCPJFace的所有視圖查看器,比如TableViewerTreeViewer等;

        支持大多數的視圖概念,像:ContentProviderLabelProviderColorProviderViewerFilterDecoratingLabelProvider

        支持文本裝飾,比如文本框前面加個小燈泡提示

        支持所有JFace的標準對話框,也支持自定義對話框。

        支持向導頁

        支持附加視圖,比如 OutlineProperties視圖

        編輯器支持:可使用多頁編輯器,支持繼承自ISaveablePart的視圖

        支持透視圖:可支持透視圖切換器,透視圖擴展點。

        支持Eclipse 3.3的菜單框架:包括CommandsHandler,支持采用表達式來控制菜單是否可見和是否可用

        支持Form表單樣式

        還有一個殺手級的特性: 支持在后臺運行Job,可以通過UI界面執行長時間任務,支持Progress View 視圖。

        如果你很喜歡RCPJFaceData Binding功能的話,在RAP中也可以實現,通過RAP的附加插件可以讓你擁有RCP的數據綁定功能,并且可以運用到目前所有的RAP控件中,

       也許你看到這里的時候,上面的信息有些過時了,那有什么辦法呢,Eclipse 組織的動作發展太快了,而且理念也非常的超前,應該聽說過E4吧,Eclipse 的下一代開發工具,可以在Web 瀏覽器中打開Eclipse 進行開發了。持續關注Eclipse的發展,希望NetBeans不要落后的太遠。
       

    posted on 2009-05-21 12:49 VWPOLO 閱讀(4033) 評論(2)  編輯  收藏 所屬分類: Web 開發

    Feedback

    # re: RAP 與 RCP的差別 2009-05-21 13:50 Oh God
    If Java is dead, then where is RAP's Server?  回復  更多評論
      

    # re: RAP 與 RCP的差別 2009-05-21 14:39 VWPOLO
    @Oh God
    我沒有希望Java掛掉,而是希望它發展的更好  回復  更多評論
      

    主站蜘蛛池模板: 一二三四免费观看在线视频中文版 | 18亚洲男同志videos网站| eeuss影院www天堂免费| www国产亚洲精品久久久日本| 亚洲JIZZJIZZ妇女| 日本最新免费不卡二区在线| 亚洲综合精品伊人久久| 久九九精品免费视频| 91亚洲国产成人久久精品网址| 69影院毛片免费观看视频在线| 97se亚洲综合在线| 30岁的女人韩剧免费观看| 亚洲日本香蕉视频观看视频| 一个人看www在线高清免费看 | 国产福利在线免费| 一本色道久久综合亚洲精品蜜桃冫 | 一级毛片在播放免费| 亚洲综合久久夜AV | 亚洲精品视频免费| 亚洲AV日韩AV高潮无码专区| 99re在线免费视频| 亚洲偷自精品三十六区| 国产日产成人免费视频在线观看| 女人裸身j部免费视频无遮挡| 亚洲中文字幕无码一久久区| 久久久久国产免费| 亚洲色大成网站www久久九| 亚洲AV无码乱码在线观看性色扶| 国产午夜精品理论片免费观看| 亚洲视频免费在线观看| 成年女人18级毛片毛片免费 | 亚洲一级毛片在线观| 日本成人免费在线| 日韩免费高清播放器| 亚洲av无码一区二区三区观看| 国产一级高清免费观看| 免费成人在线电影| 亚洲人成网站999久久久综合| 亚洲精品无码mv在线观看网站| 国产91色综合久久免费分享| 污网站在线观看免费|