BT

Grailsにまつわる誤解

| 作者: Geoffrey Wiseman フォローする 0 人のフォロワー , 翻訳者 編集部 フォローする 0 人のフォロワー 投稿日 2007年9月9日. 推定読書時間: 4 分 |

GrailsのコミッターであるMarc Palmerは、「Grailsは自分が使うには未成熟だ」といった開発者がGrailに対して抱く一般的な誤解の一部について投稿(source)した。

ライブの商用サイトの増加がこれに対する最良の答えです。極めて昔からあるJava JDKは言うまでもなく、定評あるテクノロジーであるHibernate、Spring、SiteMeshでも構築されています。Groovyは登場から3年以上経過しています。

さらに、「Grailsはインタープリタ型言語(Groovy)を使っている」という誤解に対しては、次のとおり述べている。

Groovyはランタイム時にJava VMバイトコードにコンパイルします。決してインタープリタではない、以上です。何があってもそれが真実です。

最後にGrailsが単にRailsのクローンなのかどうかについては、次のように述べている。

Ruby On Railsはいくつかの素晴らしい発想を導入し、ひとまとめにしました。Grailsは、Groovy、Javaプログラマーが意味を理解できる形で、その一部をGroovy、Javaの世界に適用しながら、Rubyにはない多くの機能・概念を加えています。

Graeme Rocherが、「JRuby on Railsがあるのに誰がGrailsを必要とするのか?」といった自身の誤解・疑問リストを使って補足(source)している。

これは典型的であり、Grailsが何かということについての最大の誤解の1つの基礎となっています。JRuby on Railsは、RailsアプリケーションをGlassFishなどのJava EEコンテナで実行するための優れた方法です。説明は以上です。Grailsは非常に異なった目標を持っています。Groovy言語へのRailsの移植ではないのです。Spring、Hibernate、Quartz、Compass、SiteMeshなど非常に強力で安定した主力コンポーネントをひとまとめにし、「設定に勝る規約」(Convention over Configuration)を取り入れることにより、重複を排除する(DRY)のです。

私たちは一からやり直しているのではなく、Grailsの中核の大部分がJavaであるため、より堅牢かつ高パフォーマンスなのです。実のところGrailsは根本的にSpring MVCアプリケーションであり、Glassfishだけでなく、WebLogic、WebSphere、Oracle ASなど大規模な商用製品などの主要なコンテナーすべてにディプロイ可能です。

では、「なぜGrailsはエンタープライズ向けとしてRailsよりも適しているのか?」という質問に対してはこう答えている。

たくさんの理由があります。最大の理由はSpringとHibernateの2つです。現在の状況では、非常に多数の組織がSpringとHibernateを採用しています。これらの組織には既存のSpringの事情、既存のHibernateのドメインモデルなどがあるのです。

Grailsで作業を始める前、私は同じ状況にありました。Grailsは、これらのフレームワークとできる限りシームレスに統合するよう設計されています。ですから例えばJavaで書かれたHibernateのドメインモデル、そしてマッピングファイルをGrailsのアプリケーションに落とし、ダイナミックファインダーとGROMをすぐにでも使い始めることが可能です。

さらにGrailsのコントローラーは、要求、応答、セッションなど標準のServlet APIを用い、他のサーブレットと並行して置くことが可能です。煎じ詰めると単に覆いの下にSpring MVCアプリケーションがあるだけなのです。一方Railsは、ほぼEJB2の設計意図と同じように(「これを絞り込むまでショックと恐怖に耐えていてください」)設計されています。言い換えると、自分とフレームワークを結び付けるActiveControllerやActiveRecordなどのフレームワークオブジェクトを拡張しているのです。

またRailsでのドメインモデルのようなものもありません。Railsのモデルはデータベースのテーブルです。それはそれで結構なのですが、エンタープライズではデスクトップとウェブの両方において複数のアプリケーションで同じドメインモデルが再使用されるケースが多いのです。これは、JavaではクラスをJARにおいてマッピングファイルとパッケージ化することにより、効果的に実現されます。

Grailsについて他の質問がある場合、またはその使い方について他の誤解がある場合、ここかInfoQのJavaコミュニティでぜひ共有してほしい。

原文はこちらです:http://www.infoq.com/news/2007/07/grails-misconceptions

(この記事は2007年7月11日にリリースされました)

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT