深度解析Windows Phone 7 开发

  近两年来,智能手机市场似乎已经成为iPhone、Android争妍斗艳的舞台,Windows Mobile因为老旧的构架,以及那些换汤不换药的更新,越来越多的Windows Mobile用户纷纷转投其他智能手机平台门下,其市场占有率现如今仅存8%的战果,不但被iPhone拉下第三的宝座,就连Android 4%的市场份额也已逐渐逼近Windows Mobile。在这种前有狼后有虎的状况下,微软对其下一代智能手机平台Windows Mobile 7的研发工作却愈发地低调和沉默,就在各家手机硬件厂商和众多Windows Mobile粉丝耐心磨尽前,微软终于在虎年的大年初二(2 月15日)揭开了Windows Phone 7的庐山真面目。

Windows Phone 7 庐山真面目

  从微软在MWC透露的资料和视频来看,我们知晓 Windows Phone 7 系统和以往的Windows Mobile真是做了彻头彻尾的改进。Windows Phone7将从6大核心出发,分别是:People(联系人)、Pictures(图片)、Games(游戏)、Music + Video(影音)、Marketplace(软件商店)与 Office(办公)。操作上也发生了很多的改变,整个手机上只有三个按钮:后退、开始、与搜索,触摸屏与多点触控已经成为Windows Phone 7首选的交互方式。并且首页也已经改用图标界面,可以说微软已经彻底抛弃了以往 Windows Mobile 传统的界面与设计理念。

  作为Windows Mobile的开发人员,我则更加关注Windows Phone 7在开发技术和开发理念上的改变。早在2005年左右微软就已经开始Windows Phone 7的规划和研发,但是Windows Phone 7在开发6年之久依然迟迟未出,除了受到iPhone和Android的影响进行了重新设计外,还受到微软各项技术向Windows Phone 7平台的迁移战略拖累。

  Silverlight、XNA主导Windows Phone 7开发平台

  3月7号微软官方博客已经公布了Mix10会议上14 场和 Windows Phone 7应用和游戏开发相关的Sessions。他们是:

  “Changing our Game”之Windows Phone 7 Series介绍

  开发 Windows Phone 游戏

  开发高性能3D Windows Phone游戏

  富移动网站的设计与开发

  Windows Phone 7 Series应用平台概览

  Windows Phone用户界面及设计语言

  Microsoft Silverlight应用开发介绍

  开发基于Silverlight的Windows Phone应用(第一部分)

  开发基于Silverlight的Windows Phone应用(第二部分)

  Windows Phone应用平台架构

  Windows Phone的XNA游戏开发及调试工具

  Windows Phone应用和游戏的分发和盈利

  Windows Phone的Silverlight性能

  Silverlight 及 Windows Phone 7 应用的单元测试框架

  由此可知Silverlight、XNA将成为Windows Phone 7在应用和游戏方面的主要开发方式。在以往的Windows Mobile应用程序开发上,如何实现一个较好的界面呈现对程序员来说是非常头痛的事情。在微软提供的.Net Compact Framework开发方式上,内置的控件不但实用性较差,而且在控件的呈现效果也非常简陋,微软对此的解释美其名曰是希望开发人员对所缺乏的控件进行自定义扩展。但是自定义控件对于大多数程序员来说是个可望不可即的技术活,而iPhone和Android之所以在界面呈现上远胜于Windows Mobile,就是因为这两个开发平台在创建起始就为程序员提供了大量功能强大、灵活度高且设计精美的内置控件,为此开发人员就可以将精力专注于应用程序的逻辑设计和界面布局上,不用再纠缠于控件的设计和编码上。

  庆幸的是Windows Phone 7的研发人员终于意识到这个问题,为此Silverlight被引入了Windows Phone 7平台。Silverlight对于很多只专注于Windows Mobile的开发人员来说似乎有点陌生,为此笔者这里简单解释下Silverlight相对应传统的Windows Form开发的巨大优势。在Silverlight中主要是使用一种名为XAML的标记语言和布局界面和设置控件,XAML不但在界面界面上极具灵活性,而且相对应传统的编程语言实现界面来说,亦是简便了许多。

  拿一个最简单的例子来说,在.Net Compact Framework中,Button可谓是我们最常用的控件之一,但是Button控件的功能可谓是非常鸡肋,不能为按钮添加图片背景就是一个硬伤,更别提按钮的悬停、按下、释放效果,以及按钮的梯度颜色渐变等功能支持了。因此最简单地设置一个Button按钮,最起码也是需要如下的C#代码支持:


Button myBtn = new Button();
myBtn.Background = Color.Green;
myBtn.Text="Submit";
myBtn.Click += new System.EventHandler(OnClickHandler);

  而对于XAML仅需一行代码可以将上面的代码化繁为简:


<Button Name=“myBtn” Click="OnClickHandler" Background="Green" Content="Submit" />

如果XAML这种化繁为简的本事还不足称道的话,那么你想象过在一个按钮控件中实现动画效果,以及作为容器添加其他控件的能力吗?XAML为构建仅受限于想象力的程序界面提供了强有力的支持。为此在Windows Phone 7的应用程序开发上, XAML的引入将成为必然,Windows Phone 7的应用程序界面效果将和传统的Window Mobile程序那种有棱有角和千遍一律的界面存在明显的区别。

Zune HD版的facebook采用XAML布局的界面效果

  3月7号在 TechEd 中东会议的主旨演讲上,微软演示了一款跨 Windows 7, Windows Phone 7 Series 和 Xbox 360 平台的冒险类游戏:在 Windows Phone 7 上继续 Windows 7 保存的游戏,最终在 Xbox 360 上完成任务,这听起来是不是非常震撼。手机、PC、Xbox之间的通用游戏和通用存档意味着什么,意味着我们可以在地铁或者公交上使用Windows Phone 7随时随地游戏外,而后还可以将Windows Phone 7上的游戏存档通过网络直接上传到游戏体验效果更好的Xbox 360或者PC上“再续前缘”。

跨 Windows 7, Windows Phone 7 Series 和 Xbox 360 平台的冒险类游戏—Platformer

  而实现上面这一切都源于在Windows Phone 7平台上引入的XNA游戏框架。XNA起源于游戏界大名鼎鼎的DirectX,是微软对于C#版DirectX的修正和扩充版本。起初该工具也只是面向业余游戏程序员所设计的游戏开发套件。第一版的XNA只支持Xbox和PC两个平台,在XNA 3.1版中又引入了对Zune的支持。但是XNA迟迟未表态何时支持Windows Mobile平台,以至于众多的游戏开发人员认为微软又一次抛弃了Windows Mobile。现如今微软终于给了我们一个定心丸,XNA将成为Windows Phone 7主要的游戏开发平台。

  XNA同以往的游戏开发套件相比,游戏的开发效率有巨大的提升,成本和时间亦大副缩短,这是XNA最大的优势和卖点。其实XNA和众多的.Net Compact Framework程序员来说可谓是同宗同源,因为XNA本身就是构架于.Net Compact Framework,只不过该版本的.Net Compact Framework为支持Xbox芯片进行相应的移植和优化。因此大多数.Net Compact Framework开发人员可以快速切入XNA的学习和开发,XNA的基础库也和Widows Mobile的.Net Compact Framework基本保持一致,只是额外添加了一些针对游戏开发相关的类库,因此Windows Mobile开发人员在游戏开发上的学习和迁移难度极低,无需又一轮无根基的修炼过程。

  除此之外,使用XNA的好处就是C#的快速开发优势,纵观现在Windows Mobile上的游戏开发方式主要有如下三类:

  1、 Windows Mobile内置的DirectX Mobile、GAPI或GDI。

  2、 Develant Technologies公司的GapiDraw套件

  3、 OpenGL ES

  现如今这些开发方式都已经有了相应的.NET版本封装,于是乎越来越多的Windows Mobile游戏都开始采用C#+.Net Compact Framework以及上述套件进行开发,据笔者所知的就有Flight Commander、Tower Defense等数十款,而且游戏效果亦可与那些使用C++开发的游戏媲美。但是上面三种游戏开发方式各成体系,支持的功能也各有长短,因此选择何种开发套件颇为为难。再者,OpenGL ES和GapiDraw并无官方版的.NET封装,因此第三方的封装不可避免地存在一些缺陷,导致游戏开发时才意识到问题。最后,就是这三种游戏开发方式的接口并不一致,所以我们每次都无法避免地需要重新地学习,开发经验难以最大化地得到复用和积累。

 .Net Compact Framework开发出的游戏效果

 而有.Net Compact Framework 开发经验的程序员在使用XNA开发游戏时虽然也存在一个重新学习过程,但是因为XNA底层封装了游戏开发中常用和较复杂的实现,因此极大地简化了游戏开发的难度。我们可以使用很少的代码就可以实现游戏动画、冲突检测和场景的卷轴滚动等问题。除此之外,我们还开发的游戏无需太大的改动就可以运行在PC、Xbox、Zune和Windows Phone 7平台上,一举多得,何乐不为!

时间: 2024-09-19 11:13:40

深度解析Windows Phone 7 开发的相关文章

深度解析Windows Azure挑战防御对策

我每次与开发人员讨论将应用程序迁移到云时都围绕着两个主要问题. 首先是业务.将应用程序迁移到云可以带来怎样的规模经济? 其次是安全问题."云的安全性如何,尤其是 Windows Azure?Windows Azure 可以提供哪些优势?为保证应用程序的安全,我需要采取哪些措施?" 此外还有个心照不宣的问题:"我如何让用户对云的使用体验就像使用内部部署应用程序一样顺畅?" 作为 ISV,我们希望向授权用户.客户和系统提供随时随地使用任何技术访问所需数据的功能,同时满足

深度解析如何做好页面SEO优化

页面seo优化在站内优化中占了很大一部分.那么如果做好页面优化呢?页面优化具体包括哪些细节部分优化呢?今天天津seo研究中心的tjseoer老师为大家做深度解析. 一.页面优化首先是标题title 标签 1.标题要紧扣文章中心内容,且标题的唯一独特性,目的可以让浏览者一看标题就知道内容是关于什么的,也是对搜索引擎的友好; 2.为标题加H1标签,同时标题出现的位置出现在<head>之后最好,为了搜索引擎最快找到标题. 3.标题字数控制在32字以内,多了在搜索结果里也无法显示.以及关键词出现的位置

Windows Server 2008开发指南

透过Windows Server 2008开发指南看到微软服务器系统家族的进步,Windows Server操作系统的市场占有率在逐年上升,这和微软IIS服务器的进步.安全稳定性提升有着密不可分的联系.今天Vista地带帮助大家解析Windows Server 2008 Developer Story . 一.Win2008最重要的变革要数它的核心服务 IIS Internet信息服务器.与上一代Windows Server2003的IIS6相比,IIS7有着什么样的进步呢? 1.增强的安全性和

《Cocos2D-x权威指南》——2.1 Windows下的开发环境配置

2.1 Windows下的开发环境配置 搭建Windows下的Cocos2D-x开发环境,首先需要安装VS,VS是微软公司推出的集成开发环境,是目前Windows平台上最流行的开发环境.它可以用来创建Windows平台下的Windows应用程序.网络应用以及网络服务等,支持的语言包括C++.Basic.C#等. Cocos2D-x框架支持的VS版本包括VS2008.VS2008 Express以及VS2010.本书选择的开发环境是VS2008. 首先,从微软官方网站下载VS(VS是一款收费软件)

CSS 继承深度解析

本文讲的是CSS 继承深度解析, 我酷爱模块化设计.长期以来我都热衷于将网站分离成组件,而不是页面,并且动态地将那些组件合并到界面上.这种做法灵活,高效并且易维护. 但是我不想我的设计看上去是由一些不相关的东西组成的.我是在创造一个界面,而不是一张超现实主义的照片. 很幸运的是,已经有一项叫做 CSS 的技术,就是特意设计用来解决这个问题的.使用 CSS,我就可以在 HTML 组件之间到处传递样式,从而以最小的代价来保证一致性的设计.这很大程度上要感谢两个 CSS 特性: 继承, 层叠 (CSS

Kafka深度解析

[本文转自于Kafka深度解析] 背景介绍 Kafka简介 Kafka是一种分布式的,基于发布/订阅的消息系统.主要设计目标如下: 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能 高吞吐率.即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的传输 支持Kafka Server间的消息分区,及分布式消费,同时保证每个partition内的消息顺序传输 同时支持离线数据处理和实时数据处理 为什么要用消息系统 解耦 在项目启动之初来预测将来项目

菜鸟学Windows Phone 8开发(2)——了解XAML

原文 http://www.cnblogs.com/duolete/archive/2013/10/12/3364554.html 本系列文章来源MSDN的 面向完全新手的 Windows Phone 8 开发 主要是想通过翻译本系列文章来巩固下基础知识顺带学习下英语和练习下自己的毅力 本文地址:http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners/Part-4-Introductio

Windows CE系统开发,BSP包中的几个常见文件详解

Windows CE系统开发,BSP包中的几个常见文件详解 BSP介绍(Board Support Package)是介于底层硬件和上层软件之间的底层软件开发包,它主要功能为屏蔽硬件,提供操作系统及硬件驱动,具体功能包括: (1)      单板硬件初始化,主要是CPU的初始化,为整个软件系统提供底层硬件支持: (2)      为操作系统提供设备驱动程序和系统中断服务程序: (3)      定制操作系统的功能,为软件系统提供一个实时多任务的运行环境: (4)      初始化操作系统,为操作

026_《Delphi 深度编程及其项目应用开发》

<Delphi 深度编程及其项目应用开发> Delphi 教程 系列书籍 (026) <Delphi 深度编程及其项目应用开发> 网友(邦)整理 EMail: shuaihj@163.com 下载地址: Pdf 作者: 李存斌 汪兵 编著 丛书名: 万水软件项目应用与实例开发丛书 出版社:中国水利水电出版社 ISBN:7508412133 上架时间:2002-10-24 出版日期:2002 年9月 开本:16开 页码:391 版次:1-1 内容简介 本书是在总结作者多年Delphi