深度解析Windows Phone 7 开发

本文涉及的产品
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介:   近两年来,智能手机市场似乎已经成为iPhone、Android争妍斗艳的舞台,Windows Mobile因为老旧的构架,以及那些换汤不换药的更新,越来越多的Windows Mobile用户纷纷转投其他智能手机平台门下,其市场占有率现如今仅存8%的战果,不但被iPhone拉下第三的宝座,就连Android 4%的市场份额也已逐渐逼近Windows Mobile。

  近两年来,智能手机市场似乎已经成为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平台上,一举多得,何乐不为!

目录
相关文章
|
8天前
|
移动开发 Android开发 数据安全/隐私保护
移动应用与系统的技术演进:从开发到操作系统的全景解析随着智能手机和平板电脑的普及,移动应用(App)已成为人们日常生活中不可或缺的一部分。无论是社交、娱乐、购物还是办公,移动应用都扮演着重要的角色。而支撑这些应用运行的,正是功能强大且复杂的移动操作系统。本文将深入探讨移动应用的开发过程及其背后的操作系统机制,揭示这一领域的技术演进。
本文旨在提供关于移动应用与系统技术的全面概述,涵盖移动应用的开发生命周期、主要移动操作系统的特点以及它们之间的竞争关系。我们将探讨如何高效地开发移动应用,并分析iOS和Android两大主流操作系统的技术优势与局限。同时,本文还将讨论跨平台解决方案的兴起及其对移动开发领域的影响。通过这篇技术性文章,读者将获得对移动应用开发及操作系统深层理解的钥匙。
|
10天前
|
存储 安全 程序员
Windows任务管理器开发原理与实现
Windows任务管理器开发原理与实现
|
1月前
|
JavaScript 前端开发 API
探索移动应用的世界:从开发到操作系统的深入解析
【8月更文挑战第31天】本文将带你走进移动应用的世界,从开发到操作系统,深入探讨移动应用的开发过程、移动操作系统的工作原理以及它们之间的交互。我们将通过代码示例,让你更好地理解移动应用的开发和运行机制。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和知识。
|
1月前
|
图形学 iOS开发 Android开发
从Unity开发到移动平台制胜攻略:全面解析iOS与Android应用发布流程,助你轻松掌握跨平台发布技巧,打造爆款手游不是梦——性能优化、广告集成与内购设置全包含
【8月更文挑战第31天】本书详细介绍了如何在Unity中设置项目以适应移动设备,涵盖性能优化、集成广告及内购功能等关键步骤。通过具体示例和代码片段,指导读者完成iOS和Android应用的打包与发布,确保应用顺利上线并获得成功。无论是性能调整还是平台特定的操作,本书均提供了全面的解决方案。
111 0
|
2月前
|
区块链 C# 存储
链动未来:WPF与区块链的创新融合——从智能合约到去中心化应用,全方位解析开发安全可靠DApp的最佳路径
【8月更文挑战第31天】本文以问答形式详细介绍了区块链技术的特点及其在Windows Presentation Foundation(WPF)中的集成方法。通过示例代码展示了如何选择合适的区块链平台、创建智能合约,并在WPF应用中与其交互,实现安全可靠的消息存储和检索功能。希望这能为WPF开发者提供区块链技术应用的参考与灵感。
46 0
|
2月前
|
开发者 C# Windows
WPF与游戏开发:当桌面应用遇见游戏梦想——利用Windows Presentation Foundation打造属于你的2D游戏世界,从环境搭建到代码实践全面解析新兴开发路径
【8月更文挑战第31天】随着游戏开发技术的进步,WPF作为.NET Framework的一部分,凭借其图形渲染能力和灵活的UI设计,成为桌面游戏开发的新选择。本文通过技术综述和示例代码,介绍如何利用WPF进行游戏开发。首先确保安装最新版Visual Studio并创建WPF项目。接着,通过XAML设计游戏界面,并在C#中实现游戏逻辑,如玩家控制和障碍物碰撞检测。示例展示了创建基本2D游戏的过程,包括角色移动和碰撞处理。通过本文,WPF开发者可更好地理解并应用游戏开发技术,创造吸引人的桌面游戏。
99 0
|
2月前
|
存储 开发者 C#
WPF与邮件发送:教你如何在Windows Presentation Foundation应用中无缝集成电子邮件功能——从界面设计到代码实现,全面解析邮件发送的每一个细节密武器!
【8月更文挑战第31天】本文探讨了如何在Windows Presentation Foundation(WPF)应用中集成电子邮件发送功能,详细介绍了从创建WPF项目到设计用户界面的全过程,并通过具体示例代码展示了如何使用`System.Net.Mail`命名空间中的`SmtpClient`和`MailMessage`类来实现邮件发送逻辑。文章还强调了安全性和错误处理的重要性,提供了实用的异常捕获代码片段,旨在帮助WPF开发者更好地掌握邮件发送技术,提升应用程序的功能性与用户体验。
36 0
|
2月前
|
API C# Shell
WPF与Windows Shell完美融合:深入解析文件系统操作技巧——从基本文件管理到高级Shell功能调用,全面掌握WPF中的文件处理艺术
【8月更文挑战第31天】Windows Presentation Foundation (WPF) 是 .NET Framework 的关键组件,用于构建 Windows 桌面应用程序。WPF 提供了丰富的功能来创建美观且功能强大的用户界面。本文通过问题解答的形式,探讨了如何在 WPF 应用中集成 Windows Shell 功能,并通过具体示例代码展示了文件系统的操作方法,包括列出目录下的所有文件、创建和删除文件、移动和复制文件以及打开文件夹或文件等。
46 0
|
2月前
|
数据库 Windows
超详细步骤解析:从零开始,手把手教你使用 Visual Studio 打造你的第一个 Windows Forms 应用程序,菜鸟也能轻松上手的编程入门指南来了!
【8月更文挑战第31天】创建你的第一个Windows Forms (WinForms) 应用程序是一个激动人心的过程,尤其适合编程新手。本指南将带你逐步完成一个简单WinForms 应用的开发。首先,在Visual Studio 中创建一个“Windows Forms App (.NET)”项目,命名为“我的第一个WinForms 应用”。接着,在空白窗体中添加一个按钮和一个标签控件,并设置按钮文本为“点击我”。然后,为按钮添加点击事件处理程序`button1_Click`,实现点击按钮后更新标签文本为“你好,你刚刚点击了按钮!”。
105 0
|
2月前
|
开发者 云计算 数据库
从桌面跃升至云端的华丽转身:深入解析如何运用WinForms与Azure的强大组合,解锁传统应用向现代化分布式系统演变的秘密,实现性能与安全性的双重飞跃——你不可不知的开发新模式
【8月更文挑战第31天】在数字化转型浪潮中,传统桌面应用面临新挑战。本文探讨如何融合Windows Forms(WinForms)与Microsoft Azure,助力应用向云端转型。通过Azure的虚拟机、容器及无服务器计算,可轻松解决性能瓶颈,满足全球用户需求。文中还提供了连接Azure数据库的示例代码,并介绍了集成Azure Storage和Functions的方法。尽管存在安全性、网络延迟及成本等问题,但合理设计架构可有效应对,帮助开发者构建高效可靠的现代应用。
22 0

热门文章

最新文章

推荐镜像

更多
下一篇
无影云桌面