自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JRuby+Swing的開發(fā)人員選擇

開發(fā) 后端
本文介紹JRuby+Swing的開發(fā)人員選擇。JRuby 是用于 Java 平臺(tái)的一個(gè) Ruby 實(shí)現(xiàn)。它使您可以通過 JVM 執(zhí)行 Ruby 代碼。

JRuby 是用于 Java 平臺(tái)的一個(gè) Ruby 實(shí)現(xiàn)。它使您可以通過 JVM 執(zhí)行 Ruby 代碼。在 JRuby 下運(yùn)行的 Ruby 代碼還可以裝載和使用 Java 庫,包括 Swing。所以JRuby+Swing的組合,也成為了開發(fā)人員的選擇之一。

Java 平臺(tái)的某些方面使得 JRuby 成為一個(gè)好的選擇:

◆它比較穩(wěn)定,并且經(jīng)過良好的測(cè)試

◆它有較強(qiáng)的社區(qū)和供應(yīng)商支持

◆它有很多良好的文檔

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

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

◆用戶機(jī)器上可能已經(jīng)安裝了 Java 運(yùn)行時(shí)

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

JRuby+Swing 的開發(fā)人員選項(xiàng)

對(duì)于從 JRuby 中使用 Swing,有很多選項(xiàng):

原始的、手工編寫的對(duì) Swing 對(duì)象的內(nèi)聯(lián)調(diào)用:在最簡(jiǎn)單的情況下,可以像引用任何其他 JRuby 對(duì)象那樣引用 Swing 對(duì)象:

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

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

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

另一個(gè)庫 Profligacy 則圍繞原始的 Swing 調(diào)用提供了一個(gè) Ruby 包裝器,它可以幫助您用更少的原始 Java 代碼編寫更多的 Swing 代碼。為了恰當(dāng)?shù)厥褂?Swing 組件,仍然需要熟悉 Swing API 文檔。

這些方法都假設(shè)面板、窗體和布局是用手工代碼創(chuàng)建的。雖然用純 Swing 代碼做這些事情已經(jīng)是一個(gè)進(jìn)步,但是仍然無法處理復(fù)雜的用戶界面。

“我們不關(guān)心 Java 類來自何處” 方法:第三種方法假設(shè)用于 Swing 對(duì)象的已編譯的 Java 類已經(jīng)存在,并試圖使用 JRuby 代碼簡(jiǎn)化 Swing 對(duì)象的創(chuàng)建。

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

JRuby+Swing:Monkeybars

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

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

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

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

◆復(fù)雜的 UI 窗體和面板構(gòu)造和交互

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

【編輯推薦】

  1. 如何監(jiān)控JRuby腳本的執(zhí)行
  2. JRuby的安裝與配置介紹
  3. JRuby+Netbeans開發(fā)攻略之用jruby調(diào)用jfreechart
  4. 學(xué)習(xí)在NetBeans環(huán)境下進(jìn)行JRuby開發(fā)
  5. 使用JRuby開發(fā)Web Service全攻略
責(zé)任編輯:yangsai 來源: IBMDW
相關(guān)推薦

2009-07-28 14:54:09

JRubySun

2019-10-17 09:00:00

GoRust編程語言

2020-06-22 07:18:21

Java語言開發(fā)

2010-08-09 16:09:25

2012-05-30 15:15:42

ibmdw

2023-03-15 07:12:53

企業(yè)開發(fā)人員提供商

2009-12-11 14:50:14

Visual Basi

2009-11-23 20:07:51

ibmdw開發(fā)

2021-02-19 09:33:01

kubernetesJAVA服務(wù)

2020-08-14 10:54:56

NodejsGolang開發(fā)

2012-12-14 08:55:45

開發(fā)人員產(chǎn)品經(jīng)理

2010-08-16 09:21:35

Windows Pho

2021-12-10 23:48:19

Java開發(fā)技術(shù)

2023-02-17 15:01:15

2021-02-16 16:44:40

RustJavaScript開發(fā)

2022-01-06 16:15:58

自測(cè)測(cè)試開發(fā)人員

2013-04-15 10:00:09

程序員

2011-09-05 14:21:29

webOS

2023-08-14 15:23:37

2009-05-31 08:31:07

GoogleWaveTechCrunch
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)