为什么基于行动的Web框架占主导地位?

时间:2010-06-12 18:25:19

标签: asp.net-mvc model-view-controller struts wicket web-frameworks

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

另一个类别,基于组件的框架,如Wicket,Tapestry,JSF或ASP.Net Web Forms在过去几年中变得越来越流行,但我认为传统的基于动作的方法更受欢迎。甚至ASP .Net Web Forms也已成为ASP .Net Web MVC的兄弟。编辑:也许我的看法是错误的,因为人们对Wicket越来越感兴趣。如果我问Google Trends,传统的MVC框架会有更多的增长。

我认为使用这两种框架构建的应用程序的类型非常重叠,因此问题是:为什么基于行为的框架如此占主导地位?

6 个答案:

答案 0 :(得分:6)

  

基于组件的框架   Wicket,Tapestry,JSF或ASP.Net Web   表格越来越受欢迎   最后几年

[引证需要]?

我严重怀疑这种说法。 MVC接管了.Net博客/推特领域。很难找到有人说“我们将在下一个项目中使用webforms”。


MVC更适合网络的无状态特性。组件框架是开发人员不想要的抽象Web。

答案 1 :(得分:2)

为什么事情更受欢迎?它们有几个原因:因为良好的用户体验,快速的开发周期,最便宜的东西等等。

但有时

最响亮的

或大多数炒作(铁路,虽然很棒;-))

或最傲慢(苹果)

或具有最积极营销的事物(微软)

会赢。

这就是所谓的进化。

顺便说一句:我和Thevs在一起。基于组件的框架将是最终的赢家(如GWT / Vaadin或wicket)。

答案 2 :(得分:1)

我相信这是因为基于行为的框架可以让开发人员(和设计人员)更好地控制页面的外观。基于组件的框架尝试(不成功,恕我直言)隐藏网络是网络的事实。他们尝试使Web编程类似于编写WinForms或Cocoa等本机桌面小部件工具包。

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

修改

显然有些人误解了我的意思,所以让我说清楚。我批评用户看起来像桌面应用程序一样运行的Web应用程序。我有完全没问题

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

答案 3 :(得分:1)

惯性。一旦你在一项技术上投入了大量资金,就会越来越难以改变。而且它并没有好10倍,因为那时所有人(甚至首席执行官)都会看到需要改变。

答案 4 :(得分:1)

我怀疑开发人员使用MVC框架作为公开服务的简单方式,而不是基于动作的Web应用程序框架(这是我的纯粹推测)。即他们正在使用它们进行AJAX请求。我预测基于行动的框架的概念在未来几年内会悄然消失,并且(在某种程度上)MVC的概念在此背景下。

答案 5 :(得分:0)

我认为你只是看到这些框架显示了所有。但大多数程序员使用内部(自定义)或更简单的框架模型(如ExtJS或JQuery)并默默地完成他们的工作。

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