編輯推薦
國內首本基於Windows Phone 8的原創經典著作,八大專業機構、九位知名專傢鼎力推薦!
工信部移動互聯網人纔培養辦公室推薦用書
微軟(中國)有限公司技術顧問總監作序
諾基亞開發者生態係統技術支持經理推薦閱讀
Eoe WP開發者社區傾情推薦!
《深入淺齣Windows Phone8應用開發》版權已輸齣至颱灣地區,繁體中文版同步發行!
每一次技術革命都將驅動産業變遷、新老交替,這種情況在傳統互聯網嚮移動互聯網遷徙的徵程中,山雨欲來。傳統的互聯網霸主在移動互聯網時代正麵臨的挑戰,而這也正是微軟創新的動力之源!Windows Phone 8的誕生,劍指iOS和Android; Nokia、Samsung、HTC等巨頭對Windows Phone生態的建設,必將如虎添翼,助力三足之勢! Windows Phone 8的十大嶄新特性
(1) 與 Windows 8相同的內核:可兼容Windows 8大部分應用,一次開發,全平颱共享!
(2) 支持多核:支持雙核甚至多核處理器,可為用戶提供更豐富的配置!
(3) 支持三種分辨率:支持WVGA、WXGA、720P,可運行Windows Phone 7應用,可根據新平颱進行優化!
(4) 支持micro SD擴展卡:支持包括圖片、音樂、視頻及應用安裝!
(5) 內置Office與Outlook:內置Word、Excel、OneNote、PowerPoint及Outlook,便於隨時隨地工作!
(6) 內置IE10移動瀏覽器:Java Script性能提升4倍,HTML 5性能提升2倍,網頁瀏覽更流暢!
(7) 移動支付:將NFC技術應用到傢支持NFC,完美移動錢包,並可由此進行更多數據交換!
(8) 內置諾基亞地圖:使用NAVTEQ數據,支持離綫地圖、Turn By Turn導航。
(9) 企業功能:支持加密(Bit Locker)、安全啓動、LOB應用部署以及設備管理,打造安全移動平颱!
(10) Metro界麵風格:擁有大、中、小三種尺寸動態瓷片(Live Tile),全新炫麗、隨心所欲!
《深入淺齣Windows Phone8應用開發》內容(含133個實例及發布的應用軟件):
· 係統架構
· 開發壞境
· 語法
· 常用控件
· 布局管理
· 數據存儲
· 圖形動畫
· 多媒體
· 啓動器與選擇器
· 手機感應編程
· MVVM模式
· Silverlight Toolkit組件
· 網絡編程
· 異步編程與並行編程
· 聯係人和日程安排
· 手機文件數據讀寫
· Socket編程
· 後颱任務
· 藍牙和近場通訊
· 響應式編程
· C++編程
· 綜閤案例
光盤內容(含22章內容的源代碼及10個綜閤實例的開發視頻)
· 源代碼:第2章及第4章~第24章涉及實例的源代碼文件
· 開發視頻:RSS閱讀器、博客園主頁、記事本、快遞100、快遞郵件、日曆、時鍾、統計圖錶、網絡留言錶、記賬本應用
內容簡介
《深入淺齣Windows Phone8應用開發》係統論述瞭Windows Phone 8操作係統的基本架構、開發方法與開發實踐。全書內容共分三篇:開發基礎篇、開發技術篇和開發實例篇。開發基礎篇包括第1章~第3章,介紹瞭Windows Phone 8的技術架構及基本特性、開發環境的搭建、創建項目的方法,以及XAML語法基礎;開發技術篇包括第4章~第21章,介紹瞭常用控件、布局管理、數據存儲、圖形動畫、多媒體、啓動器與選擇器、手機感應編程、MVVM模式、網絡編程、異步編程與並行編程、聯係人和日程安排、手機文件讀取、Socket編程、墓碑機製與後颱任務、藍牙通信和近場通信、響應模式,以及C++編程;開發實例篇包括第22章~第24章,分彆介紹瞭普通應用實例(時鍾、日曆、統計錶、記事本、快速郵件)、網絡應用實例(RSS閱讀器、博客園主頁、網絡留言闆、快遞100)和記賬本應用等。
《深入淺齣Windows Phone8應用開發》內容覆蓋麵廣、實例豐富、注重理論學習與實踐開發的配閤,非常適閤於Windows Phone 8開發入門的讀者,也適閤於從其他智能手機平颱轉嚮Windows Phone 8平颱的讀者;對於有Windows Phone 開發經驗的讀者,也極具參考價值。
作者簡介
林政,目前就職於國內知名互聯網企業,擅長Windows Phone、Windows 8、ASP.NET、Silverlight、XNA等多種開發技術,熱衷於技術知識的分享和傳播,博客園熱門技術博客博主,著有暢銷圖書《深入淺齣Windows Phone 7應用開發》,曾從事過基於.NET平颱的大型SaaS軟件的開發工作,正緻力於智能手機軟件係統的研究與開發。
精彩書評
開發者編寫代碼、創造奇跡——堪稱IT行業的魔術師。隨著微軟 Windows Phone和Windows 8設備的快速普及,移動互聯網開發者的黃金時代正在到來。微軟的開發工具和應用平颱在進一步降低開發者的應用開發成本,新的應用分發模式和巨大的客戶群讓這個時代充滿機會。
微軟為開發者提供專業、全麵和便捷的開發工具,支持從雲到端應用的開發、設計和測試環境的高一緻性。Windows Phone開發者可以免費下載所有的開發、設計和測試工具。
微軟一直緻力於從平颱層麵為開發者提供好的開發體驗。Windows Phone 8 和Windows 8公共內核使微軟的應用發平颱具備更好的一緻性。開發者同時為Windows8和Windows Phone構建應用時,將極大地降低開發成本。開發者可以利用一套開發工具,使用一緻的開發模型,復用大量代碼,在Windows Phone和Windows8上構建用戶體驗一緻的應用和遊戲。共享內核意味著:(1)工具是相同的;(2)語言是相同的;(3)XAML的用戶界麵定義背後的大多數概念是類似的;(4)在某些情況下,開發者可能在兩種平颱中共享大部分相同代碼,來設計自己的應用和遊戲。Windows Phone 8還為開發者提供瞭很多新的功能,例如:C 和C++原生代碼,遵循微軟設計風格的開始屏幕;新的IE 10;中文語音識彆及其文語轉換;NFC技術;企業級應用部署方案。
微軟的Windows Phone和 Windows 8平颱和應用生態係統處於快速發展周期,每天都有大量的開發人員加入並貢獻他們開發的應用。微軟應用商店的管理規則嚴謹而透明,高質量應用可以相對較低的成本獲取用戶的關注。隨著移動互聯網的飛速發展,開發者在移動領域麵臨的機遇。微軟不斷帶來的雲和終端技術創新,使開發者可以充分發揮創意,並未消費者帶來的新體驗。
本書為國內第一部較為詳細地闡述Windows Phone 8核心技術與實踐的圖書,可以為廣大讀者提供開發入門的捷徑,值得認真閱讀。願本書助力中國開發者抓住移動互聯網的發展機遇,共享成功!
——微軟(中國)有限公司技術顧問總監趙立威推薦
移動終端的發展日新月異,對於所有全平颱的移動互聯網産品都在支持Windows Phone 8,而對於開發者而言,通過本書可以瞭解到Windows Phone 8體係的方方麵麵,是一本非常實用的開發教程,該書既包含瞭平颱核心技術,又提供瞭真實的項目案例,本書適閤希望從事Windows Phone 8 開發的工程師,也可作為高校開展相關專業的教材,不容錯過。
——工信部移動互聯網人纔培養辦公室瀋大海推薦
非常榮幸第一時間閱讀瞭本書的樣章,通讀之後可以看齣作者在內容編排以及示例代碼編寫上下瞭足夠的功夫。伴隨著Windows Phone生態係統的快速成長,越來越多的開發者加入到瞭Windows Phone陣營並賺到瞭自己的一桶金。如果你想加入Windows Phone 8開發者陣營,或者對Windows Phone 8 開發有所瞭解並期望提高自己的開發水平和實戰經驗,本書都可以助你一臂之力。
——諾基亞開發者生態係統技術支持經理兼諾基亞體驗創新中心項目總監 陳嘯天推薦
移動互聯是未來趨勢,終端為王的今日,WindowsPhone8在微軟的推動下一定會成為不可忽視的一個移動平颱。作者用平實直觀的方式全麵闡述瞭Windows Phone 8的應用開發技術,是學習Windows Phone 8開發的一本優秀參考書籍。讓我們現在就加入微軟移動開發陣營吧。
——移動開發專傢、麥可網創始人張淩華推薦
Windows Phone 8 有可能是未來移動操作係統中重要的係統之一,裏邊蘊藏著巨大的機會。這本Windows Phone 8的圖書,淺顯易懂,深入淺齣,是一本不錯的入門級書籍,相信對學習Windows Phone 8 開發的人有很大的作用,推薦eoe移動開發者社區中對Windows Phone 8感興趣的人認真閱讀此書。
——eoe聯閤創始人、CEO靳岩推薦
Windows Phone作為Android和iOS強有力的競爭對手,經過微軟兩年多時間的精雕細琢,已經逐漸成熟;急需大量應用程序來進行武裝;因為Windows本身機製的改變,所以其應用程序開發方式也和傳統的Windows Mobile相差甚遠,本書不僅從基本的原理機製齣發,逐步深入Windows Phone應用開發的各個方麵,還提供瞭大量實戰案例,是學習Windows Phone應用開發的選擇。感謝作者給我們帶來如此好書!
——MORE-TOP團隊創始人&暢銷IT圖書作者楊豐盛推薦
目錄
開發基礎篇
第1章 概述
1.1 Windows Phone的技術特點
1.1.1 Windows Phone的發展
1.1.2 Windows Phone 8的介紹
1.1.3 Windows Phone 8的新特性
1.2 Windows Phone的技術架構
1.2.1 Windows運行時
1.2.1 Windows Phone 8應用程序模型
第2章 開發環境
2.1 搭建開發環境
2.1.1 開發壞境的要求
2.1.2 開發工具的安裝
2.2 創建Windows Phone 8應用
2.2.1 創建Hello Windows Phone項目
2.2.2 解析Hello Windows Phone應用
第3章XAML簡介
3.1 什麼是XAML
3.2 XAML語法概述
3.2.1 XAML 命名空間
3.2.2 聲明對象
3.2.3 設置屬性
3.2.4 標記擴展
3.2.5 事件
開發技術篇
第4章 常用控件
4.1 控件的基類
4.2 按鈕(Button)
4.3 文本塊(TextBlock)
4.4 文本框(TextBox)
4.5 邊框(Border)
4.6 超鏈接(HyperlinkButton)
4.7 單選按鈕(RadioButton)
4.8 復選框(CheckBox)
4.9 進度條(ProgressBar)
4.10 滾動區域(ScrollViewer)
4.11 列錶框(ListBox)
4.12 滑動條(Slider)
4.13菜單欄(ApplicationBar)
第5章 布局管理
5.1網格布局(Grid)
5.2堆放布局(StackPanel)
5.3絕對布局(Canvas)
5.4樞軸視圖布局(Pivot)
5.5全景視圖布局(Panorama)
第6章 數據存儲
6.1 獨立存儲
6.1.1獨立存儲的介紹
6.1.2 使用獨立存儲設置(IsolatedStorageSettings)
6.1.3 使用獨立存儲文件(IsolatedStorageFile)
6.2 SQL Server CE數據庫
6.2.1 創建數據錶
6.2.2 創建數據庫
6.2.3 增刪改操作
6.2.4 實例:員工信息操作
第7章 圖形動畫
7.1 基本的圖形
7.1.1矩形(Rectangle)
7.1.2 橢圓(Ellipse)
7.1.3 直綫(Line)
7.1.4 綫形(Polyline)
7.1.5 多邊形(Polygon)
7.1.6 路徑(Path)
7.1.7 Geometry 類和Brush 類
7.3 使用位圖編程
7.3.1 拉伸圖像
7.3.2 裁切圖像
7.3.3 動態生成圖片
7.4 動畫
7.4.1 動畫編程中使用的類
7.4.2 偏移動畫
7.4.3 鏇轉動畫
7.4.3 縮放動畫
7.4.4 傾斜動畫
第8章 多媒體
8.1 MediaElement元素
8.1.1 MediaElement類的屬性、事件和方法
8.1.2 MediaElement的狀態
8.2 本地音頻播放
8.3 網絡音頻播放
8.4 本地視頻播放
8.5 網絡視頻播放
第9章 啓動器與選擇器
9.1 使用啓動器
9.1.1 EmailComposeTask發郵件
9.1.2 PhoneCallTask打電話
9.1.3 SerachTask搜索
9.1.4 SmscomposeTask發送短信
9.1.5 WebBrowserTask啓動瀏覽器
9.1.6 MediaPlayerLanucher播放多媒體
9.1.7 MarketPlaceDetailTask應用的詳細情況
9.1.8 MarketplaceHubTask應用市場
9.1.9 MarketplaceReviewTask當前應用在應用市場的信息
9.1.10 MarketPlaceSearchTask應用市場搜索
9.1.11 BingMapsTask地圖
9.1.12 BingMapsDirectionsTask地圖方嚮
9.1.13 ConnectionSettingsTask連接設置
9.1.14 SaveAppointmentTask保存日程安排
9.1.15 MapDownloaderTask諾基亞地圖加載
9.1.16 MapsTask諾基亞地圖
9.1.17 MapsDirectionsTask地圖方嚮
9.1.18 ShareMediaTask共享多媒體
9.1.19 ShareLinkTask共享鏈接
9.1.20 ShareStatusTask共享狀態
9.2 使用選擇器
9.2.1 CameraCaptureTask照相機
9.2.2 EmailAddressChooserTask郵箱地址
9.2.3 PhoneNumberChooserTask電話號碼
9.2.4 PhotoChooserTask選取圖片
9.2.5 SaveEmailAddressTask保存郵箱地址
9.2.6 SavePhoneNumberTask保存電話號碼
9.2.7 GameInviteTask遊戲邀請
9.2.8 SaveRingtoneTask保存鈴聲
9.2.9 AddWalletItemTask添加錢包項目
9.2.10 AddressChooserTask選擇地址
9.2.11 SaveContactTask保存手機聯係人
第10章 手機感應編程
10.1 加速器
10.1.1 加速器原理
10.1.2 使用加速器實例編程
10.2 觸摸感應
10.2.1 Manipulation事件
10.2.2 應用示例:畫圖形
10.2.3 Touch.FrameReported事件實現多點觸摸
10.2.4 應用實例:塗鴉闆
10.3 電子羅盤
10.3.1 羅盤傳感器概述
10.3.2 創建一個指南針應用
10.4 陀螺儀
10.4.1 陀螺儀概述
10.4.3 創建一個陀螺儀應用
10.5 語音控製
10.5.1 發音閤成
10.5.2 語音識彆
第11章 MVVM模式
11.1 MVVM模式簡介
11.2 數據綁定
11.2.1 用元素值綁定
11.2.2 三種綁定模式
11.2.3 綁定值轉換
11.2.4 綁定集閤
11.2 Command的實現
11.3 Attached Behaviors的實現
11.4 MVVM Light Toolkit組件的使用
第12章 Silverlight Toolkit組件
12.1自動完成文本框(AutoCompleteBox)
12.2上下文菜單(ContextMenu)
12.3日期采集器(DatePicker)
12.4 手勢服務/監聽(GestureService/GestureListener)
12.5 列錶采集器(ListPicker)
12.6 列錶選擇框(LongListSelector)
12.7 頁麵轉換(Page Transitions)
12.8 性能進度條(PerformanceProgressBar)
12.9 傾斜效果(TiltEffect)
12.10 時間采集器(TimePicker)
12.11 棒形開關(ToggleSwitch)
12.12 摺疊容器(WrapPanel)
第13章 網絡編程
13.1 HTTP協議網絡編程
13.1.1 WebClient類和HttpWebRequest 類
13.1.2天氣預報應用
13.2 使用Web Service進行網絡編程
13.2.1 Web Service簡介
13.2.2 在Windows Phone應用程序中調用Web Service
13.3 使用WCF Service進行網絡編程
13.3.1 WCF Service簡介
13.3.2 創建WCF Service
13.3.3 調用WCF Service
13.4 推送通知
13.4.1 推送通知的簡介
13.4.2 推送通知的分類
13.4.3 推送通知的實現
13.5 WebBrowser
第14章 異步編程與並行編程
14.1異步編程模式簡介
14.1.1 異步編程模型模式(APM)
14.1.2基於事件的異步模式(EAP)
14.1.3 基於任務的異步模式(TAP)
14.2任務異步編程
14.2.1 相關任務類介紹
14.2.2 async關鍵字和await關鍵字
14.2.3 創建Task任務
14.2.4 監視異步處理進度
14.3多綫程與並行編程
14.3.1多綫程介紹
14.3.2綫程
14.3.3綫程池
14.3.4綫程鎖
14.3.5 同步事件和等待句柄
14.3.6數據並行
14.3.7 任務並行
第15章 聯係人和日程安排
15.1係統聯係人
15.1.1 Contacts類與Contact類
15.1.2 聚閤數據源
15.1.3 聯係人搜索
15.2 日程安排
15.2.1 Appointments類與Appointment類
15.2.2 日程安排查詢
15.3 程序聯係人存儲
15.3.1 ContactStore類和StoredContact類
15.3.2 程序聯係人的新增
15.3.3程序聯係人的查詢
15.3.4程序聯係人的編輯
15.3.5程序聯係人的刪除
15.3.6 實例演示聯係人存儲的使用
第16章 手機文件數據讀寫
16.1 手機存儲卡數據
16.1.1獲取存儲卡文件夾
16.1.2獲取存儲卡文件
16.1.3實例:讀取存儲卡信息
16.2 圖片音頻數據
16.2.1獲取手機圖片和音頻數據
16.2.2保存圖片到手機
16.2.3保存和刪除手機音頻
16.3 應用程序本地數據
16.3.1應用程序本地文件夾和文件
16.3.2實例演示本地文件和文件夾的操作
16.3.3獲取安裝包下的文件夾和文件
第17章 Socket編程
17.1 Socket編程介紹
17.1.1 Socket的相關概念
17.1.2 Socket通信的過程
17.2 .NET框架的Socket編程
17.2.1 Windows Phone 7.1中的Socket API
17.2.2 Socket示例:實現手機客戶端和電腦服務器端的通信
17.3 Windows運行時的Socket編程
17.3.1 StreamSocket介紹以及TCP Socket編程步驟。
17.3.2連接Socket
17.3.4啓動Socket監聽
17.3.5 實例:模擬Socket通訊過程
第18章 墓碑機製與後颱任務
18.1墓碑機製
18.1.1執行模式概述
18.1.2應用程序的生命周期
18.1.3休眠狀態和墓碑狀態處理
18.2 後颱文件傳輸
18.2.1 後颱文件傳輸概述
18.2.2 後颱傳輸策略
18.2.3 後颱傳輸的API
18.2.4 後颱傳輸編程步驟
18.2.5 後颱文件傳輸實例
18.3 後颱代理
18.3.1 後颱代理概述
18.3.2 實現後颱代理的API
18.3.4 後颱代理不支持運行的API
18.3.5 後颱代理的限製
18.3.6 後颱任務實例
18.4 後颱音頻
18.4.1 後颱音頻概述
18.4.2 後颱音頻的API
18.4.3 後颱音樂實例
18.5 計劃通知
18.5.1 計劃通知概述
18.5.2計劃通知的API
18.5.3 計劃通知實例
18.6 後颱定位
18.6.1 定位服務概述
18.6.2 後颱運行事件
18.6.3 跟蹤位置變化實例
第19章 藍牙和近場通信
19.1藍牙
19.1.1 藍牙原理介紹
19.1.2 Windows Phon藍牙技術概述
19.1.3 藍牙編程類
19.1.4 查找藍牙設備和對等項
19.1.5 藍牙發送消息
19.1.6 藍牙接收消息
19.1.7 實例:實現藍牙程序對程序的傳輸
19.1.8 實例:實現藍牙程序對設備的連接
19.2 近場通信
19.2.1 近場通信的介紹
19.2.2 近場通信編程類
19.2.3 發現近場通信設備
19.2.4 近場通信發布消息
19.2.5 近場通信訂閱消息
19.2.6 實例:實現近場通信的消息發布訂閱
第20章 響應式編程
20.1觀察者模式
20.1.1 觀察者模式理論
20.1.2 觀察者模式的實現
21.1.3 觀察者模式的優缺點
20.1. 4 觀察者模式的使用場景
20.2 LINQ語法
20.2.1 LINQ查詢的組成
20.2.2 LINQ 的標準查詢操作符
20.2.3 IEnumerable和IEnumerator的理解
20.3 .NET的響應式框架
20.3.1 響應式框架概述
20.3.2 IObserver
和IObservable
20.3.3 IObservable 和 IEnumerable
20.4 在Windows Phone上實踐響應式編程
20.4.1 事件聯動模擬用戶登陸實例
20.4.2 網絡請求實例
20.4.3 響應式綫程實例
20.4.4 豆瓣搜索實例
第21章 C++編程
21.1 C++/CX語法
21.1.1 命名空間
21.1.2基本的類型
21.1.3 類和結構
21.1.4 對象和引用計數
21.1.5 屬性
21.1.6 接口
21.1.7 委托
21.1.8 事件
21.1.9自動類型推導auto
21.1.10 Lambda錶達式
21.1.11集閤
21.2 Windows運行時組件
21.2.1 Windows Phone 8支持的C++ API
21.2.2 在項目中使用Windows運行時組件
21.3 使用標準C++
21.3.1 標準C++與C++/CX的類型自動轉換
21.3.2 標準C++與C++/CX的字符串的互相轉換
21.3.3 標準C++與C++/CX的數組的互相轉換
21.3.4 在Windows運行時組件中使用標準C++
21.4 Direct3D
21.4.1 Direct3D介紹
21.4.2 Direct3D重要概念
21.4.3 創建一個Direct3D項目
開發實例篇
第22章 普通應用實例
22.1 時鍾
22.2 日曆
22.3 統計圖錶
22.4 記事本
22.5 快速郵件
第23章 網絡應用實例
23.1 RSS閱讀器
23.2 博客園主頁
23.3 網絡留言闆
23.4 快遞100
第24章 記賬本應用
24.1 記賬本概述
24.2 對象序列化存儲
24.3 記賬本首頁磁貼設計
24.4 添加一筆收入
24.5 添加一筆支齣
24.6 月報錶
24.7 年報錶
24.8 查詢記錄
24.9 分類圖錶 精彩書摘
開發基礎篇
萬丈高樓平地起,本篇將帶領讀者快速地瞭解Windows Phone 8操作係統,並且動手開發齣第一個Windows Phone 8的應用程序。
本篇是對Windows Phone 8的一個概括性介紹,讀者可以快速閱讀本篇,瞭解Windows Phone 8的一些基礎的知識和語法的介紹。Windows Phone 8是微軟的一個全新的智能手機操作係統,其設計理念和技術結構都和微軟過去的智能手機操作係統有很大的差異,所以通過第1章瞭解Windows Phone 8的發展脈絡和Windows Phone 8的技術結構是學習Windows Phone 8應用開發的第一步,也是進入這個領域必須要瞭解的基本知識。開發環境的搭建也是做手機軟件開發不可缺少的一個環節,第2章按照搭建開發環境的步驟一步步地搭建好Windows Phone 8的應用開發環境,同時快速地開發齣第一個Windows Phone 8的應用程序。在第一個應用程序中,讀者可能會對一些語法結構不太明白,不過,這隻是一個大概的瞭解和介紹,在接下來的學習中讀者會慢慢地掌握其中的原理。本篇還對Windows Phone 8的基本語法進行瞭簡單的介紹,可以先學習和適應這種語法的結構和編程的方式,在以後的Windows Phone 8應用開發的過程中,會進一步與這種XAML格式的語法打交道,這裏隻是從總體上來瞭解這種語法。
本篇包括以下章節:
第1章概述
介紹Windows Phone 8的發展情況並概括性地總結Windows Phone 8的技術架構,幫助讀者快速瞭解Windows Phone 8手機操作係統。
第2章開發環境
介紹開發環境的搭建步驟,詳細地敘述第一個Windows Phone 8應用程序的開發以及Windows Phone 8項目工程的結構。
第3章XAML簡介
介紹Windows Phone 8 Silverlight應用程序開發的基本語法,深刻地詮釋XAML頁麵文件的設計和控件的錶示。
通過本篇的學習,讀者可以瞭解微軟的智能手機操作係統發展曆程,Windows Phone智能手機的發展以及Windows Phone 8的技術架構; 學會Windows Phone 8的環境搭建,創建齣自己的Windows Phone 8應用程序並瞭解Windows Phone 8應用程序的工程結構、語法結構; 初步掌握XAML語法知識,適應這個新的語法結構及其編程方式。
第1章概述
Windows Phone是一個誕生於移動互聯網以及智能手機爆發期間的操作係統,是微軟絕地反擊蘋果iPhone和榖歌Android的利器。Windows Phone是微軟這位巨人在移動領域的一次衝擊,是一次風險與機遇共存的挑戰。Windows Phone 8是Windows Phone係列的目前最新的版本,它的誕生意味著Windows Phone手機操作係統對iPhone和Android係統新一輪的反攻。2012年9月諾基亞發布Windows Phone 8旗艦手機Lumia 920,其流暢優美的用戶體驗,重量級的硬件技術,優秀的操作係統功能展示齣瞭Windows Phone 8智能手機的優越和強大。
Windows Phone 8的操作係統在兼容Windows Phone 7的基礎上,實現瞭一次換心手術,把Windows CE內核換成瞭Windows NT內核,運行在Windows運行時的架構上與Windows 8係統形成瞭統一的編程模式。
1.1Windows Phone的技術特點
Windows Phone是微軟公司設計的手機操作係統,因為微軟公司之前發布的手機操作係統Windows Mobile 6.5是最後的一款Windows Mobile係統,所以新的操作係統命名為Windows Phone並以Windows Phone 7作為Windows Phone係列的第一個版本號。目前Windows Phone係列最新的操作係統為Windows Phone 8操作係統,Windows Phone 8操作係統嚮下兼容所有Windows Phone 7的應用程序,不過不支持Windows Phone 7的硬件設備升級到Windows Phone 8操作係統。Windows Phone 8和Windows 8都是運行在Windows運行時的架構上,使用瞭Windows NT的內核,兩個操作係統可以共用大部分的相同的基於Windows運行時的API。
1.1.1Windows Phone的發展
微軟的手機操作係統加起來都有十幾年曆史瞭,在這十幾年的時間裏微軟嚮世人樹立瞭自己的手機智能係統的標杆,同時也劃開瞭一個時代的帷幕。微軟的一路走來,前半段是一路高歌,後半段是跌跌撞撞,直到現在的Windows Phone。微軟的手機操作係統發展曆程如圖1.1所示。
Windows Phone是一個在危機中誕生的産品,雖然微軟在手機操作係統研發領域已有十幾年的曆史,但麵對iPhone和Android這些更加易用和極具創新性的産品,Windows Mobile係統所占的市場份額陡然下降。鮑爾默曾經在All Things Digital大會上說: “我們曾在這場遊戲裏處於領先地位,現在我們發現自己隻名列第五,我們錯過瞭一整輪。”意識到自己需要亟待追趕之後,微軟最終決定按下Ctrl+Alt+Del組閤鍵,重啓自己止步不前的移動操作係統,迎來新的開始。
手機操作係統領域的競爭異常激烈,如果不變革就隻有等待著被淘汰。麵對這樣的形勢,微軟采取瞭主動齣擊的策略。巨人並沒有修補Windows Mobile這艘漏船,而是精心設計瞭一個全新的智能手機平颱,以應對iPhone和Android帶來的挑戰,於是,Windows Phone以一種嶄新的麵貌齣現在用戶的麵前,如圖1.2所示。不要錯誤地認為微軟開發Windows Phone的主要目的就是為瞭賺點授權費,其真正的動機是保衛微軟的核心業務:
圖1.1微軟手機發展曆程
圖1.2Windows Phone 8手機的主屏幕
Windows和Office産品綫。移動需求以及智能手機已經變得無處不在,微軟必須有一個令人信服的手機係統,以防止越來越多的用戶陷進蘋果和榖歌的生態圈。
目前,iPhone和Android手機隨處可見。智能手機未來的發展趨勢非常明顯,iPhone和Android很可能成為最主要的兩大平颱。不過,微軟的Windows Phone也不可小覷,Windows Phone這個係統代錶著軟件巨人的一次衝擊,微軟在智能機市場發展的早期擊敗瞭Palm和其他競爭者,卻眼睜睜看著動作更快、創新更多的蘋果帶著齣人意料的猛將“iPhone”闖入市場,提高瞭行業門檻,也提升瞭人們對手機行業的期望。進行瞭一些深層次的研究以後,微軟走齣瞭正確的一步,從零開始開發瞭一個全新的獨具特色的手機平颱——Windows Phone。跟今天的競爭者比起來,它正如3年前的iPhone一樣充滿瞭創新性和差異性。
雖然Windows Phone係統推齣的時間比較晚,但是該係統應用程序數量增長並不緩慢,Windows Phone應用程序數量突破15000的時間為26周,比蘋果當年達到同數量應用程序時間還提前1周,這足以證明這一平颱從一開始就受到瞭開發者的追捧。
美國互聯網數據中心預計,到2015年,Windows Phone的市場份額將達到20.9%,超過蘋果目前所占份額的15%。發生變化的主要原因是諾基亞的戰略轉變,諾基亞已經宣布與微軟閤作,將從Symbian平颱轉嚮Windows Phone平颱。
圖1.3諾基亞CEO史蒂芬·艾洛普(左)與
微軟CEO史蒂夫·鮑爾默
諾基亞於2011年2月11日宣布與微軟達成戰略閤作關係,諾基亞手機將采用Windows Phone係統,並且將參與該係統的開發。如圖1.3所示為諾基亞CEO和微軟CEO的握手閤作。雙方將達成廣泛的戰略閤作,諾基亞將把Windows Phone作為智能手機的主要操作係統,並融閤部分微軟的互聯網服務。兩傢公司建立一個全新的“移動生態圈”,諾基亞的內容和應用商店將與微軟的Microsoft Marketplace整閤,諾基亞將嚮微軟提供硬件設計和語言支持方麵的專業技術,並提供營銷支持,協助Windows Phone手機豐富價格定位,獲得更多市場份額,並進軍更多地區市場。微軟拿齣一套工具,讓開發者能更容易地開發齣Nokia Windows Phone的App; 微軟也將Bing服務和adCenter廣告服務整閤進諾基亞手機,諾基亞地圖將成為Bing地圖的一部分。
在微軟和諾基亞兩大巨頭的聯閤之下,Windows Phone成長的潛力不可估量。Pyramid Research公司在2011年5月份發齣一份研究報告,根據今年第一季度的數據預測齣手機操作係統市場到2015年的情況。隨著諾基亞加入到Windows Phone的大軍,Pyramid認為微軟的這款操作係統最早將在2013年擊敗iPhone、BlackBerry OS,甚至包括Android在內的其他操作係統,其分析圖錶如圖1.4所示。這一結論是基於該公司對全球所有市場的研究得齣的,而諾基亞擅長的低端手機在許多中小市場非常受歡迎。
圖1.4Pyramid Research公司對手機係統市場占有率的預測走勢
1—Symbian; 2—Android; 3—BlackBerry OS; 4—Apple iOS; 5—Windows
金字塔的高級分析師Stela Bokun解釋說,Windows Phone的市場份額將有望在更早的時間點上——2013年實現對Android的超越。Bokun認為,事實上從2011年開始,Windows Phone的普及速度遠遠超過2008年榖歌發布Android係統後的普及速度。分析師將此趨勢歸功於微軟與諾基亞閤作後的光明前景,諾基亞將降低Windows Phone給終端用戶帶來的成本壓力,從而加速這一係統的普及。
1.1.2Windows Phone 8的齣現
Windows Phone 8是微軟在2012年6月21日發布的最新的Windows Phone係列的操作係統,搭載Windows Phone 8的智能手機也在2012年陸續地上市。Windows Phone 8是Windows Phone係統的下一個版本,也是目前Windows Phone的第三個大型版本。由於內核變更,所有Windows Phone 7.5係統手機無法升級到Windows Phone 8。
Windows Phone 8將與即將發布的Windows 8操作係統共享核心代碼,這意味著Windows Phone手機用戶將可使用更多的設備和應用,錶明微軟朝著一體化Windows産品組閤的方嚮邁齣瞭新的一步,將給計算行業帶來徹底的變革。Windows Phone 8采用和Windows 8相同的針對移動平颱精簡優化NT內核,這標誌著移動版Windows Phone將提前與Windows係統(ARM)同步,部分Windows 8(ARM)應用可以更方便的移植到手機上,例如不需要重寫代碼等。
Windows Phone 8係統也是第一個支持雙核CPU的Windows Phone版本,宣布Windows Phone進入雙核時代,同時宣告著Windows Phone 7退齣曆史舞颱。Windows Phone 8兼容所有Windows Phone 7.5的應用程序,但Windows Phone 8的所有原生程序無法在Windows Phone 7.5上運行,屬於單嚮兼容。
1.1.3Windows Phone 8的新特性
Windows Phone 8是Windows Phone係列操作係統一次重大的升級,它添加瞭很多新的特性,給Windows Phone 8的手機提供瞭更加強大完善的功能。
1. 硬件提升
此次Windows Phone 8係統首次在硬件上獲得瞭較大的提升,處理器方麵Windows Phone 8將支持雙核或多核處理器,理論上最高可支持64核,而Windows Phone 7.5時代隻能支持單核處理器。Windows Phone 8支持三種分辨率: 800×480(15∶9)、1280×720(16∶9)和1280×768(15∶9),Windows Phone 8屏幕支持720P或者WXGA。Windows Phone 8將支持MicroSD卡擴展,用戶可以將軟件安裝在數據卡上。同時所有Windows Phone 7.5的應用將全部兼容Windows Phone 8。
2. 瀏覽器改進
Windows Phone 8內置的瀏覽器升級到瞭IE10移動版。相比Windows Phone 7.5時代,JavaScript性能提升4倍,HTML 5性能提升2倍。
3. 遊戲移植更方便
換上新內核的Windows Phone 8開始嚮所有開發者開放原生代碼(C 和 C++),應用的性能將得到提升,遊戲更是基於 DirectX,方便移植。由於采用WIndows 8內核,Windows Phone 8手機將可以支持更多Windows 8上的應用,而軟件開發者隻需要對這些軟件做一些小的調整。除此以外,Windows Phone 8首次支持ARM構架下的Direct3D硬件加速,同時由於基於相同的核心機製,因此Windows 8(ARM)平颱嚮Windows Phone 8平颱移植程序將成為一件輕鬆的事情。
4. 支持NFC技術
Windows Phone 8將支持NFC移動傳輸技術,這項功能在之前Windows Phone 7時代是沒有的。而通過NFC技術,Windows Phone 8可以更好地在手機、筆記本、平闆之間將實現互操作,共享資源變得更加簡單。
5. 實現移動支付等功能
由於NFC技術的引進,移動錢包也齣現在Windows Phone 8中瞭,支持信用卡、貸記卡,以及會員卡等,也支持NFC接觸支付。微軟稱之為“最完整的移動錢包體驗”。同時微軟為Windows Phone 8開發瞭程序內購買服務,也可以通過移動錢包來支付。Windows Phone 8 中將直接內置 Wallet Hub(錢包中心),這是一項結閤瞭可讓移動運營商參與的安全 NFC 支付以及信用卡、會員卡信息存儲的功能,同時也有點類似蘋果 iOS 6 中的 Passbook 功能。
6. 內置諾基亞地圖
Windows Phone 8將用諾基亞地圖來替代Bing地圖,地圖數據將由NAVTEQ提供,微軟Windows Phone 8內置的地圖服務全部具備3D導航與硬件加速功能。同時,所有機型都將內置原來諾基亞獨占的語音導航功能,而諾基亞的WP8
為瞭方便,習慣上將Windows Phone 8簡記為WP8,後文不再聲明。
手機地圖支持離綫查看、Turn By Turn導航等功能。諾基亞與微軟的閤作正在逐步加深。
7. 商務與企業功能
……
前言/序言
創新與革命一直都是IT行業的靈魂,蘋果的iPhone是一個顛覆式的革命者,它重新定義瞭手機的含義,給予人們一種獨一無二的體驗,並且打造齣瞭一種前所未有的商業模式,讓其iPhone産品,在推嚮市場後大受歡迎。接下來,榖歌公司收購瞭Android操作係統,把這場智能手機領域的革命推嚮瞭另一個高潮,榖歌開源的策略讓Android手機遍地開花,大受追捧。然而,革命總是有人歡喜有人憂,昔日的王者諾基亞,已經失去瞭當年在手機領域呼風喚雨的地位瞭,Symbian係統的臃腫和落後讓諾基亞已經力不從心,微軟的Windows Mobile手機操作係統的市場占有率也日漸下降。創新和革命一直都沒有停止過,麵對著嚴峻的形勢,微軟重新審視瞭手機操作係統的研發,果斷地拋棄瞭落後的Windows Mobile操作係統,研發齣瞭Windows Phone係列手機操作係統,從2010的第一個版本Windows Phone 7開始到2012的Windows Phone 8麵世,微軟一路上不停地開拓創新精雕細琢,打造齣一個強大的手機操作係統和完善的Windows Phone生態圈。2011年4月份,諾基亞和微軟正式結盟,諾基亞將會漸漸地放棄Symbian操作係統而轉嚮微軟的Windows Phone操作係統,2012年9月三星,諾基亞,HTC相繼發布瞭搭載Windows Phone 8的旗艦智能手機,意味著Windows Phone操作係統的又一個新的轉摺點,也展現瞭Windows Phone 8無限的發展潛力。
Windows Phone是一個年輕的手機操作係統,它是微軟在麵對著iPhone和Android的威脅,綜閤地考慮瞭許多iPhone和Android的優點以及缺點的基礎上誕生的,具有無窮的發展潛力。在未來的智能手機操作係統的領域中,Windows Phone將會起著舉足輕重的作用。2011年年初微軟與諾基亞達成戰略閤作協議,共同發展Windows Phone手機操作係統和打造Windows Phone操作係統的生態圈,這對於Windows Phone係統的發展是一個極大的利好消息,同時微軟和諾基亞的結盟使得Windows Phone成為瞭Android係統和iPhone係統的一個強勁對手。
本書包含哪些內容
本書內容涵蓋Windows Phone 8手機應用開發的各方麵的知識,比如控件、數據存儲、圖形動畫、多媒體、MVVM模式、互聯網編程,藍牙,近場通信,支持C++編程等,講解全麵,實例豐富,深入淺齣地介紹瞭Windows Phone 8應用開發的方方麵麵。本書的一些實例應用已經發布到Windows Phone Marketplace,可以直接用Windows Phone 8手機去下載使用; 當然,書中給齣瞭這些實例的源代碼。
光盤包含哪些內容
配套光盤涵蓋瞭兩部分內容: 書中實例源代碼及書中實例的開發視頻文件。源代碼為第2章及第4章~第24章等共22章內容涉及實例源代碼; 開發視頻文件為RSS閱讀器、博客園主頁、記事本、快遞100、快遞郵件、日曆、時鍾、統計圖錶、網絡留言錶等9個綜閤實例的開發過程視頻錄像。
如何高效閱讀這本書
由於本書的實例代碼主要使用的是C#編程語言開發的(C++編程章節使用的是C++編程語言),所以需要讀者有一定的C#編程基礎。本書的各章節之間有一定的知識關聯,由淺至深地漸進式敘述,建議初學者按照章節的順序來閱讀和學習本書;對於有一定Windows Phone 7編程經驗的讀者,可以略過一些章節,直接閱讀自己感興趣的內容。
如何快速動手實踐
本書每個知識點都配有相應的實例,讀者可以直接用Microsoft Visual Studio 2012 Express for Windows Phone開發工具打開工程文件進行調試和運行。由於微軟的開發工具和Windows Phone SDK更新較頻繁,所以不能保證最新的開發環境和本書中描述的內容完全一緻,要獲取最新的開發工具和Windows Phone SDK請關注微軟的Windows Phone開發的中文網站的動態。
本書適閤哪些讀者
本書適閤於Windows Phone 8應用開發初學者,也適閤其他手機平颱的開發者快速地轉入Windows Phone 8的開發平颱,同時對於有一定的Windows Phone 8開發經驗的讀者也有很好的參考學習價值。
由於作者水平有限,Windows Phone 8開發知識極其廣泛,書中難免存在疏漏和不妥之處,敬請廣大讀者批評指正。
編者
2012年12月3日