关于Metro style下可用的.net类库的一些概要说明
来源:互联网 发布:第一个人工智能机器人 编辑:程序博客网 时间:2024/06/06 01:16
翻译自:http://blogs.msdn.com/b/dotnet/archive/2012/04/17/net-for-metro-style-apps.aspx
.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
关于考虑的流程,可以看这个文章 A .NET developer's view of Windows 8 app development 。
关于移植.net代码 Bringing existing managed code into Metro style apps,
.NET for Metro style apps overview
converting your existing .NET Framework code.
- 关于Metro style下可用的.net类库的一些概要说明
- Metro Style App :动画概要
- ux 设计的问题,metro style和Ios style
- 关于theme 和style的一些总结
- 关于Asp.net负载均衡的一些说明介绍
- 关于Asp.net负载均衡的一些说明介绍 收藏
- 关于Asp.net负载均衡的一些说明介绍
- 关于Asp.net负载均衡的一些说明介绍
- 一些算法的概要
- 关于smarty3的一些说明
- 关于smarty3的一些说明
- 关于WirelessKey的一些说明
- 关于Mplayer的一些说明
- 关于宏的一些说明
- 关于adaboost的一些说明
- 关于就业的一些说明
- 关于adaboost的一些说明
- 关于ARC的一些说明
- 使用C#开发Metro 风格应用的路线图 -- metro应用生命周期的处理
- 使用C#开发Metro 风格应用的路线图 -- 触屏操作
- 关于mvvm模式中消息传递的疑问
- Debian 6配置GNOME桌面环境
- windows 8 metro 开发学习资源链接
- 关于Metro style下可用的.net类库的一些概要说明
- windows 8 metro 关于定位
- windows 8 开发 tips
- windows 8 开发 集成Bing搜索service
- windows 8 开发 Application Data
- windows 8 开发:提高App性能 概述
- 路径解释:绝对、相对、UNC 和 URL
- Windows Phone的异步模型
- Windows Phone 的数据存储方式总结