JRubyクィックスタート
文:Chris Duckett(Builder AU)
翻訳校正:原井彰弘
翻訳校正:原井彰弘
2007/12/13 10:05
RubyとJavaを結びつけてJRubyができあがった。よいものとよいものを組みあわせれば2倍よいものができあがるという良い例だ。
require 'java'
include_class(['javax.swing.JFrame','javax.swing.JLabel','javax.swing.JComboBox','javax.swing.JButton','javax.swing.JPanel','javax.swing.JTable','javax.swing.JTextField', 'java.awt.GridBagLayout', 'java.awt.GridBagConstraints'])
window= JFrame.new
contentPane = window.getContentPane
gridbag = GridBagLayout.new
contentPane.setLayout gridbag
c = GridBagConstraints.new
#setting a default constraint value
c.fill = GridBagConstraints::HORIZONTAL
tagLbl = JLabel.new("Tags")
c.gridx = 0
c.gridy = 0
gridbag.setConstraints tagLbl, c
contentPane.add(tagLbl)
tagModeLbl = JLabel.new("Tag Mode")
c.gridx = 0
c.gridy = 1
gridbag.setConstraints(tagModeLbl, c)
contentPane.add(tagModeLbl)
tagTxt = JTextField.new("plinth")
c.gridx = 1
c.gridy = 0
c.gridwidth = 2
gridbag.setConstraints(tagTxt, c)
contentPane.add(tagTxt)
modeCombo = JComboBox.new
modeCombo.addItem "all"
modeCombo.addItem "any"
c.gridx = 1
c.gridy = 1
c.gridwidth = 1
gridbag.setConstraints(modeCombo, c)
contentPane.add(modeCombo)
searchBtn = JButton.new("Search")
c.gridx = 1
c.gridy = 2
gridbag.setConstraints(searchBtn, c)
contentPane.add(searchBtn)
resTable = JTable.new(5,3)
c.gridx = 0
c.gridy = 3
c.gridwidth = 3
gridbag.setConstraints(resTable, c)
contentPane.add(resTable)
previewLbl = JLabel.new("Preview goes here")
c.gridx = 0
c.gridy = 4
gridbag.setConstraints(previewLbl, c)
contentPane.add(previewLbl)
window.defaultCloseOperation = JFrame::EXIT_ON_CLOSE
window.pack()
window.setVisible(true)
このリストをファイルに保存した場合は、JRubyでは以下のようにして呼び出すことができる。
jruby testwin.rb
表面的に見ると、JRubyとJavaのコードには違いはない。JRubyを用いることによって起こるパフォーマンス上の明らかな大打撃の一方で、同様の機能を持つコードを記述するのに掛かる時間は、JRubyを用いると大幅に短くなる。
JRubyがJITコンパイラになったとき、どの程度実行速度が向上するのかは興味深い。しかし今のところは、パフォーマンスについて気にしないならばJRubyをちょっと試してみて、何ができるのかを確かめてみるのがいいだろう。
- 今日のトップ記事
- 3日前
- 4日前
- 5日前
- 6日前
- 7日前
- ホワイトペーパー
- 話題のタグ
ブラウザ
入門
Mac OS X
小技
PHP
プロジェクト管理
データベース
仮想化
server
iPhone
Webデザイン
JavaScript
Off Topic
リファレンス
Ajax
Tips
Safari
RIA
Python
ソフトウェア開発
Apple
HTML
モバイル
仮想化ソフトウェア
SOA
Java
プログラミング言語
携帯電話機
Database
Webサービス
UI
ユーザーインタフェース
CSS
Windows
Adobe
Firefox 3
iPod touch
開発環境
脆弱性
Flash
デザイン
オープンソース
Google
Internet Explorer
Webアプリケーション開発
Linux
iPhone 3G
Firefox
レビュー
Mozilla
話題のタグを見る »
iPhoneでQRコードの読み取りを試す、しかし
Oracle VM Managerで仮想マシンを動かす
グルジアに渡ったカメラマンの全記録--大国に翻弄される人々の息遣い
iPod touchで音声通話が可能に--Fringを早速試す
Mozilla Labs、Firefoxで地理情報を認識活用できるプラグイン「Geode」を正式発表
DelphiのパフォーマンスをDelphiで改善:エンバカデロの製品戦略
社内政治を生き抜くための教訓10箇条
iPhoneでVoIP--Fringを早速試す
Firefox 3のブックマーク構造を理解しよう
ZDNet Japan Green IT
グリーンITの第一歩は見える化です
これからの時代のセキュリティ対策
エンタメCGM「gooメーカー☆メーカー」
Techno Exchange
ERPパッケージの導入を成功させるコツ