在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

.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:322819
用户头像
臧秀涛 略懂技术的运营同学。

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

关注

评论

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

华为云大数据BI,便捷高效的大数据解决方案,助力企业数字化运营

爱科技的水月

设计师高效办公必备神器-呆猫云工作站

爱科技的水月

NFTScan 与 Cobo 达成合作,双方将共同推动 NFT 资管安全市场的发展

NFT Research

区块链 NFT 数据基础设施

全嘉宾阵容官宣 | 2022 云原生峰会即将启动,实战派企业向你发出邀请

阿里巴巴云原生

阿里云 云原生 峰会

css学习

codingyt

CSS 10月月更

“程”风破浪的开发者 | 元宇宙就是“虚晃一枪”?

三掌柜

1024 1024程序员节 元宇宙 “程”风破浪的开发者

Spring Boot「15」统一异常处理

Samson

Java spring 学习笔记 spring-boot 10月月更

华为云CDN为什么成为企业首选?四大优势助力企业腾飞!

秃头也爱科技

【DS】二叉树大总结!

安苒

数据结构 二叉树

华为云数据灾备全场景应用方案,为企业数据安全护航

爱尚科技

Java Stream中map、flatMap 的使用区别

zarmnosaj

10月月更

精细化边缘安全防护:如何防止CDN域名被恶意刷量?

阿里云CloudImagine

CDN 边缘安全

“程”风破浪的开发者|总结巧用CSS实现各种效果的「百计千谋」

叶一一

CSS 学习方法 前端 “程”风破浪的开发者

华为云CDN加速服务,如何让你的网速“飞”起来!

秃头也爱科技

华为云帮助企业做好核心数据灾备,为企业数据安全与稳定发展提供保障

爱尚科技

Spring Boot「16」自定义错误页面

Samson

Java spring 学习笔记 spring-boot 10月月更

微信小程序部署流程

codingyt

10月月更

企业存储难题难以解决?不如试试华为云OBS对象存储服务

爱科技的水月

03 详细架构设计

神奇的叶叔叔

【Java SE】Java程序的运行详解

安苒

Java

2022云原生峰会开启报名 | 一年一度云原生技术风向标就看这里!

阿里巴巴云原生

阿里云 云原生峰会

Wallys/DR7915-wifi6-MT7915-MT7975-2T2R-support-OpenWRT-802.11AX-supporting-MiniPCIe-Module//QCA9882/QCA9880

wallys-wifi6

QCA9882 MT7915

flex容器布局

codingyt

CSS Flex 10月月更

华为云CDN加速,如何为中小企业创新发展效力?

秃头也爱科技

华为云对象存储服务OBS,海量存储安全可靠,让云存储更加简单

爱科技的水月

降低成本,快速搭建企业知识库的方法盘点

Baklib

知识库

聚焦云计算、大数据、人工智能等开源技术,这场开源开发者的盛会不容错过!

OpenAnolis小助手

人工智能 云计算 大数据 COSCon'22 开源盛会

前端监控系列4 | SDK 体积与性能优化实践

字节跳动终端技术

性能优化 前端监控 sdk 体积优化

华为云CDN加速,如何助力企业信息化转型?

秃头也爱科技

JavaScript刷LeetCode拿offer-栈相关题目

js2030code

JavaScript LeetCode

【Java SE】java中变量和表达式计算的相关问题

安苒

Java

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