Windows Phone 8開發(fā)指南: 平臺概述
譯文第二篇:Windows Phone 8開發(fā)指南:創(chuàng)建你的***款應用程序
【51CTO譯文】由于為開發(fā)人員準備了大量可資利用的工具,因此為微軟的Windows Phone平臺開發(fā)應用其實相當簡便易行。事實上,微軟公司的移動團隊為Windows Phone平臺設定了一套相當出色的運作體系,大家能夠從多個方面切身體會到其解決方案的獨特之處。在今天的文章(同時也是本系列文章的***篇)中,我們將了解如何邁出Windows Phone開發(fā)工作的***步。本系列教程將涵蓋該平臺各類最引人注目的特性、通用性開發(fā)技術以及足以用于Windows Phone應用程序開發(fā)的第三方工具。
關于本系列教程
本文是系列教程中的***篇,我們將共同透過一篇篇文章了解關于Windows Phone開發(fā)工作的奧秘與訣竅。作為起步,今天我們首先把著眼點放在Windows Phone平臺本身,在作出整體概述之外還要對該平臺的核心特性作出闡述。隨著教程的深入,我們還將一起探索Windows Phone陣營所采用的應用程序架構以及其它各類基礎層面,從而幫助各位構建起屬于自己的簡易實用性應用程序。
網(wǎng)絡交互、界面設計以及數(shù)據(jù)綁定是我們將要探討的幾大關鍵性議題。在通讀了本系列教程之后,大家應該已經(jīng)能夠創(chuàng)建出一款基礎但頗具功能性的Windows Phone應用程序、對Windows Phone平臺具備扎實的理解并掌握一部分第三方工具與在線資源。
歷史背景
作為本文的開頭,我想先為大家簡要介紹一下Windows Phone平臺的發(fā)展歷史。Windows Phone 8已經(jīng)是該系列平臺的***公共版本,并扮演著此前被統(tǒng)稱為Windows Phone 7的7.1與7.8兩個版本的繼任者角色。Windows Phone平臺是微軟嘗試進軍現(xiàn)代移動領域的標志性產(chǎn)物,同時也是該公司W(wǎng)indows Mobile平臺的后續(xù)方案。盡管Windows Mobile本身完全無法同iOS與Android兩大當前市場***相抗衡,但Windows Phone卻憑借著自身的革命性提升在移動領域占據(jù)著一席之地,并讓微軟在移動市場上的表現(xiàn)朝著積極的方向邁進。
為什么要選擇Windows Phone?
移動領域是一個總值高達數(shù)十億美元的巨大產(chǎn)業(yè),而目前其正被兩大占據(jù)著統(tǒng)治地位的參與者牢牢掌控——也就是蘋果的iOS與谷歌的Android。盡管形勢如此明朗,但Windows Phone仍然與蘋果及蘋果劃出了明確的界線。而Windows Phone 8的推出也極大改善了Windows Phone陣營在市場上的份額比例。
Windows Phone可以說是移動競逐當中的第三位參賽選手,很多從業(yè)者也將微軟視為一股強勁的潛在力量、特別是在其收購了諾基亞的移動部門之后。但很多朋友可能仍然抱有疑問:我們?yōu)槭裁匆x擇為Windows Phone生態(tài)系統(tǒng)開發(fā)移動應用程序?
首先,微軟允許大家輕松將Windows Phone應用程序移植到其Windows 8操作系統(tǒng)之上。這兩款操作系統(tǒng)共同使用大量通用庫,因此我們完全可以利用同一套代碼庫同時為Windows Phone及Windows 8平臺開發(fā)應用程序。
將應用程序在Windows Phone及Windows 8之間往來遷移則是另一套值得認真考慮的處理選項。這一點對于游戲開發(fā)人員而言尤其具備吸引力,因為他們可以重新使用原先編寫好的組件并指向Windows Phone或者Windows 8系統(tǒng)平臺。
其次,用于開發(fā)Windows Phone應用程序的工具非常出色、Windows Phone技術社區(qū)也極為優(yōu)秀。Windows Phone平臺上的各類開發(fā)工具往往經(jīng)過了嚴格的測試,并且能夠以穩(wěn)健的實際表現(xiàn)服務于開發(fā)人員。
很多開發(fā)人員已經(jīng)擁有利用相關工具鏈為Windows Phone開發(fā)應用程序的經(jīng)驗。對于Windows Phone開發(fā)工作而言,Visual Studio堪稱***IDE(即集成開發(fā)環(huán)境),其使用感受也頗具樂趣。它內置有版本控制、代碼分析、TDD(即測試驅動開發(fā))甚至是UML(即統(tǒng)一建模語言)圖表生成等支持能力。
用于開發(fā)Windows Phone應用程序的SDK能夠免費下載,而注冊開發(fā)者賬戶的成本也不高。
為Windows Phone開發(fā)應用程序
與其它平臺相比,為Windows Phone平臺開發(fā)移動應用程序具備相當?shù)撵`活性優(yōu)勢。舉例來說,大家可以利用多種編程語言創(chuàng)建Windows Phone應用程序,這一點我們稍后會詳細闡述。
無論是C++、C#、Silverlight、JavaScript、ASP.NET甚至是Visual Basic(或者VBA),擁有相關開發(fā)背景的技術人員總能找到一條通往Windows Phone開發(fā)世界的捷徑。
甚至來自Java或者其它移動平臺,例如Android,的開發(fā)人員,也會驚喜地發(fā)現(xiàn)自己面前的學習曲線其實相當平易近人。下面我們就初步探討為Windows Phone平臺開發(fā)移動應用程序時可資使用的選項。
Silverlight
***款同時也是人氣***的方案正是Silverlight框架。Silverlight、Visual Basic以及更為常見的C#可以說是Windows Phone應用程序開發(fā)領域的幾大***途徑。
在使用這種開發(fā)機制時,用戶界面元素會顯示在XAML當中(屬于微軟創(chuàng)建的XML衍生機制),并為Windows Presentation Foundation(簡稱WPF)以及Silverlight等.Net技術方案所使用。舉例來說,如果用Web應用程序作為參照,那么大家可以將XAML視為Windows Phone平臺上的HTML,而Visual Basic或者C#則與JavaScript扮演著同樣的角色。
大部分Windows Phone開發(fā)資源以及微軟發(fā)布的官方說明文檔都提供Silverlight示例,我們在本系列教程的其它文章中也將以此為主線展開探索。
PhoneGap
另一種主流開發(fā)方案則使用PhoneGap,這是一款免費框架、專門利用HTML 5、CSS以及JavaScript進行跨平臺應用程序的創(chuàng)建。PhoneGap,或者稱之為開源Apache Cordova,是一套由多種API構建而成的集合體,能夠幫助開發(fā)人員輕松借助JavaScript接入原生設備功能——例如設備上的傳感器與攝像頭等。
在PhoneGap的幫助下,擁有Web應用開發(fā)背景的開發(fā)人員能夠在無需編寫原生代碼的前提下完成Windows Phone應用程序的創(chuàng)建工作。不過PhoneGap的***優(yōu)勢還在于,這款框架能夠無視系統(tǒng)平臺實現(xiàn)應用的任意遷移。也就是說,大家可以利用同一套代碼庫同時為多種系統(tǒng)平臺編寫移動應用程序,例如Windows Phone、iOS以及Android。
XNA框架
微軟的XNA(請注意,XNA并不是縮寫詞匯)框架也能夠被用于創(chuàng)建Windows Phone應用程序。不過需要重點強調的是,XNA的主要作用在于進行游戲開發(fā)。由于游戲開發(fā)并不是本系列教程的主要關注點,因此我們這里就不對XNA進行深入探討了。如果大家希望對XNA擁有更全面的認識,可以點擊此處讀取Nick Ohrn編寫的相關教程。
C++
***的選項就是編寫原生C++代碼。游戲開發(fā)人員通常樂于選擇這種方式,因為他們更關注應用的性能表現(xiàn)或者所使用的某些其它資源是利用C++所編寫。
也有不少游戲開發(fā)人員是考慮到C++出色的跨平臺遷移能力才作出選擇的。此類應用程序可能還需要深入發(fā)掘Direct3D——也就是微軟DirectX API中的圖形組件——的潛能,而這也要求我們使用C++。如果大家將游戲開發(fā)作為自己的主要關注方向,那么這絕對是個值得認真考量的推薦選項。
#p#
開發(fā)工具
正如我之前所提到,用于Windows Phone應用程序開發(fā)的工具穩(wěn)定且可供大家免費使用。作為Windows Phone應用程序開發(fā)的***IDE(即集成開發(fā)環(huán)境),Visual Studio的Express版本完全免費且隨Windows Phone 8 SDK一同發(fā)布。后者當中還包含有一款模擬器,能夠支持三種來自Windows Phone實際設備的可用屏幕分辨率。
另一款值得一提的工具則是Blend for Visual Studio,這款用戶界面設計工具專門用于為應用程序創(chuàng)建圖形化界面。Blend能夠讓Windows Phone應用程序的開發(fā)流程更加簡捷,且能夠與Visual Studio順利集成。不過我們在本系列教程中不會對Blend進行深入闡述。
平臺特性
Windows Phone 8擁有我們希望在現(xiàn)代移動平臺上獲得的所有功能特性甚至還不止如此,它具備NFC(即近場通信機制)、錢包、存儲、攝像頭、地圖、通知推送以及另一大最引人注目的特性——活動磁貼。
Windows Phone的另一大標志性特征在于其設計語言。在Windows Phone上的各類常見設計模式當中,Panorama與Pivot布局模式的登場率無疑是***的。我建議大家點擊此處認真閱讀Windows Phone設計指南,花點時間熟悉這方面知識能夠幫助各位確保自己的應用程序能夠與該平臺的自身設計特性無縫對接。
相關資源
這里我還想提一點題外話,希望能幫助大家進一步簡化自己的Windows Phone開發(fā)之旅。首先需要記住的就是CodePlex這個網(wǎng)站名稱,這套由微軟負責支持的平臺上托管著大量開源軟件。
CodePlex托管著多種庫及工具,對其善加利用能夠顯著我們節(jié)約用于Windows Phone應用程序開發(fā)的時間。CodePlex采取免費登錄機制,我建議大家創(chuàng)建一個賬戶并以此為基礎開始自己的CodePlex探索之旅。CodePlex上托管著眾多知名度極高的項目,例如Coding4Fun、Json.NET以及HTML Agility Pack。
我還建議大家認真閱讀微軟的官方說明文檔以及Windows Phone開發(fā)中心內的代碼示例。除此之外,大家也可以多到以下幾個鏈接中轉轉,相信會對未來的開發(fā)工作起到很好的輔助作用。
總結
在今天的文章中,我為大家簡單介紹了Windows Phone 8這套平臺。我們了解了這套平臺的歷史、探索了有哪些方案供我們在開發(fā)Windows Phone應用程序時加以選擇并討論了可資利用的幾款開發(fā)工具。
在本系列教程的下一篇文章中,我們將進入正題、以深入淺出的方式引導各位創(chuàng)建自己的***款Windows Phone應用程序。咱們到時候見!
原文鏈接:Windows Phone 8: Platform Overview
核子可樂譯