最近、「Groovy on Grails」についてよく耳にしますが、それについてもっと知りたいです。
- Groovyとは
- Grailsとは
- Grails上のGroovyを使用して、どのようなアプリケーションが構築されますか?
最近、「Groovy on Grails」についてよく耳にしますが、それについてもっと知りたいです。
回答:
Grails上のGroovyとは何ですか?
この名前では存在しません。今では単にGrailsと呼ばれています。
Groovyとは
もともとは、JVMの動的言語です。ただし、Groovy 2.0以降、静的型付けと動的型付けの両方がサポートされています。
Grailsとは
Grails(以前は「Groovy on Grails」として知られていました)は、Groovyに基づいたプログラミングフレームワークで、Ruby on Railsに触発されています(違いはありますが、類似点もたくさんあります)。RoRと同様に、Grailsは「規約によるコーディング」、開発のベストプラクティスを推進し、生産性を高めることを目的としています。
どのようなアプリケーションが " Groovy on Grails」ますか?
Grailsは、JVMで実行されるWebアプリケーションの構築に使用されます。
上のGroovyの利点は何ですかですか?
配管ではなくビジネスに焦点を当てた高い生産性。(既存のデータモデルでGrailsを使用することはお勧めしません。この背後にある理由は、Grailsがドメインクラスの結果としてデータベースのERモデルが発生するトップダウンアプローチを奨励しているためです。レガシーデータベースを使用している場合、このアプローチをとることはできません。データベースをドメインクラスにマップする必要があります。おそらく命名規則が一致しないため、hbm.xml Hibernate構成ファイルまたはアノテーションを使用する必要があります。IMO、これは簡単な変更ではありませんワークフローは非常に面倒になり、Grailsの利点のほとんどを失うことになります。)
C / C ++、Java / J2EE、.NET / C#などの標準プログラミング言語があるのに、 GrailsでGroovyを使用したいのはなぜですか?
ポイント5のため。
High productivity, focusing on business instead of plumbing.
かもっと説明できますか?なにplumbing
?
Groovyは、Javaプラットフォーム用のオブジェクト指向プログラミング言語です。Python、Ruby、Perl、Smalltalkと同様の機能を持つ動的言語です。Javaプラットフォームのスクリプト言語として使用できます。GroovyにはJavaに似た構文があり、Javaバイトコードとシームレスに連携します。
その他の機能は次のとおりです。
Grailsは、Groovyプログラミング言語を使用するオープンソースのWebアプリケーションフレームワークです。「規約によるコーディング」パラダイムに従い、スタンドアロンの開発環境を提供し、構成の詳細の多くを開発者から隠すことにより、生産性の高いフレームワークになることを目的としています。
Railsと同様に、Grailsは私が "Strongly Grained"と呼んでいるようです。Grailsの方法で行う場合、開発は簡単です(一般的には非常に高速です)。フレームワークは、ほとんどのことを行う好ましい方法を持っている傾向があります。一方、穀物に逆らう必要がある場合は、比較的大まかな時間がかかります。
また、理由からこのブログを参照して、Groovy on Grails(存在しない)を言わないでください。
GrailsはRuby on Railsに直接類似していますが、Groovyで実行されます。何Groovyは?これは、Java仮想マシン(JVM)で実行されるスクリプト言語です。
そのため、すでに持っている、または利用可能なJavaライブラリを利用できます(バイトコードにコンパイルされ、JVMで実行されるため)。さらに、JVMの能力(ガベージコレクション、JITコンパイルによる速度など)およびGroovyの簡潔さ。JavaプログラマーがGroovyを習得するための学習曲線は、かなり小さいはずです(したがって、利用可能な膨大な数のJavaプログラマーを活用しています)。
これは、サーブレットプログラミング、JSP、Java Server Facesなどの標準Javaメカニズムに対してWebアプリを作成する非常に異なる方法です。Grails(Ruby on Railsなど)は、標準の開発メカニズムよりも動的で反復的な開発環境を約束します(それが練習、私はアドバイスすることはできません)