Window Phone 平台開發技術簡介


    就目前來講,自傳統互聯網技術普及之后,移動互聯網也發展迅猛,如今各種軟件大多直接或間接依賴於互聯網。這些軟件本質上依然是服務器-客戶端結構的。服務端部署於服務器上、客戶端部署在用戶終端上。無論是P2P、B/S、C/S還是其它混合型的結構,本質依然如此。以前,大多數用戶終端設備是PC和筆記本電腦,如今終端更多,又增加了大量的設備,其中普及率最高的是智能手機及平板電腦,除此之外還誕生了車載聯網設備等等其它各種終端。

     以前軟件開發主要為PC開發軟件,如今則需要為各種終端開發相應的軟件,這在一定程度上加劇了軟件開發的復雜度,各種平台擁有各種不同的操作系統、開發環境、開發工具、編程語言以及不同的庫、不同的平台特性、不同的輸入設備等等,一個人已經很難精通多平台的開發了。今天聊一聊移動平台的開發及Windows Phone需要掌握的開發技術。就目前來說,這里所說的移動平台主要指智能手機及平板電腦,因為目前平板電腦搭載的操作系統以及實用方式和手機相似,就不在多說了。目前在移動平台上開發軟件主要基於有以下幾種平台:

1. iOS

2. Andiord

3. Windows Phone

當然,除了這3種之外還有其它一些平台,不過就目前來說,其它的平台不太被看好,這里主要聊一下這幾種。Andiord是Google開放的系統,優良的系統和開放性使得它成為了目前市場占有率最高的系統,設備數量驚人,但也導致了一定問題,如系統版本混亂、設備規格參差不齊等等,使得開發和維護的難度大大增加。ios是Apple公司主導的系統,精美的設計使用iphone和ipad大行其道,使ios成為市場占有率第二的操作系統。而Windows Phone大家都知道,和其它兩個平台相比應用數量上不占優勢,但是從Windows Phone 7 到 Windows Phone 8,市場增長速度迅猛,目前的設備數量已不算低,是公認的最有可能發展壯大和其它兩個平台抗衡,微軟有着深厚的Windows系統周邊資源,包括大量的開發人員,他們都可以很容易過渡到Windows Phone的開發上,新的windows phone 8 采用windows 8的內核,原來windows pc山的軟件更換下UI和輸入方式,就能方便地移植到windows phone 上運行,成為一款手機應用軟件,這也是一種巨大的優勢。如今,從事某個平台的開發離不開一下幾個條件:

1.平台提供的API

2.平台支持的編程語言

3.平台支持的相關開發工具、編程環境

在以上3個基礎上的開發是為原生應用。而通過跨平台語言、工具、庫實現對各平台API適配而開發出的應用是為跨平台應用。一般來說,原生應用能充分使用平台API,所以能充分發揮平台的特性和優勢,具有最佳的性能表現和兼容性。而跨平台應用則不具備這些優勢(這里的跨平台指的是一次編寫,處處運行)

ios平台提供ios SDK,提供了開發所需的基礎功能API以及OpenGL圖形開發接口,編程語言使用objective-c,以及運行於蘋果系統上的開發工具XCode。Andiord同樣提供基礎功能API和OpenGL圖形開發接口,編程語言使用java,以及可運行於其它系統上的開發工具。這里重點是說一說windows phone.

移動平台上的軟件主要分為兩大類,

1. 普通應用軟件,即常規的應用程序,例如瀏覽器、播放器、日記本、聊天軟件等等

2. 游戲,區別於普通軟件,在移動平台占有非常重要的地位。

Windows phone 7, 平台API為,Sliverlight類庫充當普通應用開發接口,XNA作為游戲開發圖形接口,支持的編程語言為C#,注意,程序運行於.NET Compact Framework 之上,並非普通的.NET Framework。Silverlight使用基於XAML的UI,微軟提供的windows phone開發所需的庫比傳統Windows上的.NET類庫要弱一些,其中刪減了一些不常用的功能,但是無論是文件讀寫、網絡編程、界面開發都已足夠開發出各種應用軟件。XNA作為圖形開發接口,是Windows Phone 7  游戲開發的基礎,它簡化了DirectX的繁雜API,功能上並未遭到削弱,也能開發出各種2D、3D游戲。除此之位還提供優秀的開發工具 Visual Studio ,很大地提高了開發效率。windows phone 7 並不支持Native code, C、C++等都無法為Windows Phone 7 開發程序,因此為Windows Phone 7開發應用程序需要掌握C#,.NET常用類庫,XAML Silverlight即可,以前Windows平台的.NET程序員,幾乎不需要學多少新的東西就可以快速過渡。開發游戲則需要掌握C#,.Net常用類庫、XNA即可,如果基於游戲引擎開發,甚至不需要太了解XNA。Windows Phone 設備都遵守微軟的規范,所有Windows Phone 7 手機屏幕分辨率均為480*800,擁有返回、超級按鈕、搜索 三個標准按鍵。

新一代的Windows Phone 8 :

wp8

從客觀上來講,Window Phone 7才用了Win CE內核,擁有完善的應用、游戲開發技術支撐,但沒有先發優勢,從發布至今,取得了一定的市場地位,算是小有成績確算不上成功,和ios,andiord相比,市場占有率及應用數量都存在較大差距。如今,剛發布不久的全新一代Windows Phone 8進行了重大改進,主要包括以下幾個方面:

1.Win CE內核更換為全新的Windows 8內核,因此它是一款Windows NT操作系統,支持以前普通Windows上部分API

2.開放本地代碼支持,使得C、C++等語言也可以為Wp8開發程序,以前眾多的C++程序員在不必掌握.NET的情況下也可以過渡到Wp8的開發。

3.開放DirectX 11圖形API,使得以前傳統的游戲程序員可以輕易過渡到Wp8游戲開發,並開發高質量游戲。windows phone 8 上的DirectX 11支持可編程渲染管線,支持頂點、像素着色,而windows phone 7僅支持固定渲染管線。

4.兼容所有windows phone 7 應用程序。

這里稍微提下WP8上的DirectX 11,與PC上的DirectX API並無區別,只是某些特性不受支持,畢竟手機的性能是無法與PC抗衡的。Wp8上的Dx11 不支持多重采樣抗鋸齒、幾何着色器、外殼着色器等,僅支持頂點、像素着色器,可提供與DirectX 9相比的絕大多數功能,足以勝任高質量游戲的開發。原來Wp7上的Silverlight和XNA依然可用於windows phone 8 的開發中。今后的Wp8開發中將由XMAL作為應用底層,DirectX作為游戲底層,而上層支持托管、本地代碼,使得幾乎所有的Windows程序員均可快速過渡到Windows phone 8的開發中來。從近期windows phone 8及其手機的市場表現來看,增長非常迅猛,前景廣闊,或許隨着IPhone熱度的降低,Andiord的混亂,Windows Phone 一次次的改進和推廣,Windows Phone 8將成為Windows Phone操作系統及Windows Phone手機普及、崛起的標志。

如果你也是一名Windows程序員,是否對Windows Phone開發有興趣?是否希望有一部Nokia Lumia 920手機? windows phone的表現讓我們一起期待吧!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM