第一章Hello Windows Phone 7之Windows Phone 7目标(Programming Windows Phone 7基础篇)

来源:互联网 发布:3gpp 5g网络切片 编辑:程序博客网 时间:2024/05/13 21:52

Hello, Windows Phone 7

经常可以看到,前一个问题的工作方法不能得到你所预期的结果。或许你只需要清理过去的黑烟残留,深呼吸,然后用新的姿态和新的想法去尝试。在高尔夫球场,它称为穆利根,在校园运动,它被称为做全身,并在计算机行业,我们说这是一个重新启动

一个是微软已经重新启动其新的方式来部署移动手机市场。凭借其外观干净,醒目的字体,以及新的组织模式,微软Windows Phone 7不仅代表着与过去Windows Mobile的决裂,而且也有别于目前市场上的其他智能手机。

对于程序员来说,Windows Phone 7是令人振奋的,因为它支持两种流行的和现代的编程平台:SilverlightXNA

Silverlight是面向客户端程序WPF(Windows Presentation Foundation)的一个子集,已经获得了前所未有的影响力,Web程序员用Silverlight开发出精美的用户界面,其结合了传统控件、高品质的文字、矢量图形、多媒体、动画和数据绑定,并在多种平台和浏览器中运行。Windows Phone 7Silverlight延伸到了移动设备。

XNA是微软游戏平台,它支持基于子画面的2D和传统game-loop形式的 3D图形架构。虽然XNA大多数情况下被用来写Xbox 360上的游戏,开发人员也可以用来针对PC本身,以及微软的绚丽的视频播放器Zune HD

Silverlight或者XNA将作为Windows Phone 7唯一应用开发平台,但程序员有一个选择。这也是我们所说的尴尬的财富。

Windows Phone 7的目标

所有的Windows Phone 7程序用.NET托管代码编写。到目前为止,C#是Windows Phone 7唯一支持的编程语言。可免费下载微软的开发Windows Phone 7Visual Studio 2010 试用版,它包含XNA Game Studio 4.0 和模拟器,并被集成到Visual Studio 2010中。你可以用Microsoft Expression Blend开发带视觉效果和动画的Silverlight应用程序。Windows Phone 7SilverlightXNA共享一些库,你可以在Silverlight程序中用调用XNA库,反之亦然。但是你不能创建一个程序结合这两个平台,可能在不久的将来成为可能,但不是现在。在创建一个Visual Studio项目前,你必须决定您的100万美元的想法是一个Silverlight程序还是XNA程序。

通常你会用Silverlight来编写应用程序和工具。这些程序使用扩展应用程序标记语言(XAML)来定义的用户界面控件和面板的布局。代码隐藏文件(译者:代码分离技术)还可以执行一些初始化工作和程序逻辑,但他们通常被限制在处理控件事件上。Silverlight的伟大之处就是给Windows Phone带来了丰富的互联网应用方式,包括多媒体和WebSilverlight for Windows Phone 是在Silverlight 3.0版本上去掉了一些不适合电话的功能,但做了一些改进作为补偿。

XNA主要用于编写高性能的游戏。对于2D游戏,你定义了基于位图的子画面和背景,对于3D游戏,你定义了3D空间模型。游戏的行为包括在屏幕上移动图形对象和查询用户输入,XNA游戏循环会对他们做同步工作。

基于Silverlight的程序和基于XNA的游戏直接的区别在于合适而不是限制。你当然可以用Silverlight编写游戏,也可以用XNA编写传统的应用程序,尽管这样做时候可能具有挑战性。在这本书中,我会尽量向你展示一些例子,用Silverlight开发的游戏和XNA开发的工具。

特别是在当使用少量的图形对象,或者使用矢量图形而不是位图图形,或者以用户时间而不是时钟时间为节奏的游戏,用Silverlight可能是比较理想的方法。一个俄罗斯方块程序在Silverlight上应该工作的相当不错。你可能会发现XNA很难延伸到Silverlight的领域,用XNA实现一个列表框对于某些程序人来说认为是有趣的,但是对于另外一些人来说是一种折磨。

本书的开始几个章节把SilverlightXNA一起来描述,然后把这两个平台分到不同的部分。我猜疑,一些开发者要么坚持Silverlight要么坚持XNA,而不会去熟悉另外一个环境。我希望这不是一个共同的想法。SilverlightXNA是如此的不同,你不必因在他们之前切换而感到困惑。

微软已经把Silverlight定位于云计算前端或者面对云计算,使云服务和Windows Azure(微软所发展的一套云计算操作系统)框架成为Windows Phone 7开发的一个重要组成部分。Windows Phone 是“Cloud-ready”。程序的位置感知,获取地图和其他数据通过BingWindows Live,并可以与社区网站交互。另外一个可用的云服务是Xbox Live, 它允许基于XNA的程序让多用户游戏在线分享,同样的适用于Silverlight

你写的Windows Phone 7将通过Windows Phone Marketplace出售和部署,它提供的注册服务和认证机制,使程序能够达到可靠性、有效性和良好的行为的最低标准。

我感受到Windows Phone 7彻底打破过去了的束缚。如果你比较过去的Windows Mobile版本,你就确切这点了。但是SilverlightXNAC#与过去相比并没有突破,而是平衡其延续性和创新。尽管它们是那样年轻,但是SilverlightXNA已经证明自己是强大和受欢迎的平台。许多熟练的程序员已经使用其中一个框架或者其他少数人(目前会两者比较少),他们表现出了对在线信息和社区财富的积极性。C#已经成为(包括我自己在内)许多程序员喜欢的语言,开发人员SilverlightXNA程序中可以共享C#库,除此之外也可以用其他环境开发的.NET库。

 

水平有限,有不恰之处,请指正。

 

原创粉丝点击