Windows 8应用开发实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.6 开发商店应用的类库及限制

用C#开发Windows商店应用时既可以用.NET类库,也可以用Windows Runtime的类库。可以用完整版的Windows Runtime,但不能使用整个.NET类库,而是一个精简版,或者说是一个阉割版,称为.NET for Windows Store Apps。而这两套类库间又有交叉重复的部分,开发者需要额外注意,如果有Windows Runtime支持的情况下,优先选择。

1..NET for Windows Store Apps

.NET for Windows Store Apps简介如表1-8所示。

表1-8

2.Windows Runtime类库

Windows Runtime类库简介如表1-9所示。

3.交叉部分简介

像.NET for Windows Phone、.NET for Silverlight一样,.NET for Windows Store Apps也是整个.NET类库集的一个子集。

表1-9

NET在多个平台间的分布示意图如图1-13所示。

图1-13

可能是因为处于过渡阶段,有很多类与Windows Runtime都重复了,如表1-10所示。

表1-10

4.类库及运行时的限制

有一些因素决定了Windows商店应用对于开发者有一些限制。这些因素包括:.NET for Windows Store apps只是.net框架的一个子集,安全原因,应用的特性原因。

所以再不要像开发ASP.NET或者Windows Form一样去设计或开发商店应用,甚至与商店应用出自一个血统的WPF、Silverlight,也没有那么相同。而模式稍微接近点的是Windows Phone。

.NET for Windows Store Apps不支持:

· 本地数据库,连SQLCE也不支持,更别想着直连SQL Server,考虑SOA;

· ADO.NET,当然也没有DataTable,更没有Entity Framework;

· WCF,不要将商店应用当做一个服务端;

· WF,不要用它来开发微软的工作流;

· Windows Form,不要用它来启动一个桌面程序,这在安全上也不支持。

.NET for Windows Store Apps部分支持:

· WPF的相同控件,或者说用法相同;

· Silverlight的相同控件,或者说用法相同;

· Windows Phone的大部分控件。

.NET for Windows Store Apps可以:

· 作为WCF的客户端远程调用WCF服务;

· 使用Linq;

· 使用异步多线程;

· 发送HTTP请求,使用REST形式的Web API;

· 文件操作,但是系统和用户文件需要用户在UI上确认后才可以继续。

5.与Windows Phone是否互通

Windows 8与Windows Phone 8只是内核相同,但不代表Windows商店应用可以运行在Windows Phone上,Windows Phone的应用目前也不能运行在Winodws 8上,目前这两种应用使用的是不同的商店,并且它们的布局控件也都不相同。

微软会在Winodws 8.1上加速这两个平台的融合,但本书完稿时尚未完成直接的迁移。