InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

ASP.NET MVC 4 路线图

作者 Jonathan Allen 译者 晁晓娟 发布于 2011年8月3日

领域
语言 & 开发
主题
ASP.NET MVC ,
Web框架 ,
ASP.NET ,
.NET ,
编程 ,
架构

根据微软的年度节奏, 已经开始着手下一个版本的ASP.NET MVC的规划了。其重点领域包括让开发和部署工作流程更平滑,共享更多Web Forms特性,改善对AJAX的支持,并在手机和平板设备为HTML5提供更好的体验。

警告:在这篇文章中提到的功能仍处于规划阶段,未必会出现在最终版本的MVC 4。

Recipes

在开发速度方面,MVC框架缺乏复杂的用户控件是相当不利的。MVC团队正在想办法提供一种方式,能实现象Web Forms一样快速开发,而不会被缺乏控件的情况所拖累。一个想法是“Recipes”的使用。这用一个例子能够很好的解释:

假设开发人员相要一个客户端排序的复杂网格。在Web Froms模式,开发人员会选择一个合适的网格式用户控件。虽然一些定制是允许的,但在大多数情况下,他们会被迫接受该控件所有的功能无论是否是真正想要的。当使用MVC下的recipe,开发人员将会在一个对话框中选择他们需要的功能。然后recipe会使用必要的类库如jQuery来生成所需的HTML和JavaScript。

使用recipe的另一个例子是实现基于OAuth的认证。通常,这需要改变好几个地方的代码,其中有一些并非显而易见的。在这种情况下,recipe会在正确的位置添加所有必要的代码,这会显著减少导致运行失败或安全脆弱性的错误机会。

创作你自己的recipe应该不会有太大困难。从本质上讲,它仅仅是一个给定的EnvDTE.DTE接口实例的对话框。它会像任何其他Visual Studio插件或宏一样的工作,MVC框架将会处理如在正确的上下文菜单托管recipe这样的工作。

移动开发

移动开发的第一个变化是改善即用样式表,让它们在小屏幕上看起来也很舒服。这对于拥有专业设计人员的商店来说没什么了不起的,他们可以从头开始构建CSS;但小商店往往依赖于它来开始工作。

对于那些想要为他们的移动客户提供更多东西的人,他们可以选择设备特有的视图。开发者不再需要用CSS和JavaScript来隐藏不适合屏幕的内容,而是可以完全删除它们。这可以立即减少占用的带宽,并可能产生更快的渲染。

性能改善

众所周知,采用异步技术可以大大提高单Web服务器的最大并发数量。但同时大家也都知道异步技术要求一系列笨重的回调。

Web Forms vNext一样,MVC将从C#5和VB 11支持async/await 的关键字。在下面的例子中,你可以看到两个异步调用(可能是到一个数据库的调用)是如何嵌入视图模型的构造函数里的。

另一个性能强化是内置的CSS和JavaScript组合包。这对高容量网站来说是一个重要功能,因为需要来回取得大量各种CSS和JavaScript。该功能通过把这些文件合并为一个下载文件,并同时删除注释和空白而提高渲染的时间。

查看英文原文:ASP.NET MVC 4 Roadmap

译者 晁晓娟 从事Web开发管理多年,留过学,呆过外企,尝试过创业,关注项目管理,架构和产品。

看起来不错。 发表人 张 逸 发表于
不明白为什么要和webform拼这个 发表人 王 亮 发表于
Re: 不明白为什么要和webform拼这个 发表人 yuet zero 发表于
Re: 不明白为什么要和webform拼这个 发表人 Zhao Jeffrey 发表于
  1. 返回顶部

    看起来不错。

    发表人 张 逸

    看起来不错,尤其是在性能改善方面,很有吸引力。

  2. 返回顶部

    不明白为什么要和webform拼这个

    发表人 王 亮

    ------------
    在开发速度方面,MVC框架缺乏复杂的用户控件是相当不利的。
    -----------
    不明白为什么要和webform拼这个,有什么意义?我在做asp.net开发的时候基本就没有用过复杂的用户控件。

  3. 返回顶部

    Re: 不明白为什么要和webform拼这个

    发表人 yuet zero

    首先基于mvc方式的开发与webform方式的开发是不同的;然后是在mvc方式下开发木控件可用,在webform方式下开发有控件可用。当然木控件可用,你的开发时间就要变多了。
    另,所谓“复杂的用户控件”就是指由很多html元素组合而成的,比如gridview等多行数据显示控件和各种选择器;是相对于输入框、选择框等控件而言复杂的控件。

  4. 返回顶部

    Re: 不明白为什么要和webform拼这个

    发表人 Zhao Jeffrey

    因为开发速度人人需要……所以需求就是这么循环……