你必须知道的Windows Phone 7开发

你必须知道的Windows Phone 7开发

作者:
Breakstring
分类:
开发技术
发表于2010-03-29
  

托管代码是你唯一的选择

对于普通的ISV和开发者来说,托管代码将是唯一的选择。你将不能使用c++来编写程序,同时,也不能对已有的native dll或者系统函数进行P/Invoke调用。也就是说,不要奢望将你的某些代码封装在native dll里面然后在托管代码里面调用。

两种开发模型可以选择

而编写托管代码将有两种方式,一种是编写Silverlight的应用程序,另外一种方式是编写XNA的程序。

这里的Silverlight 程序不同于常规意义上的Silverlight,虽然它是脱胎自Silverlight 3,但是又去掉了一部分不适用于移动设备的特性,同时又加入了一些Silverlight 4的特性或者是针对移动设备的代码。同时,常规概念中咱们所看到的Silverlight程序都是in browser的;但是对于Windows Phone 7上的Silverlight应用程序来说,它们都是out browser的,也就是说脱离浏览器单独运行的。

对于XNA程序来说,对于绝大部分国内的开发者来说或许是个陌生的东西。它是以前微软推出的用来开发XBox上的游戏以及Zune上的应用程序的一 套开发工具。很遗憾的是,由于XBox和Zune一直没有正式的进入国内,所以国内的开发真关注这方面的内容的甚少。同样,它也是采用托管代码。它的开发 环境是一套基于Visual Studio称之为XNA Game Studio的东西。

Windows Phone 7 应用程序架构

image

我们会看到,最底层是.NET Compact Framework,它是一些核心组件。在此之上则是一些通用服务,例如传感器API,位置API,Windows Live服务,网络服务,多媒体等等。再网上一层则是 Silverlight 或者 XNA 自己特有的一些内容。最上层则是你基于这两种不同架构所编写的应用程序。

开发工具的选择

目前您可以下载 Windows Phone Developer Tools CTP版 。 它里面包含Visual Studio 2010 Express for Windows Phone CTP版,Windows Phone Emulator CTP版,以及Silverlight for Windows Phone CTP版和XNA Game Studio CTP版。在这里需要特意说明的是,Visual Studio 2010 的Express版本支持了Windows Phone 的开发,也就是说它纯粹是免费的了。而不像以前,我们要做Windows Mobile的开发,必须要购买Visual Studio才行。

安装这套开发工具需要您使用Windows 7或者Vista SP2操作系统,需要3G的硬盘空间。对于内存需求的是2G,同时还需要一块支持DirectX 10的显卡。

同时,如果您是一位前端设计人员,想要仔细研究研究Silverlight的话,那么则可以下载Express Blend 4 Beta ,然后再安装上Expression Blend Add-in for Windows Phone 以及Expression Blend SDK for Windows Phone . 您就可以体验在Expression Blend里面设计Windows Phone 7的应用程序了。

工程类型

安装完开发工具之后,打开Visual Studio 2010 Express for Windows Phone。您会发现有如下工程类型可以选择:

image

image

我们会发现在Silverlight应用程序中,除了类库工程之外我们有两种应用程序可以选择。一种是“Windows Phone Application”,另外一种是“Windows Phone List Application”。

第一种工程是一个非常普通的Silverlight应用程序。第二个工程是一个主界面为一个Listbox的应用程序,它给你演示如何在界面中使用 列表。但是,我相信绝大部分人需要等待的是标准的Pivot类型的窗体以及它哪6个Hub中类似于滑动窗体一般的界面。这两种窗体的模板在目前的CTP版 本中尚未出现,希望在正式版中能够看到。

image

至于XNA Game Studio类型的工程则丰富多彩了,不但有Windows Phone Game,还有Windows Game和XBox 360 Game。

系统的本质

我们新建一个普通的Silverlight应用程序,然后在界面上拖拽进入一个Button控件。然后双击Button,在其Click事件中编写如下代码:

MessageBox .Show(System. Environment .Version.ToString(), System. Environment .OSVersion.ToString(), MessageBoxButton .OK);

然后按下F5运行起程序,Visual Studio 将会自动调用起Windows Phone 7的模拟器并将你的程序部署上去运行起来。然后在模拟器中点击那个Button,则会得到如下结果:
image

这就很清楚了,Windows Phone 7其实是基于WinCE 7 的内核。而它上面所运行的托管代码是.NET Compact Framework 3.7

小结

Windows Phone 7是一个全新的平台,对于绝大部分开发人员来说即熟悉又陌生。熟悉的是它延续使用了C#来开发应用,陌生的是它采用Silverlight和XNA作为开 发的选择。但是,不管怎么来说,离Windows Phone 7的正式上市还有很长的事件,足够我们进行学习和研究了。希望在Windows Phone 7正式上市之日我们能看到大量的Windows Phone 7应用程序出现在用户面前。

参考来源:http://blogs.msdn.com/abhinaba/archive/2010/03/13/windows-phone-7-series-programming-model.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值