Ruby on Rails / Grailsは、サイトをすばやく起動するための最速のフレームワークですか?
https://softwareengineering.stackexchange.com/questions/20116
-
22-10-2019 - |
質問
新しいWebサイトにGrailsを使用することを検討していますが、他の/新しいプログラミング言語やフレームワークには開かれています。 J2EE/JSF2、ASP.NET、およびPHPを使用して開発を行いました。レール上のグレイルやルビーは、機能性を迅速に稼働させるための最良の方法ですか?
いくつかの最初の考え:
- djangoはROR/Grailsに似ていますが、私はそれを考慮します
- GWTは興味深い概念ですが、ターンアラウンドタイムはそれほど速いとは思えません
ありがとう、 - ジョン
解決
この種のすべての質問と同様に、答えは「依存します」です。考慮すべき要因には、言語/フレームワークでどれだけ快適であるか、プロジェクトに必要な機能が含まれます。そうは言っても、私は多くのフレームワークを使用してサイトを構築しました。それぞれが独自の長所と短所を備えています。
聖杯
何かのためにすぐにサイトを上げる必要がある場合 プロフェッショナル, 、グレイルはおそらく私の最初の選択です。 ゴーム 私が試した中で最もシンプルで最も直感的なORMが遠く離れています。MVCパラダイムは非常によく実行されます。コーディングを開始する構成は0あり(URL、DBパッチ、何も心配していません)、非常に迅速な反復(リフレッシュするだけです)ページ)、シームレスなJava統合(ビジネスの世界では良いこと)、およびいくつかの素晴らしいプラグイン(例: 検索可能 美しさです)。最大の欠点は、ホスティングを見つけるのが難しい(そして高価な)ことです。
Ruby on Rails
RORでの私の経験は、Grails:MVCがよく実行された経験と非常によく似ています。ポジティブな面では、より大きなコミュニティがあるため、オンラインリソース(ドキュメント、FAQ、コードサンプルなど)は非常に豊富で、たくさんのプラグインがあり、Rubyはもう少し柔軟/表現力豊かな/「ファンキー」であり、ホスティングを見つけるのははるかに簡単です(特に個人的なプロジェクトの場合)。ネガティブな面では、依存関係管理/セットアップが吸い込まれます(Windows、Ubuntu、Fedora、OSXでRubygemsを使用し、それぞれに非自明の問題に遭遇しました)、 少し Grailよりも構成/オーバーヘッド(特に、routes.RBとDB移行ファイルのトンを扱う)よりも多く、RORにはいくつかの深刻なスケーラビリティの問題があります。
Php (CakePHPフレームワークを含む)
何かをすばやくハッキングしたり、サイトを構築する必要がある場合 個人的 使用すると、おそらくPHPを使用するでしょう。 PHPは、学習と展開が最も簡単な言語です。そこにある便利なランプパッケージをダウンロードし、数回クリックして、ハッキングを開始します。コミュニティはRORのコミュニティよりも大きいため、ドキュメントは豊富で、無数のプラグインがあります(PHPファイルをドロップしてページを更新するだけで簡単に「インストール」されます)。言語は簡単に学ぶことができますが、PHPのいくつかのことはまったく奇妙であり、醜いコードを避けるには多くの規律が必要です。 CakePHPフレームワークは、物事を整然と保つのに役立つ素晴らしいMVCパラダイムを実施します。
ジャワ (サーブレット、JSP、JSTL、ストラット、速度)
Java Servlet Technologiesを使用して多くのサイトを構築しましたが、最近では新しいサイトのためにそれらを選ぶ正当な理由はないと正直に言うことができます。彼らは、(XML地獄)と戦うための急な学習曲線、大量の構成、常に(JREBELを使用しない限り)ものを再配置する必要があるため、ゆっくりと反復、冗長コード、および機能の観点から「景品」はありません。私は一緒に遊んでいます 遊ぶ!フレームワーク と 春のルー 少しでも、どちらも多かれ少なかれ「純粋な」Javaコードを備えた非常にクールなことをしており、さらに検討する価値があります。
他のヒント
CakePhpを使用する場合、...より速い男よりも速くWebアプリをスピンアップできます。とにかく、それは速いです。 Web Rootフォルダーにファイルをドロップし、2つのファイルを構成します(それぞれに変更するために約3行)。コーディングを開始します。
構成よりも慣習を支持するため、最適に構成されていることを確認するには経験が必要ですが、同じレベルの経験で、CakePHPはおそらくあらゆるフレームワークから最も迅速な展開をスポーツすることを保証します。 限目.
とはいえ、元のCakePhpプロジェクトはRailsのPHPクローンでした(もうありません)ので、Railsもすぐに展開できると確信しています。
私は一緒に仕事をしてきました ASP.NET MVC しばらくの間、フレームワークがあり、私はそれがかなり良いフレームワークであることがわかりました。特に.NETに精通している場合は、非常に使いやすいです。フレームワークは2009年のリリース以来急速に成長しています。MVC3プレビューは最近一般に公開されています。 MSはASP.NET MVCフレームワークですべての正しいことを行っていると思います。
私はすべてを使用していませんが、Railsはかなり速いです。乾いた哲学をかなり具体化するので、聖杯もそうだと思います。他の動的な言語フレームワークについては十分に知りません。
優れたコード生成戦略があっても、私のasp.net(webforms)はそれほど効率的ではないようです。
私はダジャンゴとレールに手を出し、私の好みをもっと気に入っているレールを見つけました。そうは言っても、私はRailsよりもはるかに優れたASP.NET MVC 2を好みます。 C#で心が「うまく機能する」という理由だけで、RailsよりもMVC(または単なるWebフォーム)ではるかに速いです。
私には、あなたが知っていることとあなたが楽しんでいることに帰着します。多くの人から、ルビーは楽しいと聞いたことがありますが、私にとってはそうではありません。 C#は楽しいです!ハスケルは楽しいです!言語/フレームワークを楽しんでいない場合、あなたが楽しむ「遅い」フレームワークほど速くなることはありません。