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上加速这两个平台的融合,但本书完稿时尚未完成直接的迁移。