博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于Metro style下可用的.net类库的一些概要说明
阅读量:2507 次
发布时间:2019-05-11

本文共 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应用很像。

 

选择类的过程
  为了达到之前讨论的目的,我们建立了一个严格的挑选流程,我们要确认每一个API符合以下要求:
  1,这个API在Metro中可用吗?答案并非显而易见,比如asp.net的api明显与Metro开发关系不大,但是控制台api可能有用(例如测试的时候)。当有疑虑的时候,我们先自问我们是否需要给出这些api,然后移除一些不会用到的api,例如在metro中用路径操作文件是不支持的,因为文件存取是另一个代理线程调用的。
  2,这个API过时了吗?包括不好用的,或者不符合指导规范的。
  3,这个API和.net类的重复了么?重复的话用的时候就得选择,选择一般都是随便做的,这样就不能很好的分享代码,因为你可能选择了不同的函数。

 

 

下图是量化的图表

 

.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/

你可能感兴趣的文章
CocoaPods安装和使用教程
查看>>
Beginning Auto Layout Tutorial
查看>>
block使用小结、在arc中使用block、如何防止循环引用
查看>>
iPhone开发学习笔记002——Xib设计UITableViewCell然后动态加载
查看>>
iOS开发中遇到的问题整理 (一)
查看>>
Swift code into Object-C 出现 ***-swift have not found this file 的问题
查看>>
为什么你的App介绍写得像一坨翔?
查看>>
RTImageAssets插件--@3x可自动生成@2x图片
查看>>
iOS开发的一些奇巧淫技
查看>>
linux的挂载的问题,重启后就挂载就没有了
查看>>
docker原始镜像启动容器并创建Apache服务器实现反向代理
查看>>
docker容器秒死的解决办法
查看>>
管理网&业务网的一些笔记
查看>>
子网掩码
查看>>
eclipse安装插件的两种方式在线和离线
查看>>
linux下源的相关笔记(suse)
查看>>
linux系统分区文件系统划分札记
查看>>
Linux(SUSE 12)安装Tomcat
查看>>
Linux(SUSE 12)安装jboss4并实现远程访问
查看>>
Neutron在给虚拟机分配网络时,底层是如何实现的?
查看>>