BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

ASP.NET的未来:简化开发,HTML 5及性能提升

| 作者 赵劼 关注 5 他的粉丝 发布于 2009年12月10日. 估计阅读时间: 3 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

在上月举办的PDC 09大会中,微软ASP.NET团队的Jonathan Carter和Scott Hunter演示了为ASP.NET 4以后版本设计的一些功能,其主要方向是简化应用程序的开发,支持Web标准,以及提高性能提升。

在简化应用程序开发方面,ASP.NET团队正在考虑以下几个功能:

  • 可用于ASP.NET MVC和WebForms的Action Record模式支持,基于Entity Framework,方便快速建模,快速开发。
  • 更易于使用的Route规则:能结合各种信息(如硬盘上的文件路径)自动判断路由目标及相关参数。
  • 可扩展的,基于常见任务/场景的辅助方法,例如:
    • 图片处理,如缩放,水印等常用操作。
    • OpenID支持,这样开发人员可以轻松将ASP.NET认证与OpenID集成。
    • 后台计划任务,如“每10分钟”或“每天凌晨2点”执行某个任务。
    • Email发送,以及使用Email进行验证的注册流程。
    • 真实的文件上传进度提示,目前实现这个功能需要使用某些危险的技巧,而今后ASP.NET可能会释放更多接口来进行支持。

HTML 5带来了许多新特性,例如新的HTML标记,原生的视频和音频支持,以及拖放操作等等。未来的ASP.NET首先会支持HTML 5中更符合语义的标记。如在ASP.NET 2.0中,<asp:Menu />控件会生成复杂的table标记,在ASP.NET 4中则会变成符合目前语义的ul/il嵌套,而在未来的ASP.NET中,便可能会生成<menu />标记。此外,HTML 5的Web Storage功能允许将数据储存在浏览器上,未来的Microsoft AJAX库中将会提供一个可选的IntermediateDataContext用于替换目前的AdoNetDataContext,后者将数据通过WCF接口存放在服务器端,而前者则将数据保存在本地。

在性能提高方面,ASP.NET团队会在在微软的分布式缓存Velocity发布之后,为ASP.NET提供相应的各类provider。这样ASP.NET便可以将数据缓存,会话状态等各种信息存放在进程外的的分布式缓存中,以此得到更好的性能和健壮性。这些provider实现可以与ASP.NET现有的扩展方式良好集成,对开发人员的使用保持透明。

由于Web应用程序的显示效果越来越丰富,网页前端性能优化的重要性也随之提高。未来的ASP.NET将会内置CSS或JavaScript文件的压缩及合并,并对CSS Sprites等复杂优化方式提供支持。CSS Sprite的优化原理是将页面上大量的小图片合并成一个文件,然后使用CSS定位机制来显示其中的一部分,这么做的好处是大大减少了浏览器与服务器端的通信次数,往往可以使页面加载速度有明显提高。ASP.NET在未来可以根据开发人员的需求,自动将一组图片进行合并,并通过一些接口将单独某幅图片的信息(如位置,尺寸)暴露出来,甚至直接在页面上生成包含特定属性的HTML标签。

你可以在PDC 2009的网站上浏览或下载本次演讲的完整录像及幻灯片等资源。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

这玩意儿有用吗? by wang egmkang

我不知道在我有生之年,还会不会碰ASP.NET.

Re: 这玩意儿有用吗? by 糕点 沉默的

2012年你不死的话,就一定有机会

快速开发,只是个传说 by 朱 敏

快速开发,只是个传说。。。 软件的问题,并不全在开发上面。

Re: 这玩意儿有用吗? by wang yi

你没用,别人有用就行了。 企业内部建立在asp.net上的应用比互联网上多得多

good or bad? by 瑜珩 王

有active record确实可以加快开发速度,目前MVC中虽然有自定义model的自由,但是对于比较简单的应用来说却有点复杂。

不知道功能越来越多到底能为我们带来便利还是负担?MS的东西有越做越大、互相关联的倾向,当大到一定程度后,学习的曲线和掌握的难度都增大了,很容易误用(目前asp.net web form已经是这样了)。

Re: good or bad? by wang egmkang

如果是我的话,我宁愿去学HTML,JS,CSS,至少我可以方便的用任何语言开发.

Re: good or bad? by Jeffrey Zhao

应该说是“可以和任何服务器端技术配合”,呵呵。
也就是说,你学的是纯网页前端技术,但总要会一个服务器端技术才行啊。
它们其实也是ASP.NET程序员要学的。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

7 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT