成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JRuby+Swing的開發人員選擇

開發 后端
本文介紹JRuby+Swing的開發人員選擇。JRuby 是用于 Java 平臺的一個 Ruby 實現。它使您可以通過 JVM 執行 Ruby 代碼。

JRuby 是用于 Java 平臺的一個 Ruby 實現。它使您可以通過 JVM 執行 Ruby 代碼。在 JRuby 下運行的 Ruby 代碼還可以裝載和使用 Java 庫,包括 Swing。所以JRuby+Swing的組合,也成為了開發人員的選擇之一。

Java 平臺的某些方面使得 JRuby 成為一個好的選擇:

◆它比較穩定,并且經過良好的測試

◆它有較強的社區和供應商支持

◆它有很多良好的文檔

◆有很好的 IDE 和 UI 布局工具可供選擇

◆可免費使用(不管是在成本方面還是許可方面)

◆用戶機器上可能已經安裝了 Java 運行時

如果用JRuby 編寫應用程序,并使用 Swing 實現 UI,則只需確保用戶有***版本的 Java 運行時,并在打包應用程序時包括 JRuby JAR 文件。由于已經有了用于 JRuby 應用程序打包的 Ruby 工具,所以這些不成問題。

JRuby+Swing 的開發人員選項

對于從 JRuby 中使用 Swing,有很多選項:

原始的、手工編寫的對 Swing 對象的內聯調用:在最簡單的情況下,可以像引用任何其他 JRuby 對象那樣引用 Swing 對象:

  1. panel = Java::javax::swing::JFrame.new("JRuby panel")  
  2. panel.show   

“Builder” 和領域特定語言(DSL)風格的庫:全部以手工代碼構造面板和窗體,然后添加組件,這樣可以提高開發速度。有一些庫使 Swing 交互更具 Ruby 風格。例如:

Cheri::Swing 使用 JRuby 塊語法生成 Swing 代碼。

另一個庫 Profligacy 則圍繞原始的 Swing 調用提供了一個 Ruby 包裝器,它可以幫助您用更少的原始 Java 代碼編寫更多的 Swing 代碼。為了恰當地使用 Swing 組件,仍然需要熟悉 Swing API 文檔。

這些方法都假設面板、窗體和布局是用手工代碼創建的。雖然用純 Swing 代碼做這些事情已經是一個進步,但是仍然無法處理復雜的用戶界面。

“我們不關心 Java 類來自何處” 方法:第三種方法假設用于 Swing 對象的已編譯的 Java 類已經存在,并試圖使用 JRuby 代碼簡化 Swing 對象的創建。

***是 Monkeybars 庫采用的方法(請參閱 參考資料)。現在已經有很多非常好的、免費的圖形化 Swing UI 布局編輯器。和之前提到的 GUI 工具包(例如 Fox 和 GTK)的使用一樣,對于不常見的對話框,不需要 UI 編輯器。但是,除此之外,這類工具是不可替代的,對于一個高級的桌面應用程序,無視這些工具而手工編寫 UI 并無益處。

JRuby+Swing:Monkeybars

Monkeybars 是一個開源 Ruby 庫,它使用一種模型、視圖、控制器(MVC)設計模式將已有的 Java Swing 類(即定義 Swing UI 的已編譯 Java 類)與 Ruby 代碼連接起來。MVC 的目的在于將視圖邏輯和 UI 組件與應用程序邏輯相分離。

由于使用 Java 語言和 Swing 庫,Monkeybars 建立在成熟、健壯的技術之上。與目前用于 JRuby 的其他 Swing 庫不同,它非常適合于構造大型的、復雜的、多面板的應用程序。您將看到,創建 Monkeybars 應用程序需要承擔一定的開銷,所以對于簡單的窗體來說它可能不是***的選擇。但是,對于有以下需求的 JRuby 桌面應用程序來說,它是一個合理的選擇:

◆可靠的跨平臺部署(確保用戶安裝了***的 JVM)

◆有大量具有任意復雜度的 UI 部件可供選擇

◆復雜的 UI 窗體和面板構造和交互

和 Profligacy 一樣,Monkeybars 不隱藏 Swing API。但是,由于它使用編譯過的 UI 類,因此可以充分利用任何工具或應用程序來生成真正的布局。取決于應用程序的復雜性,幾乎不可避免的是,在編寫 Ruby 代碼的過程中,某些時候需要參考 Swing 組件 API 文檔和代碼示例才能知道怎么做(但是由于 JRuby 與 Java 庫的良好集成,很容易將那樣的 Swing 代碼包裝在一個 Ruby API 中,以便于重用)。使用 Monkeybars 構建的程序可能有不同程度的復雜性,但是可以遵循一些基本的模式來使代碼易于維護。

【編輯推薦】

  1. 如何監控JRuby腳本的執行
  2. JRuby的安裝與配置介紹
  3. JRuby+Netbeans開發攻略之用jruby調用jfreechart
  4. 學習在NetBeans環境下進行JRuby開發
  5. 使用JRuby開發Web Service全攻略
責任編輯:yangsai 來源: IBMDW
相關推薦

2009-07-28 14:54:09

JRubySun

2019-10-17 09:00:00

GoRust編程語言

2020-06-22 07:18:21

Java語言開發

2010-08-09 16:09:25

2012-05-30 15:15:42

ibmdw

2023-03-15 07:12:53

企業開發人員提供商

2009-11-23 20:07:51

ibmdw開發

2021-02-19 09:33:01

kubernetesJAVA服務

2009-12-11 14:50:14

Visual Basi

2020-08-14 10:54:56

NodejsGolang開發

2023-02-17 15:01:15

2010-08-16 09:21:35

Windows Pho

2012-12-14 08:55:45

開發人員產品經理

2021-12-10 23:48:19

Java開發技術

2021-02-16 16:44:40

RustJavaScript開發

2022-01-06 16:15:58

自測測試開發人員

2009-05-31 08:31:07

GoogleWaveTechCrunch

2023-08-14 15:23:37

2011-09-05 14:21:29

webOS

2013-04-15 10:00:09

程序員
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲色图综合 | 午夜精品久久久久久 | 久国产精品 | 国产高清在线 | 日韩免费视频一区二区 | 欧美国产日韩一区二区三区 | 久久最新 | 色婷婷精品久久二区二区蜜臂av | 日日日干干干 | 99pao成人国产永久免费视频 | 999热精品| 中国一级特黄视频 | 久久久91精品国产一区二区三区 | 成人午夜精品 | 国产欧美一区二区三区另类精品 | 久久久www成人免费无遮挡大片 | 国产欧美日韩综合精品一区二区 | 亚洲网址在线观看 | 欧美v在线 | 欧美久久免费观看 | 91传媒在线观看 | 国产精品黄色 | 黄色片在线 | 国产在线视频一区二区董小宛性色 | 奇米av| 欧美日韩国产中文 | 亚洲a一区 | 亚洲成人一区二区在线 | 日韩中文字幕一区二区 | 天堂一区二区三区 | 精品国产一区二区三区久久久久久 | 天天干com | 成年人网站在线观看视频 | 久久精品欧美视频 | 国产探花在线精品一区二区 | 成人精品鲁一区一区二区 | 综合欧美亚洲 | 在线观看特色大片免费网站 | 欧美亚洲国产一区 | 激情福利视频 | 婷婷久 |