新しいWebサイトにGrailsを使用することを検討していますが、他の/新しいプログラミング言語とフレームワークを利用できます。J2EE / JSF2、ASP.NET、PHPを使用して開発を行いました。GrailsまたはRuby on Railsは、機能を迅速に稼働させるための最良の方法ですか?
いくつかの最初の考え:
- DJangoはRoR / Grailsに似ており、私はそれを検討します
- GWTは興味深い概念ですが、ターンアラウンドタイムがそれほど速くないようです。
ありがとう、ジョン
新しいWebサイトにGrailsを使用することを検討していますが、他の/新しいプログラミング言語とフレームワークを利用できます。J2EE / JSF2、ASP.NET、PHPを使用して開発を行いました。GrailsまたはRuby on Railsは、機能を迅速に稼働させるための最良の方法ですか?
いくつかの最初の考え:
ありがとう、ジョン
回答:
この種のすべての質問と同様に、答えは「依存する」です。考慮すべき要素には、言語/フレームワークにどの程度慣れているか、プロジェクトに必要な機能が含まれます。そうは言っても、私はいくつかのフレームワークを使用してサイトを構築しました。それぞれに独自の長所と短所があります。
Grails
プロフェッショナル向けのサイトをすばやく立ち上げる必要がある場合、Grailsがおそらく私の最初の選択肢になります。GORMは、私が試した最も単純で直感的なORMであり、MVCパラダイムは非常によく実行され、コーディングを開始するための設定はありません(URL、DBパッチなどについて心配する必要はありません)、非常に高速な反復(更新のみ)ページ)、シームレスなJava統合(ビジネスの世界では良いこと)、いくつかの素晴らしいプラグイン(たとえば、検索可能は美しさです)。最大の欠点は、ホスティングを見つけるのが難しくなる(そして高価になる)ことです。
Ruby on Rails
私のRoRでの経験はGrailsでの経験とよく似ています。良い面は、コミュニティが大きいため、オンラインリソース(ドキュメント、FAQ、コードサンプルなど)が非常に豊富であり、多数のプラグインがあり、Rubyはやや柔軟で表現力があり、「ファンキー」であり、ホスティングを見つけるのがはるかに簡単です(特に個人プロジェクトの場合)。否定的な面では、依存関係の管理/設定が悪い(私はWindows、Ubuntu、Fedora、OSXでRubyGemsを使用していて、それぞれで重要な問題に遭遇しました)、Grailsよりも構成/オーバーヘッドがわずかに多い(特に、 routes.rbや大量のdb移行ファイルを処理する場合)、そして明らかに、RoRにはいくつかの深刻なスケーラビリティの問題があります。
PHP(CakePHPフレームワークを含む)
何かをすばやくハックしたり、個人的な使用のためにサイトを構築したりする必要がある場合は、おそらくPHPを使用します。PHPは、学習とデプロイが最も簡単な言語です。便利なLAMPパッケージをダウンロードし、数回クリックして、ハッキングを始めましょう。コミュニティはRoRのコミュニティよりも大きいため、ドキュメントは豊富で、無数のプラグインがあります(phpファイルをドロップしてページを更新するだけで簡単に「インストール」)。言語は簡単に習得できますが、PHPのいくつかのことは実に奇妙であり、醜いコードを回避するには多くの規律が必要です。CakePHPフレームワークは、適切なMVCパラダイムを適用して、物事を整然と保つのに役立ちます。私は個人的には少し直感的ではないと感じましたが、大部分はRoRと同等です。
Java(サーブレット、JSP、JSTL、Struts、Velocity)
私はJavaサーブレットテクノロジーを使用して多くのサイトを構築してきましたが、正直に言って、最近の新しいサイトでそれらを選ぶ理由はありません。学習曲線が急であり、(XML hell)と戦うための大量の設定、常に再デプロイする必要があるため反復が遅い(JRebelを使用しない限り)、冗長なコード、機能面での「無料」はありません。Playをいじってみました!フレームワークとSpring Rooは少しだけですが、どちらも多かれ少なかれ「純粋な」Javaコードを使用して非常に優れた処理を行っているため、さらに検討する価値があります。
CakePHPを使用すると、Webアプリを...より高速に起動できます。とにかく、それは速いです。Webルートフォルダーにファイルをドロップし、2つのファイルを構成します(それぞれを変更するには約3行)。そしてコーディングを開始します。
構成よりも慣習を優先するため、最適に構成されていることを確認するにはある程度の経験が必要ですが、同じレベルの経験があれば、CakePHPはあらゆるフレームワーク、おそらくperiodから最も迅速な配備を保証します。
とは言っても、元のCakePHPプロジェクトはRailsのPHPクローンだったので(もうありません)、Railsも迅速にデプロイできると思います。
私はしばらくの間ASP.NET MVCフレームワークを使用してきましたが、これは非常に優れたフレームワークであることがわかりました。特に.NETに精通している場合は、非常に使いやすいです。フレームワークは2009年のリリース以来急速に成長しており、MVC 3プレビューは最近一般にリリースされました。MSはASP.NET MVCフレームワークですべての正しいことをしていると思います。
私はDjangoとRailsを試してみましたが、Railsはもっと好きなものを見つけました。そうは言っても、私はRailsよりもASP.Net MVC 2のほうがはるかに優れています。私の心はC#で「よりよく機能する」という理由だけで、MVC(またはWebフォームのみ)の方がRailsよりもはるかに高速です。
私にとってそれはあなたが知っていることとあなたが楽しむものに帰着します。Rubyは楽しいと多くの人から聞いたことがありますが、私はそうではありません。C#は楽しいです!Haskellは楽しいです!言語/フレームワークを楽しんでいない場合、あなたが楽しむ「遅い」フレームワークほど速くはありません。