2025 AI基础设施风向标,不看必后悔!#AI基础设施峰会 了解详情
写点什么

.NET 的过去与现在

  • 2012-11-15
  • 本文字数:1608 字

    阅读完需:约 5 分钟

随着 WinRT 的引入以及 Silverlight 的式微,一些.NET 开发者担心该平台的流行程度,进而微软对其支持是否会走下坡路。C#是.NET 平台的旗舰语言,但 C#的创建者 Anders Hejlsberg 最近公开发布的项目却是 TypeScript。该事件将大批听众带到了 Brandon Bray 的演讲——“.NET 的演进(The Evolution of .NET)”——之前,大家想看一下.NET 将如何发展。

Bray 是.NET 组的程序经理,在演讲开始先概括了.NET 平台的历史:从 2000 年职业开发者大会(Professional Developers Conference)上最初宣布,到发展成今天的样子,今年恰好是交付于 2002 年 2 月的.NET Framework 1.0 的十周年。

Bray 指出,.NET 平台有三个长期的主题:

  1. 扩展对平台与行业趋势的支持
  2. 减少给出解决方案的时间
  3. 通过改进运行时与库来改善性能

在回顾完历史之后,Bray 这样评论 Silverlight:“它为.NET 做了很多非常有益的事情”。他还讲到,Windows Phone 和 Windows 8 从 Silverlight 中学到了很多经验教训。

.NET Framework 4.5 发布三个月以来,下载量已经超过了 400 万,这说明该平台还是继续受到欢迎的。在目前情况下,Bray 注意到用户主要期待如下几个主要特性:

  • 兼容于业务的应用:IT 消费化的发展可以反映出,自带移动设备(手机 / 平板 / 便携式电脑)能够在公司工作和使用是一种发展趋势。
  • 快速与流畅的体验:这不仅是 UI 性能方面的要求,对于用户容易地理解如何使用应用程序而无需外界帮助,也是必要的。
  • 现代化连接的应用程序:设备能够与 Web/ 云、桌面等媒介交换数据。

Bray 提到,从开发者的观点来看,他们希望.NET 能够支持多个平台:Windows Phone、Web 与云、Windows 8。用户和开发者的需求决定了.NET Framework 要提供的服务。

性能改进

那么有哪些可见的性能改进呢?Bray 重点指出了.NET 4.5 的后台垃圾回收、多核 JIT (just-in-time)编译器以及更少的磁盘使用。Bing 团队采用了新的后台垃圾收集器,他们发现平均停顿时间从老的垃圾收集器的 8% 减少到了新的垃圾收集器的 2%。ASP.NET 会自动使用多核 JIT,开发者可以利用 ProfileOptimization 类将该功能添加到自己的应用程序中。

有的开发者在向.NET 4.5 的升级时遇到了 DLL Hell 这种困难,Bray 鼓励大家与微软联系,因为微软也意识到了问题而且正在积极地解决。

Windows Phone 8 上的.NET:云中编译的优点

Bray 指出 Windows Phone 8 有如下改进:

  • CoreCLR 现在是 WP8 上.NET 的基础
  • 关键的.NET 4.5 功能目前 WP8 都能支持
  • 云中编译意味着应用程序加载更快

在使用 WP8 的硬件上,利用云中编译技术,普通的手机应用可以预期 2 倍的性能改进。之前部署的程序集实际上是将手机当作编译器,这些程序集没有针对性能或电池续航时间进行优化。但利用云中编译技术,MDIL(与机器相关的指令语言)用于外包编译。之后将 MDIL 编译器生成的 MDIL 程序集部署到手机上。

未来

在谈到平台的未来时,Bray 有所保留,他并没有就新特性清晰地给出任何声明。然而,他的确一再重申微软非常关心.NET,这是微软所有平台的组成部分。Bray 公开说,“我们(微软)希望.NET 获得成功。”

展望未来,Bray 观察到原来的假设已经发生了变化,.NET 平台也需要随之改变了。未来应该重点关注以下领域:

  • 改进设备体验(Windows Phone、平板等)
  • 一流的云体验
  • 异构开发
  • 同时定位于多个平台

再有,虽然没有发布什么具体信息,但是我们还是能够发现一些有意思的蛛丝马迹。如果真如宣称的那样,从 Silverlight 得到了一些经验教训,那么看来微软的 Singularity 项目找到了与不同项目结合的途径。观察一下 WP8 的 MDIL,今年 8 月 Channel 9 的用户“Felix9”提到,MDIL 之前曾在 Singularity 的 Bartok 编译器中出现过。

查看英文原文 The NET Perspective: Then and Now


感谢崔康对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2012-11-15 10:322453
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 139.8 次阅读, 收获喜欢 35 次。

关注

评论

发布
暂无评论
发现更多内容

关于中台,可能都是正确的废话

FinClip

中台 业务中台

敏捷软件开发宣言及十二原则

BigYoung

敏捷开发

IO系列——用户空间与内核空间

Java联盟

io 零拷贝 用户空间 内核空间 zero copy

英特尔中国研究院宋继强:芯片、系统、软件成为异构计算的三层级

最新动态

主宰操作系统的经典算法

苹果看辽宁体育

后端 操作系统

架构师训练营第八周笔记

Melo

CDN百科第七期 | 关于CDN的原理、术语和应用场景那些事

阿里云Edge Plus

CDN

性能优化

独孤魂

JVM系列之:对象的锁状态和同步

程序那些事

JVM GC 同步

LeetCode001-两数之和-easy

书旅

算法 LeetCode 数据结构与算法

推荐 16 款 IDEA 插件,让你的开发速度飞起来!

Bruce Duan

idea插件

2. 妈呀,Jackson原来是这样写JSON的

YourBatman

Java json Jackson Fastjson

Vue 学习笔记-2

多选参数

vue.js Vue vuejs

Flink Weekly | 每周社区动态更新

Apache Flink

flink

最高法主张加强数字货币产权保护有法可依

CECBC

数字货币 法偿货币 中国人民银行 虚拟财产

OAM 深入解读:如何基于 OAM Runtime 编写一个扩展 Trait?

钱王骞

云原生 k8s OAM

阿里巴巴大规模应用 Flink 的实战经验:常见问题诊断思路

Apache Flink

flink

【区块链+通证经济】从量变到质变区块链发展的下一阶段是什么?

CECBC

数字货币 防篡改 通证

除了技术,加密货币开发者更应关注可使用性

CECBC

加密货币 用户为本 可使用性 容错机制

架构师训练营第八周学习总结

张明森

脑洞:基于Enterprise Continuum证明DDD用于构建汽车的可行性

冯文辉

企业架构 领域驱动设计 DDD 架构演进

四十个鹏城春夏,一场数字繁花

脑极体

LeetCode题解:1. 两数之和,JavaScript,双循环暴力解法,详细注释

Lee Chen

大前端 LeetCode

Vue 学习笔记-3

多选参数

vue.js Vue vuejs

报志愿|想学区块链,要上什么大学?报什么专业?

CECBC

高考 报考志愿 区块链专业 高校学院

腾讯面试题: 百度搜索为什么那么快?

小松漫步

面试

如何识别刷屏文章中的伪科学

Lee Chen

大前端 随笔杂谈

高能预警!Apache Flink Meetup · 上海站返场啦

Apache Flink

flink

Demo 示例:如何原生的在 K8s 上运行 Flink?

Apache Flink

flink

第7周作业

文古

胡继晔:发挥我国优势把依法治网落实到区块链管理中

CECBC

CECBC 胡继晔 依法治网 数字货币监管

.NET的过去与现在_语言 & 开发_Jeff Martin_InfoQ精选文章