【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

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

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

关注

评论

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

Prometheus 2.19.0 新特性

耳东@Erdong

Prometheus

ARTS-week-4

youngitachi

ARTS 打卡计划 arts

架构师训练营 -week3- 作业

晓-Michelle

极客大学架构师训练营

ARTS-03 -- ARTS-04

NIMO

ARTS 打卡计划 ARTS活动

还有比二分查找更快的算法,面向接口编程Protocol,John 易筋 ARTS 打卡 Week 05

John(易筋)

swift ARTS 打卡计划 二分查找 binary search protocol

极客时间架构师训练营 - week3 - 作业 2

jjn0703

极客大学架构师训练营

极客时间 - 架构师培训 -3 期作业

Damon

Redis系列(二): 连集合底层实现原理都不知道,你敢说Redis用的很溜?

z小赵

Java redis 高并发 高并发系统设计

重学 Java 设计模式:实战命令模式「模拟高档餐厅八大菜系,小二点单厨师烹饪场景」

小傅哥

设计模式 小傅哥 重构 代码优化 命令模式

关于JVM,你必须知道的那些玩意儿

ClericYi

week3.课后作业

个人练习生niki👍

单例模式 组合模式

第三周课后作业

iHai

极客大学架构师训练营

关于多线程,你必须知道的那些玩意儿

ClericYi

游戏夜读 | 《FPS关卡设计》

game1night

架构师训练营 - 第三周命题作业

牛牛

极客大学架构师训练营 命题作业

区块链系列教程之:比特币中的网络和区块链

程序那些事

比特币 区块链 网络 p2p

锦囊篇|一文摸懂ButterKnife

ClericYi

我们是如何做go语言系统测试覆盖率收集的?

大卡尔

测试覆盖率 精准测试 Go 语言

故障演练利器之ChaosBlade介绍

心平气和

故障演练 故障注入

架构师训练营 - 学习笔记 - 第三周

心在飞

极客大学架构师训练营

每周学习总结 - 架构师培训 3 期

Damon

week3.学习总结

个人练习生niki👍

springboot整合Quartz实现定时任务(api使用篇)

北漂码农有话说

锦囊篇|一文摸懂EventBus

ClericYi

锦囊篇|一文摸懂LeakCanary

ClericYi

第三周学习总结

iHai

极客大学架构师训练营

学习总结 - 第3周

饶军

再谈云原生:我的看法

lidaobing

云原生 k8s 中间件

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

CATTY

618 我们狂欢的是什么?

Neco.W

拼多多 电商 京东 热门活动

锦囊篇|一文摸懂OkHttp

ClericYi

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