2009-10-04 5 views
79

今日で私は、「Grailsの上のGroovy」について多くのことを聞くと、私はそれについての詳細を知りたい:"Groovy"と "Grails"とは何ですか?それらを使用して構築されるアプリケーションの種類は何ですか?

  • Groovyのは何ですか?
  • Grailsとは何ですか?
  • GrailsでGroovyを使ってどのようなアプリケーションがビルドされていますか?
+3

はまた、それだけでGrailsのです。 GrailsではGroovyではありません(それは理にかなっていません)。 あなたは幸運です。Marc Palmerはこの質問を見ていません:) – leebutts

+2

私は最初にグーグルですべきだと私は同意しましたが、Stackoverflowからインテリジェントな回答が得られ、常にStackoverflowがプログラミング関連の質問のための最初の選択です。 – Rachel

+23

Grails = Groovy on Rails –

答えて

164
  1. )それは実際に本当だ、私は助言することはできませんか?

    この名前の下にもう存在しません。単にGrailsと呼ばれています。

  2. Groovyとは何ですか?

    元は、JVMの動的言語です。しかし、Groovy 2.0以来、静的型と動的型の両方がサポートされています。

  3. Grailsとは何ですか?

    Grails(以前は「Groovy on Grails」と呼ばれていました)はGroovyをベースにしたRuby on Railsのインスピレーションを受けたプログラミングフレームワークです(違いはありますが、類似点もたくさんあります)。 RoRのように、Grailsは「慣例によるコーディング」、ベストプラクティスの開発を推進しており、高い生産性を目指しています。

  4. Groovy on Grails」を使用して構築されるアプリケーションの種類はありますか?

    Grailsは、JVM上で動作するWebアプリケーションを構築するために使用されます。

  5. の利点は何ですか? Grails?

    高い生産性、配管の代わりにビジネスに焦点を当てます。 (既存のデータモデルでGrailsを使用することはお勧めしませんが、GrailsはDomainクラスの結果としてデータベースERモデルが生成されるトップダウンアプローチを推奨しています。データベースをドメインクラスにマップする必要があります。おそらく命名規則が一致しないため、hbm.xmlのHibernate構成ファイルや注釈を使用する必要があります。IMO、このワークフローでは些細な変更ではありません、それは本当に厄介になることができますし、Grailsの利点のほとんどを失ってしまう。)

  6. 私たちが持っているのに、なぜ1は Grailsの上 のGroovyを使用したいと思いますC/C++、Java/J2EE、.NET/C#のような標準的なプログラミング言語?そのためのポイント5.

+8

+1すばらしい実用的な答え。ほぼ質問を価値のあるものにしています。 –

+1

既存のデータモデルでgrailsを使用することを推奨しない理由をさらに説明できますか? –

+0

@Todd前回のコメントを削除し、それを私の答えに含めました。 –

11

Grailsは、Ruby on Railsに直接似ていますが、Groovyで動作します。 Groovyとはなんですか? Java仮想マシン(JVM)上で動作するスクリプト言語です。

バイトコードにコンパイルされ、JVM上で実行されるため、すでに使用しているJavaライブラリを利用できます。また、JVMの機能(ガベージコレクション、JITコンパイルによる速度等)とGroovyの簡潔さ。 GroovyをピックアップするJavaプログラマーの学習曲線は、かなり小さいと考えられています(利用可能なJavaプログラマーの膨大な数を利用しています)。

サーブレットプログラミング、JSP、Java Server Facesなどの標準的なJavaメカニズムにWebアプリケーションを作成する方法は非常に異なります。Grails(Ruby on Railsなど)は、標準的な開発メカニズムGrailsの上でGroovyのは何

+0

あなたの声明は矛盾していますが、それはスクリプト言語ですが、次の段落ではバイトコードにコンパイルされています。私は.NETプログラマです.JavaScriptなどのスクリプト言語はコンパイルされず、ただ解釈されます。これらの矛盾した文の意味を説明してください。 – Learner

+0

Groovyは両方の方法で使用できます。 Groovyプログラムは、javascriptのような行単位で単純なスクリプトとして実行できます。 Groovyコンパイラを使用して、JVMを使用して実行できるバイトコードクラスを使用してコンパイルすることもできます。 – pRmdk

21

Groovyのは、Javaプラットフォームのためのオブジェクト指向のプログラミング言語です。 Python、Ruby、Perl、Smalltalkに似た機能を持つ動的言語です。 Javaプラットフォームのスクリプト言語として使用できます。 GroovyはJavaのような構文を持ち、Javaのバイトコードとシームレスに動作します。

その他の機能が含まれます:ウェブの

  • ドメイン固有言語のための容易な学習曲線
  • サポート
  • コンパクト構文ダイナミック用
  • サポート
  • 強力な処理プリミティブを入力して使いやすさをアプリケーション開発
  • ユニットテストのサポート。

Grailsは、Groovyプログラミング言語を使用するオープンソースのWebアプリケーションフレームワークです。これは、スタンドアロンの開発環境を提供し、開発者からの構成の詳細の多くを隠すことで、「慣習によるコーディング」パラダイムに従うことによって、高生産性のフレームワークになることを意図しています。

Railsのように、Grailsは私が「Strongly Grained」と呼んでいるようです。 Grailsのやり方をすれば、開発は簡単です(一般的にはかなり速い)。フレームワークは、ほとんどのことを行うための好ましい方法を持つ傾向があります。一方、もしあなたが穀物に逆らって行かなければならないのであれば、あなたはそれに匹敵するほど荒い時間を取るでしょう。

そしてGrails(存在しない)上のGroovyを言わないでください。理由は、thisブログを参照してください。

0

Grailsは、コンベンションオーバーコンフィグレーションのパラダイム、賢明なデフォルト、意見のついたAPIのおかげで開発者の生産性を倍増させることを目的とした、Javaプラットフォーム用の強力なWebフレームワークです。統合されたORM、ドメイン固有の言語、ランタイムとコンパイル時のメタプログラミング、非同期プログラミングなどの強力な機能を提供しながら、JVMとスムーズに統合され、すぐに生産性が向上します。

  1. フラット学習曲線
  2. 強力な機能
  3. スムーズなJavaの統合
  4. ドメイン固有言語
  5. プラグイン
  6. IDEのサポート
関連する問題