私は始めようとしている趣味のプロジェクトの Web アプリケーション フレームワークを評価しており、選択可能な膨大な数のフレームワークの中から決定しようとして頭がおかしくなり始めています。Java、Python、Ruby、および C# のさまざまなレベルの経験があり、これらの言語のフレームワークは気にしないので、フレームワーク言語はフレームワークを除外するのに役立ちません。
選択肢をいくつかに絞り込んでから、より詳細に調査できるようにするための助けを求めています。
私は始めようとしている趣味のプロジェクトの Web アプリケーション フレームワークを評価しており、選択可能な膨大な数のフレームワークの中から決定しようとして頭がおかしくなり始めています。Java、Python、Ruby、および C# のさまざまなレベルの経験があり、これらの言語のフレームワークは気にしないので、フレームワーク言語はフレームワークを除外するのに役立ちません。
選択肢をいくつかに絞り込んでから、より詳細に調査できるようにするための助けを求めています。
一歩下がって、それぞれの専門知識のレベルに関係なく、コーディングを最も楽しんでいる言語を真剣に検討することをお勧めします。それは間違いなくあなたの選択肢を狭めます。最初に言語を選択せずにフレームワークを選択するのは、ちょっと難しいと思います。たとえば、プロジェクトを ASP.NET MVC で行うことになり、そもそも C#/.NET があまり好きではないことに気付いたとします。
また、フレームワークが必要な理由や、フレームワークが趣味のプロジェクトにどのように役立つかについても自問してください。(趣味のプロジェクトがフレームワークを学ぶためだけのものでない限り。)
私の提案は、1つだけ選ぶことです。
私は Rails を使用していますが、コードとプログラマーとしての私の両方の全体的なシンプルさとパフォーマンスに非常に満足しています。
最近、私は Smalltalk Web フレームワークAida/Webを見始めました。独自の長所と短所がありますが、開発はより迅速です (再起動なし、実行中のコードを編集できます)。Rails よりも RAM の方がはるかに簡単で、95% の時間でデータベースは必要なく、永続化のためにイメージを使用するだけです。
もちろん、通常の容疑者はdjangoとrailsです。それらはどの定義から見ても「小さい」わけではありません。
シンプルで小さく、邪魔にならないwebpyをお勧めします。Aaron Swartz の頭脳の子なので、reddit がしばらくそれを実行したと思います。
rails は良い選択です。シンプルなものはシンプルでありながら、より複雑なものを可能にします (常に良い兆候です)。最初は少し学習曲線がありますが、それはすべてのフレームワークに当てはまります。
Java に満足している場合は、Groovy + Grails を検討することもできます。これは、Java の側面を備えた非常によく似たフレームワークです (groovy は Java と Ruby のクロスのようなものであり、Java クラスと Groovy クラスを混合して一致させることができます。同じプロジェクト)。
http://www.asp.net/mvc/で個人的なプロジェクトを行っています。初めてやったときは、コードをいじって作業中のサイトを平手打ちしました。現在、「コーディングを改善」し、新しい設計原則を学ぶために、それを書き直しています。
私も仕事で codeigniter を使用しました。私はそれが好きですが、それは php であり、言語の選択としてそれについて言及していませんでした。
Java : 春
Spring は、エンタープライズ Java 向けの最も一般的なアプリケーション開発フレームワークです。
趣味のプロジェクトをどうしたいかによってかなり異なります。
Ruby または Python を選択するとよいでしょう。
(私は Java を使用してほとんどの作業を行っていますが、それが趣味のプロジェクトに最適だとは思いません)
それが単なる個人的な趣味である場合は、.Net MVC、Rails、または Zend のいずれかを使用することをお勧めします (優れた Java フレームワークがいくつかあるかもしれませんが、私はそれらに精通していません)。
これは趣味のプロジェクトなので、フレームワークを使って物事を行う方法の例を Web で探したり、すべてをセットアップする方法に関するチュートリアルを探したりするのに多くの時間を費やしたくないでしょう。おそらく、多くのバグに対処したり、壊れたりすることなく、すぐにすぐに多くの優れた機能を使用できるようにしたいと思うでしょう。そうは言っても、.Net MVC や Rails を使用すると、頭を悩ませることなく最大限に楽しむことができると思います。他の多くのオープン ソース フレームワークでは、最初から対処する必要のない多くのフープをジャンプする必要があり、多くの場合、最初の段階を通過するためのドキュメントが必要です。セットアップの問題は見つけにくいです。
ASP.NET / ASP.NET MVC
LAMP スタック上で実行されるものが最も簡単にセットアップできると思います。その場合、 CodeIgniterとZend Frameworkにいくつかの良い選択肢があると思います。それからSymphonyとCakePHPがありますが、私は後者の 2 つの (停滞しているコミュニティおよび/またはトリッキーな構成に関して) さまざまなレビューを聞いています。
残念ながら、私は自分のフレームワークをコーディングするのに忙しいので、4 つのいずれも徹底的にテストする時間がありませんでした。
ここで本当にゾーン外のことを提案させてください: ベアメタル C/C++ または Delphi から ISAPI dll (またはそれが好みであれば Apache の同等物) をビルドします。なんで?これを行う時間があれば、Web アプリケーションの基礎となるアーキテクチャについて非常に多くのことを学ぶことができ、ここで誰もが提案しているすべてのフレームワークについてまったく新しい視点を開くことができます。
私は 2000 年に Delphi でこれを行いましたが、非常に勉強になりました。もちろん、これはすぐに何かを構築する必要はなく、プロジェクトの主な目的は Web 開発について学ぶことであるという考えに基づいています。しかし、それがあなたの目的であれば、より良いアプローチを見つけるのは難しいでしょう.
Ruby の世界では、大きなプレーヤー ( Rails ) がいますが、 Merb、Sinatra、Campingなど、より軽量なプレーヤーもいます。
Smalltalk Web フレームワークであるAIDA/Webを試してみてください。Smalltalk の優雅さは言うまでもなく、そのシンプルさで知られています。
Smalltalk イメージ自体が有能なオブジェクト データベースであるため、MySql のような追加のデータベースは必要ありません。後で必要になったときに、リレーショナルに移行することを決定できます。または、より良い方法として、純粋なオブジェクト指向のままにして、Gemstone/S オブジェクト データベースを選択することもできます。
Squattingは、Ruby のCampingに触発された小さな perl ベースの Web フレームワークです。二人とも小さいです。
Java を使用していて、ohfock-it's-2am-and-I-am-still-coding-this-sql-shite から抜け出すためにどうしても何かが必要な場合は、Grails http://grails.組織。
以下の点を除いて、Ruby on Rails に似ています。
多くの小規模な趣味の Web アプリの開始フレームワークとして、PHP をお勧めします。