<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掛掉,而是希望它發展的更好  回復  更多評論
      

    主站蜘蛛池模板: 福利片免费一区二区三区| va天堂va亚洲va影视中文字幕| 国产成人亚洲综合在线| 大地资源在线观看免费高清| 久久精品国产亚洲av影院| 最近免费中文字幕mv电影| 亚洲AV成人片色在线观看高潮| 国产免费一级高清淫曰本片| 久久伊人亚洲AV无码网站| 久久九九久精品国产免费直播| 亚洲熟妇少妇任你躁在线观看无码| 免费夜色污私人影院网站| 亚洲?V无码成人精品区日韩| 青青草国产免费国产是公开| 国产精品亚洲玖玖玖在线观看| 丝袜捆绑调教视频免费区| 亚洲AV无码专区国产乱码电影 | 国产精品黄页在线播放免费| 亚洲国产成人精品无码区二本 | 亚洲精品tv久久久久| 狠狠躁狠狠爱免费视频无码| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 无码AV片在线观看免费| 亚洲导航深夜福利| 99久久免费国产精品特黄| 亚洲av无码专区在线电影天堂 | 亚洲级αV无码毛片久久精品| 日本在线免费播放| 亚洲国产片在线观看| 午夜亚洲av永久无码精品 | 国产男女爽爽爽免费视频| 亚洲男人天堂av| 欧美大尺寸SUV免费| 国产在亚洲线视频观看| 亚洲一区无码中文字幕 | 中文字幕在线免费视频| 亚洲国产美女精品久久久久| 宅男666在线永久免费观看| 一本久久A久久免费精品不卡| 亚洲人成在线影院| 国产精品无码一区二区三区免费|