写点什么

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

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

关注

评论

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

DDD实战(1):从需求到代码实现生鲜电商系统

深清秋

DDD 软件架构 生鲜电商系统

java培训:JVM 内存布局

@零度

JVM JAVA开发

福昕鲲鹏加入,龙蜥社区迎来版式文档技术服务新伙伴

OpenAnolis小助手

Linux 开源 社区 福昕

DOM 精通了?请问 Node 和 Element 有何区别?

编程三昧

JavaScript 前端 DOM 2月月更

一文带你了解 Java 的内存区域

宇宙之一粟

Java 内存 2月月更

外屏和宽屏浪费了?HarmonyOS折叠屏设计规范教你用起来

HarmonyOS开发者

HarmonyOS

深入理解持续测试:DevOps 流程中的重要一环

SoFlu-JavaAI开发助手

突然发现,npm里request依赖包已经弃用,怎么办?

华为云开发者联盟

npm HTTP node,js Request request依赖包

“元认知”相关学习总结

panda

思维模型 阅读笔记 元认知

基于CC2530(ZigBee)设计的自动照明系统

DS小龙哥

2月月更 自动照明系统设计

大数据培训:构建Flink SQL流式计算平台

@零度

flink sql 大数据开发

数字孪生的起源,从救宇航员回家开始

Meta 小元

数据可视化 智慧城市 数字孪生 元宇宙

阿里无影云桌面深度测评

乌龟哥哥

无影云电脑 2月月更

怎么说服领导,能让我用DDD架构肝项目?

小傅哥

DDD 小傅哥 技术架构 架构实践

移动应用中的第三方SDK隐私合规检测,早知道

华为云开发者联盟

移动应用 安全 sdk 隐私 隐私合规

学生管理系统的架构设计

Fingal

#架构实战营

Linux系统问题排查

AiDaddy

Linux 负载 系统问题

前端培训:Vue3语法糖详解分享

@零度

Vue 前端开发

敏捷研发项目,我们该如何度量?

阿里云云效

阿里云 项目管理 云原生 度量 敏捷研发

多图|一文详解Nacos参数!

王磊

nacos

vivo 服务端监控架构设计与实践

vivo互联网技术

服务端 系统监控 构架

大画 Spark :: 网络(4)-Endpoint注册使用与网络环境的构建

dclar

大数据 spark 源代码 框架原理

2022年每个开发者必知的云原生趋势 | 社区征文

Geek_rze78a

容器 微服务 云原生 新春征文

15 行代码在 wangEditor v5 使用数学公式

CRMEB

改革开放启示录(14/100)

hackstoic

创新管理

注册中心

邱学喆

Eureka 注册中心 原理图

了解一下ProtoBuf

蜜糖的代码注释

protobuf 2月月更

51WORLD赋能数字孪生流域/工程建设,助力智慧水利创新发展

Meta 小元

可视化 数字孪生 智慧水利 元宇宙

看SparkSQL如何支撑企业级数仓

字节跳动数据平台

hive 字节跳动 Sparksql 数仓

技术盘点:容器技术的演进路线是什么?未来有哪些想象空间?

阿里巴巴云原生

阿里云 容器 云原生

KubeVela v1.2 发布:你要的图形化操作控制台 VelaUX 终于来了!

阿里巴巴云原生

阿里云 开源 云原生 KubeVela

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