在前两节《你不可不知的Mango》中我们介绍了Mango中新增的Sensor API、多任务处理机制和Live Agents。今天我们看看剩下的一些内容。
4. Framework & Runtime
Sockets 无疑是许多网络应用(尤其是联网类游戏)所迫切需要的一个功能,但是很遗憾在Windows Phone 7的SDK中并没有提供这部分的接口。你要想访问网络资源只能通过HTTP协议来做。对于没有实时性要求的应用还好,对于游戏类来说这点的确有点很让人不爽。还好,在Mango中微软放出了Sockets的接口。Mango中提供的Sockets支持类似于Silverlight 4中的Sockets,除了支持TCP和UDP的点播之外还支持UDP的多播。
是的,刚才我们提到了Silverlight 4 。在Mango中的Silverlight的版本已经升级到了 4。随着Silverlight 4的到来当然也为Mango增加了不少有意思的东西。例如,控件上增加了RichTextBox和Viewbox。当然,RichTextBox是个只读的,不过也方便了不少。例如当你开发一个新浪微博客户端的时候,遇到那种图文混排或者内嵌超链接的情况,就不用自己辛辛苦苦的去处理那些内容的绘制了。通过RichTextBox就可以方便的解决。ViewBox内部只能有一个子元素,而ViewBox决定了这个子元素的拉伸、缩放、对齐等。
除了控件之外,Silverlight 4还为你带来了Webcam和Microphone,现在你终于可以在你的程序中来捕获外界的视频和音频了。
而且,对于图像的渲染,在WP7的时代只是支持16位色。这也就是为什么升级NoDo之后有人发现颜色数变少 的缘故,在Mango时将会正式支持32位色。不过默认的Manifest文件中还是16位色,你需要手工修改为32位。
除了刚才提到的那些特性,Silverlight 4还有很多新的功能,具体的内容您可以参考这里 。
最后则是Silverlight和XNA的整合 。之前我们一直在谈开发Windows Phone 7的应用的时候你可以选择Silverlight框架来做应用程序或者使用XNA来做游戏。对于某些人(嗯,例如我)来说能偷懒则偷懒了,对于游戏一直不感兴趣所以也就没有怎么关注XNA。但是现在不同了,2者可以有机的结合在一起。也就是说你的程序的某些内容可以用Silverlight来做,而某些对于图形图像要求较高的部分可以用XNA来渲染。我们相信有了Silverlight和XNA的整合将会有更多高性能高质量的应用出现。
5. Structured Data
数据部分,微软终于为大家提供了本地数据库的支持。毫无意外的,它采用了SQL CE 作为数据引擎,而且你自己的数据库在自己的应用程序的独立存储空间中。当然,现在这都什么时代了还去用SQL语句来查询数据库多老土啊?在Mango中访问SQL CE的标准做法是LINQ to SQL。同时,原则上这个SQL CE数据库可以用一些桌面工具来建立,但是这个数据库并不能加密。
现在Mango中还提供了联系人和日历信息的数据访问 能力。等等,不要高兴的太早,只读访问!好吧,又失望了不是?当然,要考虑到微软的苦衷。开放和安全始终是对立的两个方面。有了只读的访问,至少类似于火种通讯录之类的应用可以开始动手了。
好了,关于Mango中新增加的特性部分我们就先介绍道这里。当然,当然,远远不止前边我这三篇小文所介绍的内容。你想要了解有关Mango新增加的好玩意儿,最正确的途径当然是MSDN了 !
注意: 本文内容源自 MIX11部分课程内容以及Windows Phone Developer Tools 7.1 (Beta)的文档加上本人的理解,所以可能会有所偏差。同时本文提及的Mango相关知识在Mango的正式版本上市之后或许会有所改变。
延伸阅读: 【MIX11】多图揭秘Mango;
你不可不知的Mango — 开发者篇(1)
你不可不知的Mango — 开发者篇(2)