本文共 1336 字,大约阅读时间需要 4 分钟。
翻译自:
.net现在是微软几个平台的核心了,每个平台都有基于.net特定的子集,关于API覆盖面的制作已经融入了很多想法,很多人问到在metro下哪些.net类可用,下面CLR核心框架组的PM将会回答。
开发者预览版和客户预览版已经发布,很多开发人员开发win8的时候问到metro下可用的.NET类,这关系代码到移植到win8 metro的时候要重写多少代码,我们也扪心自问过这个问题。
后面会列出一个可用列表,这里主要讨论一些我们决定其可用的想法和原则,和一些.net类和metro类的关系。
设计目标: 开始做这项工作之前,我们意识到让开发者更容易和技术实现上的两难,metro应用允许开发者通过所有win8设备提供一些强制的终端用户体验,为了达到目的,windows做了很多改变,有一些影响到了我们的设计。最大的变化是 windows runtime是一套新的接口,能被C#,C++,VB,调用,我们组的任务就是让.net开发人员自然而然地同时调用.net类和windows runtime类。windows runtime组从相反的方向做着相同的工作。以下几点是我们的目标: 避免.net类和win runtime类中有重复的功能 明确.net类的重点 让.net开发人员感觉到很方便。 方便移植C#、VB代码
Figure 1: .NET Framework profiles in context
为了给metro设计一个新的类库,从现有的子集中削减并扩展一些类,上图是一个图表用来说明关系的。图中小点的圈是.net的配置,交叉点是共用的,可以认为metro应用也是一个.net类库的子集,并且和其他子集共享一些共通类。基于这个图,我们从完整的.net类库中为windows phone选择一些类,因为wp应用和metro应用很像。
下图是量化的图表
.NET for Metro style apps | Windows Phone 7.1 | .NET Framework 4.5 | |
Namespace | 72 | 95 | 447 |
Type | 1,246 | 1,788 | 14,936 |
Member | 15,674 | 20,291 | 217,166 |
Table: API surface counts, by .NET Profile
关于考虑的流程,可以看这个文章 。
关于移植.net代码 ,
.
转载地址:http://jolgb.baihongyu.com/