web-dev-qa-db-ja.com

Groovy / Grails :: Ruby / Rails :: 2011 State of the Framework

はい、同様のスレッドがいくつか存在しますが、現在は2011年であり、多くの点が変更されています。

Grails 1.3.6は、私が最初にフレームワークを学ぼうとしたときのv1.3に比べて大幅に改善されています(コンパイル時間の低下や他のうめき声を引き起こすイベントをあきらめました)。

2か月間を最新のリリースで過ごしたので、私は感心しました。アプリのプロトタイプ作成は非常に簡単です(GORMは素晴らしいです!)。開発モードでは、ドメインクラスへの変更を除いて、再起動する必要はありません。 Groovy.langは素晴らしいです(心に留めておくと、これはPHPでの私の日常生活と比較されます)。

さて、裏側にはRuby/Railsがあります。これは、Ruby docsを調べてActive Recordを探索する(GORMと比較する)こと)の経験がほとんどありません。PHP/ Jqueryから来て、groovy構文ケーキです、Rubyアクセス可能ですがそれほど多くありません.

Ruby/Railsは大流行していますが、Groovy/Grailsはそれ自体でスピードを上げているようです。

両方の陣営が何を言わなければならないか(炎を誘発するlang戦争への歓迎)re:両方のlangs /フレームワークの賛否両論を今2011年に聞きたいのです。フレームワークを選択するとき、あなたが何に入るのかを知ることが重要ですので、それで、初心者は利益をもたらし、専門家はベントすることができます;-)

43
virtualeyes

RailsとGrailsはどちらも、現在のリリースでは優れたフレームワークです。あなたは本当にどちらかで失敗することはできません。ここで私がそれらについて興味深いと思うものをいくつか示します。

Rails

  • Rails(Ruby)は、Grails(Groovy)ほどスケーリングされません。アプリケーションを実行するには、さらに馬力が必要になります。これは、EngineYardなどのPaaSオプション(および将来的にはAWS BeanStalk Railsオプション)を使用する場合は、それほど大きな問題ではありませんが、Railsを実行するには少しコストがかかる可能性があります_アプリ対Grailsアプリ(当然、JRubyもオプションです)。
  • 現在、RailsはNoSQLの代替案で少し優れていますが、Grailsはすぐに追いついています
  • Railsには他にも多くのプラグインがありますが、メンテナンスされていないプラグインを使用すると問題が発生する可能性があります(現在、多くのプラグインはRails 3でもまだ機能しません)。
  • Railsはより成熟しており、より長い間使用されているため、現時点ではより多くの機能を備えています
  • Rails RESTのサポートはすばらしい
  • Grailsよりも多くの「大きな」Rails Webサイトがあります
  • RubyはGroovyよりもはるかに人気があります- [〜#〜] tiobe [〜#〜]
  • Oracleへの依存はありません。 (Grailsには明らかにJVMが必要です)

Grails

  • Grailsは、JRubyよりも優れたJVMとの統合
  • Grails GORMはActiveRecord(IMHO)より優れていますが、Rails 3は他の永続化オプションに少し扉を開きましたが、すべての本、チュートリアルなどはすべてActiveRecordを使用しています
  • Grails View taglibsは<=%...%>よりも優れています
  • Grailsプラグインは十分に文書化されており、SpringSourceでサポートされているかどうかを明確に述べています
  • SpringSourceはGrailsに多額の投資をしています
  • Grailsの企業での仕事はRailsよりもはるかに多くなるでしょうが、より多くのスタートアップがRailsを使用しています(どこで働きたいですか?)

私の視点

  • 数年前にRailsを使用しましたが、現在Grailsプロジェクトに取り組んでいます
  • どちらもDjango(Python)またはZend Framework(PHP)より優れています
  • 次にリフト(スカラ)を学ぶ予定です

私の推薦

  • Java開発を一度も行っておらず、中小規模のWebサイトのサイドプロジェクトに取り組んでいる場合は、Railsを使用してください。
  • Javaを使用する大企業で働いている場合は、Grailsを投資対象の「次のJavaフレームワーク」として経営陣に売り込んでみてください。
  • 「次のTwitterまたはfoursquare」に取り組んでいる場合は、この質問に自分で答えられるほど賢いです。 :)
56
Bobby Warner

はじめてRailsでプロジェクトを始めました。本当に驚きました:

  • 「リポジトリ」を「サービス」から分離するにはどうすればよいですか?なんてこった:私はコントローラーにビジネスロジックを配置する必要があります... Ruby on Rails:実際に大きなプロジェクトを想像することはできません:37シグナルに誰かがビジネスとビジネスの分離の基本を覚えていますか?ドメイン/リポジトリ。Rails folder/classes構造はこれを考慮しません。

  • 2番目の靴下:「アクティブレコード」。実際の複雑なオブジェクト指向のビジネスレイヤーを設計し、Rails Models(Active Record)...)を使用してマッピングしてみてください...本当に:しないでください。

  • 6か月後、プロジェクトが実行されています。R&Rは、クアッドコアサーバーでApache + passangerを使用して80%のCPU(およびメモリ...)を消費しています...そして、Postgresqlデータベースは休日(CPUの3-4%)にあります。 ..ああ、私の神

    スタンドアロンマシン(2001年1 CPUコアサーバー)にインストールされた実際の複雑なデータベースと複雑なビジネスで、実際のバックオフィスコンテキストで300人の同時ユーザーにページを提供できる私の古いASP/VB6アプリケーション。

もちろん、規則とRuby構文は素敵です...そして誰もコンパイラーを必要としません(まあ...このテストではユニットテストが90%の時間使用されています...解決のためだけに)コードを変更するたびに表示されなくなったタイピング...「神をプログラミングして、私の指の間違いに注意してください」)

Grailsの最初の衝動:

  • Railsにインスピレーションを得た "クールな"スタックは、Springフレームワーク(IoC、Hibernateなど)に基づく専門的な力を備えています)

はい!!!

  • ドメインとサービスは明確に分離されています。いいね!!!
  • 最終的には、Javaを忘れることができます。
9
ddcovery

Railsはかなり成熟しており、それに適合する巨大なエコシステムを持っています。私はGrailsに詳しくないか、オンラインでサポートしていますが、投稿に表示されている赤い旗は、GrailsがRailsに追いついていることを認めていることです。

Rubyは絶対に使用できる喜びです(これは古いC++のハックに由来します...なぜ、私が16進キーパッドと若いWhippersnapperだけでプログラミングしていた時代に戻ったのか...今すぐ私の芝居を降りてください!)。

Ruby)については時々フォローしづらいものがあります(method_missing私はあなたを見ている)が、それはどの言語についても言えることだと確信しています。

私? Ruby and Railsを使用します。

5
Jeff Paquette

まあ、Grailsについては、追いついても、Railsにはない簡単な方法で、

  • スケールアップする
  • 成熟したトンJavaすぐに使えるライブラリ(とりわけ、個人的にはジオツール)
3
fixitagain

Ruby on Railsは傑出しています-ウェブ開発者のピンクフロイドのようです。

Groovy on Grailsはまともなコピーです。オーストラリアのピンクフロイドショーのようなものです...

ところで-私たちは両方の仕事をしています-そして私は多くのGrails開発者が最終的にRailsを学び、それに固執するのを見ました。

私もRails開発者がGrailsを学ぶのを見ましたが、誰もそれを好みませんでした。

約半分の時間、私たちのJava開発者はGrailsを学び、単純にRubyから離れます。

IMHO-両方をかなりよく知っている場合、ほとんど常にRubyおよびRailsを好みます。

2
Robert Cober

IDEについても考慮する必要があります。私がRailsを使い始めたとき、それは非常に苦痛でした。 Rubymineは非常に遅く、クラッシュしました。私が知っている誰もがテキストメイトを使用していました。 GrailsにはSTS(Eclipseベース)があり、必要なすべての機能を提供します。

1
ibaralf