2

大多数 Web 框架仍在使用传统的基于动作的 MVC 模型。控制器接收请求,调用模型并将渲染委托给模板。这就是 Rails、Grails、Struts、Spring MVC ......正在做的事情。

另一类,基于组件的框架,如 Wicket、Tapestry、JSF 或 ASP.Net Web 表单在过去几年中变得越来越流行,但我认为传统的基于动作的方法更受欢迎。甚至 ASP .Net Web Forms 也成为了 ASP .Net Web MVC 的同级名称。编辑:也许我的看法是错误的,因为人们对 Wicket 越来越感兴趣。如果我问谷歌趋势,传统的 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 编程类似于编写本地桌面小部件工具包,如 WinForms 或 Cocoa。

但是网络与此非常非常不同。我认为基于动作的框架很受欢迎,因为它们认识到了这一点。

编辑

显然有些人误解了我的意思,所以让我澄清一下。我不是在批评在用户看来功能类似于桌面应用程序的 Web 应用程序。我对此完全没有问题

我说的是底层的编码方法和哲学。标签库系统中的每个标签都以某种方式呈现 HTML,类似于 Cocoa 或 WinForms 等桌面编程库中的小部件。某些系统允许您自定义呈现的 HTML,但这有时并非易事。它将呈现 CSS 类等,您要么几乎无法控制,要么必须特别努力控制。它假装是一个黑盒解决方案,但它不可能,因为如果你想为呈现的 HTML 设置样式或使用 JavaScript 定位它,你必须了解它的结构等等。

于 2010-06-12T18:28:38.127 回答
1

惯性。一旦你在一项技术上投入了大量资金,想要改用更好的技术就会变得越来越困难。而且它不是好 10 倍,因为这样每个人(甚至是 CEO)都会看到需要做出改变。

于 2010-06-12T19:09:57.897 回答
1

我怀疑开发人员将 MVC 框架用作公开服务的一种简单方式,而不是作为基于操作的 Web 应用程序框架(这纯粹是我的猜测)。即他们将它们用于AJAX 请求。我预测基于动作的框架的概念会在接下来的几年内悄然消失,在这种情况下(在某种程度上)MVC 的概念也会消失。

于 2010-06-15T21:27:35.980 回答
0

我认为您只会看到这些框架无处不在。但大多数程序员使用内部(自定义)或更简单的框架模型(如 ExtJS 或 JQuery)并默默地完成他们的工作。

编辑:顺便说一句,我认为 MVC 模型正在尝试模仿旧的并且可能已经过时的业务/表示分离模型,该模型是前段时间为遗留应用程序提出的。我认为这种模式没有未来(从现在起 2-3 年)。AJAX 已经在改变您使用后端的所有方式。

于 2010-06-12T18:30:08.307 回答