TOPシステム開発> はじめに
JRuby
JRubyを知る!

第1回:JRubyとは?

著者:アスタリクス  大西 正太   2007/9/3
1   2  3  次のページ
はじめに

   2007年6月に「Ruby Kaigi」というイベントが日本で開催されました。当日はRubyに関する様々な興味深い発表が行われ大変活況でした。そんな中でも特に大きな注目を浴びていた発表の1つとして「JRuby」があげられます。

   JRubyはJavaとRubyのクロスオーバーを実現する有望な技術です。本連載ではJRubyの入門的な部分について紹介していきます。幅広い方々がJRubyを知るきっかけになれば幸いです。今回はJRubyの概要について解説します。

Web開発の技術動向

   最初にJRubyがクローズアップされてきた背景として、Web開発の技術動向について説明します。


躍進するRuby

   「Ruby」は、まつもとゆきひろ氏が中心となって生み出した、世界中で利用されているオープンソースのプログラミング言語です。ここ数年、Rubyは大きく注目され、取り巻く環境が大きく発展しています。その最大の要因はWebアプリケーション分野に彗星のごとくあらわれたアプリケーションフレームワーク「Ruby on Rails」(以下、RoR)であるといえるでしょう。

   RoRは「Convention over Configuration」「フルスタック」など、従来のメジャーなWebアプリケーションフレームワークには見られなかった割り切りの発想を持ち、驚異的なソースコードの削減を実現しています。最近では著名なWebサービスでの実績や書籍の発売件数などが軒並み増加しており、開発者であればもう無視できないレベルになってきているのではないでしょうか。

   またRoRの登場によってRuby自身が持つ「簡潔な記述」や「ダイナミックな動作」などの優れた特性が広く知られるようになり、Rubyを愛用する開発者が増えてきているように思います。

   しかし、Ruby/RoRは今のところ比較的小規模なインターネットサービスを中心に導入が進んでいる状況です。今後エンタープライズなシステムに市場を拡大していくには、パフォーマンスや安定性などの面で乗り越えなくてはいけない壁があるのかもしれません。


プラットフォーム化するJava

   今現在のWebアプリケーション開発分野において、筆者の身の回りではJava、PHP、.Net、Perlなどの言語がよく使われています。これらの中でJavaはエンタープライズなシステムでのシェアが大きいといわれています。そして、そのような文化で育ったせいか、拡張性を重視するあまりにソースコードが冗長になる傾向があります。

   そこでJava陣営は2003年頃から「Ease of Development(EoD)」という標語を打ち出して、できる限りシンプルなプログラミングを実現することを明言し、その方向性は現在でも持続されています。また最近のJavaは「プラットフォーム」としての側面を強めてきています。

   Java陣営はJavaの現在と今後を図1のように表現しています。つまり「十分に枯れたVM」と「豊富なライブラリ」というプラットフォーム部分については不可換であるものの、Java言語そのものについては可換であるということです。

プラットフォームとしてのJava
図1:プラットフォームとしてのJava

   これは「EoDを実現するためならプログラミング言語にこだわる必要はない」という主張に解釈することができます。実際、Java上では表1にまとめたようなプログラミング言語などを扱うことが可能なのです。

プログラミング言語 概要
Jython Java上で動くPython
Groovy Java標準に取り込まれたスクリプト言語
Java/Tcl Java上で動くTcl

表1:Java上で動作するプログラミング言語の例

1   2  3  次のページ


株式会社アスタリクス 大西 正太
著者プロフィール
株式会社アスタリクス  大西 正太
JavaEEフレームワークの設計構築や開発プロセス策定などの業務を経て、現在は新規ビジネス創生に携わる。Ruby on Rails上に構築したオープンソースのCMS「Rubricks」(http://rubricks.org/)のコミッタ。


INDEX
第1回:JRubyとは?
はじめに
  JRubyが注目される理由
  JRuby周辺プロダクト