写点什么

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

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

关注

评论

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

网络攻防学习笔记 Day52

穿过生命散发芬芳

网络攻防 6月日更

☕【JVM技术探索】深入分析各种锁(锁膨胀)运作流程

洛神灬殇

JVM 锁升级 6月日更 锁分析

墨奇,以“一手之力” 证明你就是你

E科讯

1小时学会不打代码制作一个网页精美简历(1)

1_bit

大前端 低代码 iVX 低代码开发平台

机器数及特点

若尘

计算机组成原理 6月日更

小红书 x StarRocks:实现数据服务平台统一化,简化数据链路,提升高并发极速查询能力

StarRocks

数据库 数据分析 广告系统 小红书 StarRocks

JavaScript 数组操作必须熟练运用的 10 个方法

devpoint

JavaScript array reduce 6月日更

2021年,想要成为年薪百万的Java架构师需要掌握哪些技术?

Java架构师迁哥

唯品会:在 Flink 容器化与平台化上的建设实践

Apache Flink

flink

银行业运维指标体系建设实战

云智慧AIOps社区

智能运维

58集团 x StarRocks:全面升级数据分析能力,满足多场景业务分析需求

StarRocks

数据库 数据分析 OLAP 58同城 StarRocks

Redis入门四:数据持久化

打工人!

redis redis持久化 6月日更

【Linux】使用 systemd 管理 frp 服务

赖猫

Linux 后端

RestTemplate打印日志的正确姿势

编号94530

spring 日志 log RestTemplate

批量把Excel数据自动录入系统

木头

自动录入 批量录入 自动填表

为什么大家都在用WebRTC?

anyRTC开发者

音视频 WebRTC 语音通话 视频通讯

ROS CDK | 云上资源自动化部署新模式

郭旭东

阿里云 ROS 基础设施即代码 IaC

前端 JavaScript 复制粘贴的奥义——Clipboard 对象概述

编程三昧

JavaScript 大前端

多云部署又添新「云」,EMQ X Cloud 正式支持腾讯云部署

EMQ映云科技

阿里云 IoT 华为云 云平台 #腾讯云

云开发是啥?看看它在编程导航项目的实践

程序员鱼皮

Java JavaScript 大前端 后端 云开发

网络为本,博睿数据NPMD用20%的投入实现80%的功能

博睿数据

博睿数据 数据链DNA NPMD

腾讯安全姬生利:《数据安全法》下,云上数据安全最佳实践

腾讯安全云鼎实验室

数据安全 云安全 数据安全法

如何用视频云技术,搞一个爆红的 “反应视频” 项目?

阿里云视频云

阿里云 RTC 英特尔 视频处理 视频制作

工作年限、成长路线、进阶技术。怎样才能成为架构师?

Linux服务器开发

Linux服务器开发 Linux后台开发 软件架构师 服务器架构师 C++架构师

管理者如何避免主观偏见

石云升

职场经验 管理经验 6月日更

网络态势感知是什么?

郑州埃文科技

基于jira的需求交付效率统计

好孩子

Jira

北京多部门联合整治违规应用:过度收集用户信息该重罚

石头IT视角

剪视频一点都不难,多款超实用剪辑软件全方位评测!

懒得勤快

短视频 视频剪辑 视频制作

Flink 和 Iceberg 如何解决数据入湖面临的挑战

Apache Flink

flink

5分钟速读之Rust权威指南(二十七)Rc<T>

wzx

rust

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