2

ほとんどのWebフレームワークは、従来のアクションベースのMVCモデルを引き続き使用しています。コントローラーはリクエストを受け取り、モデルを呼び出し、レンダリングをテンプレートに委任します。これが、Rails、Grails、Struts、SpringMVC...が行っていることです。

もう1つのカテゴリである、Wicket、Tapestry、JSF、ASP.Net Webフォームなどのコンポーネントベースのフレームワークは、ここ数年で人気が高まっていますが、従来のアクションベースのアプローチの方がはるかに人気があると思います。また、ASP .Net Webフォームでさえ、ASP .NetWebMVCの兄弟名になっています。編集:ウィケットへの関心が高まっているという印象のために、私の認識が間違っていたのかもしれません。Googleトレンドに聞くと、従来のMVCフレームワークはさらに成長しています。

両方のタイプのフレームワークで構築された種類のアプリケーションは非常に重複していると思うので、質問は次のとおりです。アクションベースのフレームワークがそれほど支配的であるのはなぜですか。

4

6 に答える 6

6

Wicket、Tapestry、JSF、ASP.Net Webフォームなどのコンポーネントベースのフレームワークは、ここ数年で人気が高まっています。

[要出典]?

私はこの主張を真剣に疑っています。MVCは.Netブログ/ツイッタースフィアを引き継ぎました。「次のプロジェクトではウェブフォームを使用します」と言っている人を見つけるのは本当に難しいです。


MVCは、Webのステートレスな性質によりよく適合します。コンポーネントフレームワークは、Web開発者が望まなかった抽象化です。

于 2010-06-12T19:04:11.753 に答える
2

なぜもっと人気があるのですか?それらはいくつかの理由です:優れたユーザーエクスペリエンス、速い開発サイクル、最も安いものなどのため

でも時々

最も騒々しい

またはほとんどの誇大宣伝(レール、それは素晴らしいですが;-))

または最も傲慢な(リンゴ)

または最も積極的なマーケティングを行うもの(マイクロソフト)

勝つでしょう。

それは進化と呼ばれています。

ところで:私はThevsと一緒です。コンポーネントベースのフレームワークが最終的な勝者になります(GWT / Vaadinやwicketなど)。

于 2010-06-12T18:53:59.937 に答える
1

アクションベースのフレームワークにより、開発者(およびデザイナー)がページの外観をより細かく制御できるようになるためだと思います。コンポーネントベースのフレームワークは、WebがWebであるという事実を隠そうとします(失敗しましたが、IMHO)。彼らは、WebプログラミングをWinFormsやCocoaのようなネイティブデスクトップウィジェットツールキットのプログラミングのようなものにしようとしています。

しかし、ウェブはそれとは非常に異なります。アクションベースのフレームワークは、これを認識しているため人気があると思います。

編集

どうやら私がこれが何を意味するのか誤解している人もいるようですので、はっきりさせておきます。私は、ユーザーにデスクトップアプリケーションのように機能しているように見えるWebアプリケーションを批判していません。全く問題ありません。

私が話しているのは、基礎となるコーディング方法論と哲学です。タグライブラリシステムの各タグは、CocoaやWinFormsなどのデスクトッププログラミングライブラリのウィジェットに類似した特定の方法でHTMLをレンダリングします。一部のシステムでは、レンダリングされたHTMLをカスタマイズできますが、これを実行するのは簡単ではない場合があります。それはあなたがほとんど制御できないか、制御するために特別な努力をしなければならないCSSクラスなどをレンダリングします。ブラックボックスソリューションのふりをしますが、レンダリングされたHTMLのスタイルを設定したり、JavaScriptでターゲットを設定したりする場合は、その構造などを理解する必要があるため、そうではない可能性があります。

于 2010-06-12T18:28:38.127 に答える
1

慣性。1つのテクノロジーに多額の投資を行うと、より良いものに変更することが次第に難しくなります。そして、それは10倍良くはありません。なぜなら、そうすれば、誰もが(CEOでさえ)変更が必要であると考えているからです。

于 2010-06-12T19:09:57.897 に答える
1

開発者は、アクションベースのWebアプリフレームワークとしてではなく、サービスを公開する簡単な方法としてMVCフレームワークを使用していると思います(これは私の側の純粋な推測です)。つまり、AJAXリクエストにそれらを使用しています。アクションベースのフレームワークの概念は、このコンテキストでのMVCの概念とともに(ある程度)、今後2、3年で静かになくなると予測します。

于 2010-06-15T21:27:35.980 に答える
0

これらのフレームワークがいたるところに表示されているだけだと思います。しかし、ほとんどのプログラマーは、社内(カスタム)またははるかに単純なフレームワークモデル(ExtJSやJQueryなど)を使用して、静かに仕事をしています。

編集:ちなみに、MVCモデルは、以前にレガシーアプリケーション用に提案された、古くておそらく時代遅れのビジネス/プレゼンテーション分離モデルを模倣しようとしていると思います。このモデルの将来は見えません(2〜3年後)。AJAXは、バックエンドでの作業のすべての方法をすでに変更しています。

于 2010-06-12T18:30:08.307 に答える