我来自
JavaEE背景,我正在调查
Java和.Net中存在哪些Web框架.就Java而言,我在
Matt Raible发现了
talk.
他在框架中进行的一种分类是,其中一些是基于行为的,其中一些是基于组件的.前者是无状态的,专注于每个请求执行的操作和报告的生成,而后者是有状态的,并保留其Web界面组件的服务器端表示.
正如所料,基于组件的Web框架通常带有自己的组件或第三方组件库(除了它们自己的组件,JSF还有Richfaces,Icefaces,……而GWT有ExtGWT,SmartGWT ……).为了提供基于操作的框架的丰富接口,开发人员必须使用JS组件库或Flex等.
由于每个类别的优缺点对我来说都很有意义,我想知道这种分类是否也适用于.Net框架.据我所知,ASP.Net MVC和ASP.Net Webforms都是无状态的,但Webforms有一个名为Viewstate的机制,可以配置为从隐藏字段,Session等保存和检索状态.但是,我可以找到没有组件的服务器端表示.
那么,ASP.Net MVC和ASP.Net Webforms是基于组件还是基于动作的?
解决方法
根据你的描述,听起来像Webforms将基于组件,而MVC将基于行动.
Webforms试图通过提供一种跨越动作来持久化状态并使用规范的编程模型来弥合桌面编程和Web编程之间的差距.
而MVC更像是一个面向Web开发人员而不是桌面程序员的框架,而您将专注于操作和REST动词以及直接使用JavaScript.
希望这可以帮助!