你必须知道的Windows Phone 7开发

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

  托管代码是你唯一的选择

  对于普通的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 应用程序架构


 

  我们会看到,最底层是.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。您会发现有如下工程类型可以选择:

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

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

  至于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,则会得到如下结果:

  这就很清楚了,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

目录
相关文章
|
7月前
|
IDE 关系型数据库 开发工具
使用Visual Basic进行Windows窗体开发
【4月更文挑战第27天】本文介绍了使用Visual Basic进行Windows窗体(WinForms)开发的步骤,从搭建开发环境到创建、设计用户界面,再到编写事件驱动的代码和数据绑定。Visual Basic结合WinForms提供了一种易学易用的桌面应用开发方案。通过调试、优化、部署和维护,开发者可以构建专业应用程序。随着技术发展,掌握最新UI设计和开发工具对于保持竞争力至关重要。本文为初学者提供了基础指导,鼓励进一步探索和学习。
212 0
|
2月前
|
监控 关系型数据库 MySQL
PowerShell 脚本编写 :自动化Windows 开发工作流程
PowerShell 脚本编写 :自动化Windows 开发工作流程
44 0
|
2月前
|
Ubuntu Linux Python
如何利用wsl-Ubuntu里conda用来给Windows的PyCharm开发
如何在WSL(Windows Subsystem for Linux)的Ubuntu环境中使用conda虚拟环境来为Windows上的PyCharm开发设置Python解释器。
98 0
|
3月前
|
存储 安全 程序员
Windows任务管理器开发原理与实现
Windows任务管理器开发原理与实现
|
4月前
|
开发者 C# Windows
WPF与游戏开发:当桌面应用遇见游戏梦想——利用Windows Presentation Foundation打造属于你的2D游戏世界,从环境搭建到代码实践全面解析新兴开发路径
【8月更文挑战第31天】随着游戏开发技术的进步,WPF作为.NET Framework的一部分,凭借其图形渲染能力和灵活的UI设计,成为桌面游戏开发的新选择。本文通过技术综述和示例代码,介绍如何利用WPF进行游戏开发。首先确保安装最新版Visual Studio并创建WPF项目。接着,通过XAML设计游戏界面,并在C#中实现游戏逻辑,如玩家控制和障碍物碰撞检测。示例展示了创建基本2D游戏的过程,包括角色移动和碰撞处理。通过本文,WPF开发者可更好地理解并应用游戏开发技术,创造吸引人的桌面游戏。
193 0
|
4月前
|
开发者 iOS开发 C#
Uno Platform 入门超详细指南:从零开始教你打造兼容 Web、Windows、iOS 和 Android 的跨平台应用,轻松掌握 XAML 与 C# 开发技巧,快速上手示例代码助你迈出第一步
【8月更文挑战第31天】Uno Platform 是一个基于 Microsoft .NET 的开源框架,支持使用 C# 和 XAML 构建跨平台应用,适用于 Web(WebAssembly)、Windows、Linux、macOS、iOS 和 Android。它允许开发者共享几乎全部的业务逻辑和 UI 代码,同时保持原生性能。选择 Uno Platform 可以统一开发体验,减少代码重复,降低开发成本。安装时需先配置好 Visual Studio 或 Visual Studio for Mac,并通过 NuGet 或官网下载工具包。
346 0
|
5月前
|
Linux Apache C++
FFmpeg开发笔记(三十五)Windows环境给FFmpeg集成libsrt
该文介绍了如何在Windows环境下为FFmpeg集成SRT协议支持库libsrt。首先,需要安装Perl和Nasm,然后编译OpenSSL。接着,下载libsrt源码并使用CMake配置,生成VS工程并编译生成srt.dll和srt.lib。最后,将编译出的库文件和头文件按照特定目录结构放置,并更新环境变量,重新配置启用libsrt的FFmpeg并进行编译安装。该过程有助于优化直播推流的性能,减少卡顿问题。
133 2
FFmpeg开发笔记(三十五)Windows环境给FFmpeg集成libsrt
|
6月前
|
网络安全 C++ Windows
【Windows驱动开发】(主机)VS2017+(虚拟机)win10系统------双机调试
【Windows驱动开发】(主机)VS2017+(虚拟机)win10系统------双机调试
|
6月前
|
Windows
【Windows驱动开发】注册表的基本操作(创建、打开、修改、读取、枚举)(附源码)
【Windows驱动开发】注册表的基本操作(创建、打开、修改、读取、枚举)(附源码)
|
6月前
|
编解码 Windows
FFmpeg开发笔记(二十九)Windows环境给FFmpeg集成libxvid
XviD是开源MPEG-4视频编码器,与DivX相似但后者非开源。早期MP4常使用XviD或DivX编码,现已被H.264取代。在Windows上集成FFmpeg的XviD编解码库libxvid,需访问<https://labs.xvid.com/source/>下载源码,解压后在MSYS环境中配置、编译和安装。之后重新配置FFmpeg,启用libxvid并编译安装。详细步骤包括configure命令、make和make install。成功后,通过`ffmpeg -version`检查是否启用libxvid。更多音视频开发技术可参考《FFmpeg开发实战:从零基础到短视频上线》。
121 0
FFmpeg开发笔记(二十九)Windows环境给FFmpeg集成libxvid