首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > windows >

Windows Phone 入门教程之学习Windows Phone能做什么

2013-10-22 
Windows Phone 入门教程之学习Windows Phone能做什么?目前Windows Phone已成为第三大智能手机操作系统,学

Windows Phone 入门教程之学习Windows Phone能做什么?

目前Windows Phone已成为第三大智能手机操作系统,学习Windows Phone开发的人也逐渐多了起来,并且随着Windows 8及后继版本的普及,.NET用得也会越来越多。那么学习Windows Phone仅仅只能做Windows Phone平台的开发吗?以下是我个人的一些观点。


一、框架

1.Windows Phone基本应用程序

Windows Phone的普通应用程序最早继承自Silverlight,Silverlight是类似Flash(以及后继的Flex)等用于实现RIA(Rich Internet Application)的一种Web开发技术,但Silverlight for Windows Phone 有很多特性和真正意义上的Silverlight并不一样,如图所示,虽然Silverlight和Silverligth for Windows Phone有很大一部分相交的部分,但Silverlight for Windows Phone并不完全是Silverlight的子集。

Windows Phone 入门教程之学习Windows Phone能做什么

而它们和WPF(Windows Presentation Foundation)的关系则是:而者皆为WPF的子集,几乎所有的内容在WPF都能体现出来,且有相对应的实现方法,如下图所示

Windows Phone 入门教程之学习Windows Phone能做什么

再来看看Windows Phone和Windows 8/8.1(Metro UI或Modern UI)程序的基本对比,它们的控件风格和布局风格都极为相似,可以认为是微软统一手机、平板甚至PC操作系统的基础,关系如下图所示

Windows Phone 入门教程之学习Windows Phone能做什么

为什么这样划分呢,首先,四者在程序设计上全部采用了前台XAML+后台C#的模式,架构极为统一,设计模式相同,且在XAML代码中,很常见的都引用了WPF的命名空间,所以在布局上的XAML必然是从WPF继承来的,而后台的逻辑在C#上就更是相似,多为事件的绑定操作。四者都可以使用MVVM的开发模式,这种自MVP+MVC模式演变而来的开发模式能带来更佳的开发体验和用户体验,是微软目前非常推崇的一种模式。再者,四者也都可以使用Blend进行界面上的设计,方便了界面设计人员。


同时,DirectX 3D的开发使用了C/C++语言,便于从其他的平台(如iOS、Android等)移植游戏。微软在Windows Phone 8发布会上就进行了展示,从iOS移植一款游戏到Windows Phone/Windows 8平台几乎不需要修改代码,就可以实现,而且具有良好的用户体验。目前很多移动游戏公司,如Gameloft、EA等已逐渐做到iOS、Android、Windows Phone、XBOX游戏机、Windows 8同时上线,可见Windows Phone上的游戏开发已经逐渐被开发者所接受,并且开发难度在降低。

所以,如果掌握了Windows Phone平台的游戏开发,尤其是使用DirectX引擎,将对不止所有微软平台的游戏开发受益,甚至可以从事使用OpenGL引擎的平台的游戏开发!


二、编程语言

目前构建在微软平台上的所有应用都有一个特点——越来越多的使用.NET。包括C++ MFC/ALT/STL等非托管语言,都在向C++.NET或者干脆使用.NET来进行开发,有些游戏、专业软件要求安装.NET Framework……Windows Phone当然不能例外,完全基于微软的.NET平台,由于Windows Phone 7是在.NET 4.0的时代推出的,所以Windows Phone应该是在.NET Framework 4.0的平台上构建出来的。

我们都知道.NET编程的核心语言是C#,当然另外一个可以用的就是微软一直在发展的VB.NET,所以C#自然而然成为现在学习.NET的必经之路。而C#又能干什么呢?Windows Form、Windows Presentation Foundation、Silverlight、ASP.NET(Web Form和MVC、Web Service)、Windows Communication Foundation、Windows Azure、Windows 8、Windows Phone、Office插件、XNA游戏……实在太多了!虽然有不同的架构,但是业务逻辑层的编程必须使用C#。

目前,C#甚至可以利用Mono等开源类库,来构建Android、iOS应用程序,或者Linux等类Unix系统上的应用程序,虽然Mono比起.NET Framework还差得比较远,但是从微软对开源社区的贡献和ASP.NET的逐步开源来看,.NET平台和C#语言前景良好。

除了一般应用程序,C++开发游戏可谓是实现跨平台的设计,HTML5+JS+CSS3开发HTML5应用程序加上目前性能强劲的IE10,可以说在以WebKit做为内核的浏览器上基本不用修改代码,便可直接使用,方便了各平台间的相互移植。


三、编程思想

Android和Windows Phone的开发有着很多相似的地方,Windows Phone更微软化,上手也更容易、更人性化,而Android更开源化、自由化。但两者在一定程度上的开发思想非常相似,除了Android使用类似iOS的以应用呈现为主的展示模式,而Windows Phone使用特有的Metro UI(Modern UI)并以消息呈现为主。甚至说Java和C#两种语言都是非常相似的,如果有了Windows Phone的开发经验,想要转行Android非常容易。

平台

Android

Windows Phone

后台语言

Java

C#、VB.NET

布局语言

XML

XAML

游戏开发

OpenGL + C++

DirectX + C++

开放程度

开源

半开源

开发模式

MVC

MVVM



四、总结

Windows Phone的学习内容非常多,想要学精并不容易。我想要的说的是,学习任何一种技术,活学活用才是最重要的,要从一种技术中尽可能多的掌握更多的技术,这样才能事半功倍,在更短的时间内获取更多的知识和技能。以下是学习Windows Phone的从业方向,供参考。

Windows Phone 入门教程之学习Windows Phone能做什么


转载请注明出处:http://blog.csdn.net/yuanguozhengjust

热点排行