病愈已經兩周.這段時間完全與世隔絕的狀態.好在等我出院的時候Windows phone 8已經如期發布.原來在微博[@chenkaihome]上礙於NDA也陸陸續續以遮遮掩掩的姿態翻譯[Application Platform Overview For Windows-phone-8]過部分關於Windows Phone 8一些新特性.現在終於可以公開談論這些問題.
回來后.看到微博上很多行業內主流媒體都全程報道Windows Phone 8發布會的情況.這突然讓我想起了去年4月份.因WP剛發布不久再應用量不足3W多還不被國內主流媒體關注情況下.連續熬夜翻譯Mix 11 Windows Phone Session[MIX11 細節梳理Windows Phone Session]時的場景.那一幕似乎現在還依然歷歷在目.
從2010年10月Windows Phone正式誕生.到如今2年后. 它市場表現如何呢? 找到了IDC關於全球智能手機權威統計數據如下:
Windows Phone 7/Windows Mobile 在 2012 年第三季度的份額為 2%,第三季度全球出貨量 360 萬部。同比去年第三季度的 150 萬部,Windows Phone 整體增長 140%.
windows phone目前排在第五位.隨着今年4月份正式在國內落地.2年后這樣的市場份額數字似乎在基於IOS和Android之后.已經讓人無法忽視其存在.作為最早WP用戶之一.從Windows Phone誕生到經歷Mango7.5版本更新改善到今天第三個基於精簡Windows 8 NT內核重大版本Windows Phone 8的蛻變.
Windows phone 8帶來哪些重大改變?
估計很多人都沒有關注官方針對Windows Phone 到現在版本更迭信息.如下:
Windows Phone
- 7.0.7004 初始版Windows Phone 7
- 7.0.7008 改善軟件更新效率
- 7.0.7390 代號“NoDo”更新,增加剪貼功能,加快應用打開速度,更深度集成Facebook
- 7.0.7392 移除無效軟件憑證
- 7.0.7403 Windows Phone 7.5 更新前期准備
- 7.10.7720 “Mango”更新,提供包括多任務支持、Twitter集成、強化Bing Search等超過 500項更新,並加入對正體中文、簡體中文、日文、韓文等多國語言支持。Windows Phone 7品牌名稱更改為Windows Phone 7.5
- 7.10.7740 修正Microsoft Exchange Server 2003傳送電郵及接收留言時所遇到的問題。
- 7.10.8107 修正虛擬鍵盤突然消失等小毛病,新增對LTE網絡的支持
- 7.10.8773 “Tango”更新,降低硬件要求,支持120種語言,並改善多媒體短信傳送功能。有關更新已逐步發布。
- 7.10.9009 Windows Phone 7.8發布修改開始屏幕,增加磁貼(Tile)定制化,諾基亞會為Lumia系列帶來更多新特性。
- 8.00.9909 Windows Phone 8發布,WP8放棄WinCE內核,改用與Windows 8相同的NT內核。
從如上官方的發布更新版本號來看.分別在7.0.7004、7.0.7720和8.00.9909發生過三個大的版本更新.但Windows phone 8發布則是從內核層級上顛覆原來WP7架構設計.眾所周知WP7是基於Windows Embedded CE 7.0內核.導致現有WP7硬件局限. 只能支持單核處理器.而在WP8 則放棄CE內核.采用於Windows 8相同的NT內核.WP至此也告別單核時代.
那么Windows Phone 8 Native API和Windows 8 具體兼容關系是? 請參見下圖[可以點擊看大圖]:
上圖列出了Windows Phone 8 native API.圖中綠框代表為Windows 8 SDK的子集或者與Windows 8 SDK相同.白框表示是Windows Phone 8新引入的API.[點擊圖片看大圖]
Windows Phone 8 增加采用Native Development on C++.從上圖可以看出Windows Phone 新增的Native API並不多.WP8 支持Windows 8 SDK很大一部分.這對開發人員意味可以再兩個平台之間共享代碼.類似已有的諸如計算、圖形引擎也可以快速移植到Windows Phone 8上來.當然除了支持Native 開發外.WP8還支持Direct3D。這意味着原來PC上基於DirectX的游戲可以方便快速移植到Windows Phone中來。這同樣意味着基於managed框架的游戲性能問題也會得以解決.
雖然Windows Phone 8 API大部分Windows RT相同.但是Ms還是在增加一些Windows 8沒有的API.雖然JavaScript在Windows 8可以訪問WinPRT API.但在WP8中JavaScript則無法訪問WinPRT API. 針對那些沒有改寫的Native API可以通過標准的Com/Win 32技術調用來實現.
這也意味着WP8應用可以更方便向Windows 8Pc移植[可以以極小的代價移植Windows Metro Application以及Windows RT版應用.因為ARM與X86構架的原因.可移植的應用必須是.NET編寫的Application. C與C++程序必須重寫代碼].Windows Phone 8將兼容所有的WP7的應用.但因為內核變更.所以導致所有的WP8應用程序無法再WP 7.5/8上運行.屬於單向兼容.
在WP7 時代移植詬病的開發Native API正式在WP8得到終結. WP8 開始想所有的開發者開發原生代碼[C、C++].由於基於相同的核心機制.WP8也首次支持ARM構架下的Direct3D硬件加速.應用性能將得到提升.
可能很多人都已經知道現在所有的WP7.5設備都無法升級WP8.不過微軟對這個版本用戶也會發布對應Windows Phone 7.8更新.其實關於微軟這麽做目的正確解讀是.在WP 7.8中它將反向移植部分的Windows Phone 8功能至原來的操作系統,包括新版的首頁設計等. 在7.8硬件支持下部分功能.
更多細節請參考LiveSino整理的Windows Phone 8發布會圖文直播. 這里就不在贅述了.
說了這么多.Windows Phone 8新的平台前景如何呢?
作為最早Windows Phone 用戶和開發者之一.我不知道各位如何看Windows Phone 平台未來的走向.在經歷了Windows Phone 從誕生到今天衍化出WP8版本.其實從本質上來說它並不是WP7進化版本.也和以往Windows Ce 智能手機也無任何具體的關系.它更像是一個微軟在面臨有限市場局面情況下.推出一款立志與打通用戶桌面Pc和移動平台頗具戰略野心的產品. 當然反過來說這也是WP8一個巨大買點.
近日在VentureBeat上發起一個關於Windows Phone 8討論.其中VentrueBeat發起一些調查.其中有一篇文章[Developers wary about investing in Windows Phone 8 games].也從主流媒體中也不乏一些理性的思考聲音.在VentureBeat的調查結果中.體現了開發商對Windows 8和Windows Phone 8一種很矛盾的看法:他們喜歡Windows 8但不感冒WP8,原因是他們已經在其它移動平台進行了大量投資,除非WP8手機能吸引到足夠多的用戶群體,否則開發者沒有過多的意願重復投資.
而事實是.微軟已經浪費了太多的時間和機會.現在擺在MS的就是這么一副艱難困境,長期將注意力和精力關注在獲利豐厚的桌面端,對移動智能領域和平台建設的重視不夠,導致整個Windows Phone短期難有起色;而在外部市場上,Google和蘋果紛紛割據各自的領地.截止目前第三方統計Windows Phone Store上應用數量為12.5W.相對於IOS 70W和Android 60W應用數量. 2年周期Windows Phone 開發環境和平台生態環境還有很多需要逐步完善的地方.市場缺乏一定大廠商合作.用戶群體偏小眾.很難吸引大批開發者在短期時間內轉戰到WP平台.
2012年Ms也如期的發布Windows 8、Surface和Windows Phone 8. 這么密集產品發布恐怕也是史無前例的.那么說道這里就留下一個疑問給各位: 這樣密集發布產品動作后 Ms到底能夠在市場和用戶群贏得多大的效果呢? 我相信每個人心中都有自己的判斷.或是說Windows Phone 8又是一個新的起點.如果時間足夠長的話,長到MS能夠有耐心和精力打造自己的平台,長到它爭取到足夠的廠商和用戶.它的命運是否在已經被侵食不多的市場份額面前能夠絕地反擊呢? 這一切一切的疑問還是讓我們拭目以待吧.
作為一個Windows Phone 平台比較早開發者.無論是出於個人職業發展還是對這個平台感情而言.都希望WP8后能夠在新的起點真正的揚帆起航.正是處於對這個平台喜愛.但在事實面前也多少流露出我對這個平台未來前景一些擔憂之處.所以我才說了如上這些話.大局面前生活還的繼續.從本篇幅開始我將開始Blog上陸續更新以Windows Phone 8為主題應用開發序列.本篇為開篇.也歡迎各位持續關注.
或是關注新浪微博[@chenkaihome]交流.