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

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

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

    posts - 241,  comments - 116,  trackbacks - 0

    如今有很多JRuby的程序庫,通過它們,我們能夠更加容易地使用Java工具進行GUI開發

    我們采訪了Monkeybars團隊的James Britt。James對Moneybars項目做了一個簡短的介紹:

    Monkeybars是一個JRuby的MVC框架,這個框架基于Swing庫之上。本質上來說,它并不是對Swing的一個重新封裝,而是使用 Swing類封裝視圖邏輯,從而將其和控制器邏輯和(Ruby中的)模型邏輯分離開。從這方面來說,它提供了免費、高質量的所見即所得Swing UI設計工具,將我們從煩躁的UI設計中解脫出來,專注于Ruby開發。Monkeybars最開始是從一個現實的應用中抽取出來的,它將專注于測試和維 護大型應用程序的項目。

    James闡述了Monkeybars如何處理交互:

    Monkeybars的目的之一是將視圖和控制器分離開來;一個控制器從來不需要一個視圖的直接引用。它使用信號來間接告訴視圖應該要做些什么。這樣的話,對控制器的測試就會更加簡單,你無需擔心UI的問題。

    Monkeybars沒有直接實現GUI組件,它提供給我們任意選擇GUI組件的機會:

    Monkeybars期望能夠有表示Swing UI的類。在大部分情況下,我們開開心心地使用Netbeans UI編輯器來描畫和編譯UI組件,然后在應用程序中使用Ruby代碼引用這些組件。理論上來說,你可以使用Profigacy、Cherry或者 SwiXML+Builder等等,但是我還沒有看到有代碼這樣做(同樣見我關于Monkeybars的額外計劃和簡易編寫內聯Swing代碼的評論)。

    James解釋了開發者應該如何使用Monkeybars:

    很多用戶都是在編寫一些無謂的JRuby程序時隨便用用Monkeybars,但是我敢肯定有人在現存的Java應用程序中使用了它。目前Monkeybars有gem和jar的發布形式(同樣也有源代碼形式)。

    我們希望知道是否可以在已經存在的應用程序中,使用Monkeybars處理GUI腳本:

    [..] 在Java應用程序中,你可以加載和執行使用Monkeybars的Ruby代碼,或者在Ruby應用程序中(假設在JRuby下執行)希望調用GUI的時候使用Monkeybars。

    雖然現在的代碼不支持桌面GUI,但是你的問題讓我考慮是否需要現在使用現在的代碼開發一個。例如,當開發一個Web應用的時候,如果使用一個優雅的 GUI而不是在瀏覽器或者終端中呈現錯誤,那么這也許是一個很優秀的解決方案。將Monkeybars集成到Ramaze應用中,我們可以在開發的時候使 用Swing組件。我們也可以在一個多窗口GUI控制臺應用程序中使用Monkeybars來查看源代碼和文檔。

    在Monkeybars應用開發中,Rawr是一個非常有用的工具。James是這么解釋rawr的:

    Rawr是另外一個從現實需求中演化出來的項目。它將Monkeybars集成到一個可執行的jar包中,提供了一些有用的Rake任務。你也可以將其集 成到Windows的exe程序或者Mac的app程序中(我們正在努力編寫一個Linux包)。這個項目包括圖標、媒體和內容jar包,還能夠將 Ruby編譯進類中,提高載入速度。這就是我們如何將JotBot和我們的時間追蹤程序集成在一起的。我們相信這個時間追蹤程序是第一個商業JRuby桌 面應用程序。

    我們也詢問了一些1.0版之后,Monkeybars未來如何發展的問題:

    現在的核心是相當的穩定,大約一年之內都不需要做任何重要的修改。如果我們做了一些重大的改變的話,那么有一些大型應用程序將會花費大量的代價來重構,所以我們將來可能只是在這個基礎上增量構建而不是做出修改。

    但是,正得益于這種穩定性,我們可以考慮一些特性。例如,我們希望能夠使用自定義的DSL或者構建器語法更加容易地創建Swing UI類。Swing是非常巨大的,所以我們不打算封裝所有的Swing組件,但是使用常規的Ruby語法,很多基礎的UI形式和組件應該更容易使用。

    我們現在還關注應用程序生成器。很多應用程序都有同樣的形式和行為:啟動畫面(Splash Screen)、系統托盤圖標、幫助和“關于”表格等。通過一些命令行調用或者Rake任務,程序員應該能夠很方便地獲得一個提供最少功能的桌面程序。然 后這個應用程序可以使用內聯代碼或者已編譯的Java類來添加額外的UI組件。

    Logan已經使用了視圖綁定功能,這個功能使得我們更加容易地在模型和視圖之間建立映射,并且能讓我們看起來數據一直是保持同步的。

    另外一個項目將我們認為Swing的一些通用功能組合起來,但是現在我們現在還沒有開始進行這個項目,也許這個項目并不容易。例如,禁止組合框中特定的元 素或者文本域的上下文菜單。我們也在努力地使Monkeybars能夠更好地和Cucumber和RSpec一起工作;在這方面,我們已經做了一些工作。

    最后,James提供了一系列指導Monkeybars開發的資源,如果仍然不明白的話,那么可以直接詢問Monkeybars的核心團隊(現在是James、Logan Barnett和David Koontz):

    當然有Monkeybars.org;我們現在正在更新1.0版本的文檔和截圖。

    也可以通過Freenode聯系#monkeybars獲取信息,而且還有Monkeybars的Google group:
    http://groups.google.com/group/monkeybars

    Logan Barnett關于Monkeybars的博客:
    http://www.logustus.com

    在RubyConf 2008上David Knootz的視頻:
    http://rubyconf2008.confreaks.com/monkeybars-easy-cross-platform-guis.html
    Martin Slader在Ruby Manor中使用了Monkeybars: http://rubymanor.org/videos/gui_manor_born/
    開發者可以下載JotBot,并且請求一個免費的試用key來嘗試商業版本的Monkeybars應用程序:
    http://www.getjotbot.com
    我們也開始將一些東西遷移到Kenai,這個網站更加穩定,這樣能夠為用戶更好地提供文檔。
    http://kenai.com/projects/monkeybars
     
    一旦這些東西整理好,我們會很快地在Monkeybars主頁上放出詳細信息。

    你也可以通過Twitter來聯系我們:
    @jamesbritt
    @logan_barnett
    @dkoontz
    @thehappycampers

    那么。你會使用什么工具來構建JRuby的GUI呢?

    posted on 2009-02-16 15:37 墻頭草 閱讀(653) 評論(1)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    人人游戲網 軟件開發網 貨運專家
    主站蜘蛛池模板: 亚洲成av人片在线天堂无| 久久精品亚洲AV久久久无码| 污污免费在线观看| 永久免费无码网站在线观看| 亚洲伊人久久大香线蕉AV| 最近免费中文字幕4| 最新亚洲春色Av无码专区| 毛片免费vip会员在线看| 亚洲乱人伦中文字幕无码| 国产高清免费观看| 免费精品国自产拍在线播放| 亚洲国产日韩成人综合天堂| 一级人做人a爰免费视频| 国产国拍精品亚洲AV片| 男人的天堂网免费网站| 亚洲色无码国产精品网站可下载| free哆啪啪免费永久| 亚洲va在线va天堂成人| 国产成人免费片在线视频观看| 国产AV无码专区亚洲AV麻豆丫 | 久久精品国产亚洲AV电影| 久久午夜夜伦鲁鲁片免费无码影视| 国产免费AV片无码永久免费| 国产精品亚洲va在线观看| 巨波霸乳在线永久免费视频| 33333在线亚洲| 亚洲不卡AV影片在线播放| 中文字幕av无码不卡免费| 免费中文字幕在线| 在线观看免费无码视频| 亚洲高清免费在线观看| 午夜高清免费在线观看| 一级毛片免费在线| 亚洲精品在线网站| 国产jizzjizz免费看jizz| 人妻免费一区二区三区最新| 国产精品亚洲产品一区二区三区| 久久久久久久岛国免费播放 | 在线免费播放一级毛片| 亚洲男女性高爱潮网站| 无码专区一va亚洲v专区在线 |