Windows Phone 7:開(kāi)發(fā)者眼中的進(jìn)與退

2010/11/15 10:11:24    編輯:軟媒 - 笨笨     字體:【

Win7之家afsion.com.cn):Windows Phone 7:開(kāi)發(fā)者眼中的進(jìn)與退

  本文為DevDiv移動(dòng)開(kāi)發(fā)社區(qū)創(chuàng)始人吳學(xué)友在Windows Phone7發(fā)布之際寫得了一篇觀感文章。從Windows Phone 7與對(duì)比Windows Mobile6.5到Windows Phone7與對(duì)比主流操作系統(tǒng),詳盡描述Windows Phone 7的優(yōu)缺點(diǎn),進(jìn)步與退步。

  從3月份的CTP(Community TechnicalPreview,社區(qū)技術(shù)預(yù)覽版本),到4月的CTP Refresh,然后是7月的Beta版本,正式版本的Windows Phone7的SDK終于和大家見(jiàn)面了。下面我就從開(kāi)發(fā)者的角度談?wù)刉indows Phone 7:

  首先,從對(duì)比Windows Mobile6.5開(kāi)始吧。

  升級(jí)變化之一:編程語(yǔ)言的變化

  與Windows Mobile6.5不同,托管代碼成了Windows Phone 7唯一的編程語(yǔ)言,而編寫托管代碼將有兩種方式,一種是編寫Silverlight的程序,針對(duì)一般的手機(jī)應(yīng)用;另外一種方式是編寫XNA的程序,更適合游戲的開(kāi)發(fā)。

  這里的Silverlight程序不同于傳統(tǒng)意義上的Silverlight,雖然它是源于Silverlight3,但是去掉了一部分不適用于移動(dòng)設(shè)備的特性,同時(shí)又加入了一些Silverlight4的特性或者是針對(duì)移動(dòng)設(shè)備的代碼。另外,傳統(tǒng)的Silverlight程序都是在瀏覽器中執(zhí)行的;但Windows Phone7上的Silverlight是脫離瀏覽器單獨(dú)運(yùn)行的。

  對(duì)于XNA程序,絕大部分國(guó)內(nèi)開(kāi)發(fā)者或許比較陌生。XNA是以前微軟用來(lái)開(kāi)發(fā)XBox上的游戲以及Zune上的應(yīng)用程序的一套開(kāi)發(fā)工具。不過(guò)由于XBox和Zune一直沒(méi)有正式進(jìn)入國(guó)內(nèi),國(guó)內(nèi)開(kāi)發(fā)者關(guān)注這方面的內(nèi)容甚少。XNA的開(kāi)發(fā)環(huán)境是一套基于Visual Studio的,被稱為XNA Game Studio的東西。

  升級(jí)變化之二:對(duì)第三方應(yīng)用限制增多

  Windows Phone 7的另一個(gè)顯著變化是對(duì)第三方應(yīng)用開(kāi)發(fā)限制增多了,主要包括:

  由于Windows Phone 7的第三方軟件不能在后臺(tái)執(zhí)行,只能單任務(wù)。后臺(tái)監(jiān)控短信、電話等傳統(tǒng)應(yīng)用基本行不通;

  開(kāi)發(fā)者不能在使用C++作為編程語(yǔ)言,當(dāng)前C#是Windows Phone 7 Series平臺(tái)上唯一支持的開(kāi)發(fā)語(yǔ)言;

  目前還不支持VB開(kāi)發(fā);沒(méi)有任何機(jī)制調(diào)用系統(tǒng)API。

  對(duì)比主流操作系統(tǒng)

  除了appstore外,現(xiàn)在iPhone是大家學(xué)習(xí)的目標(biāo):多點(diǎn)觸摸、手勢(shì)、電容屏、絢麗的界面……等等。與Symbian, Android,iPhone比較,我們沒(méi)辦法單純說(shuō)它比那個(gè)平臺(tái)好,比那個(gè)平臺(tái)差,就對(duì)比說(shuō)說(shuō)Windows Phone 7的進(jìn)步與退步:

  進(jìn)步一:開(kāi)發(fā)更簡(jiǎn)單

  開(kāi)發(fā)難度較Android、iPhone相當(dāng),甚至要更簡(jiǎn)單,微軟有出色的Visual Studio這款I(lǐng)DE,手機(jī)平臺(tái)模擬器,電話、短信模擬工具做的也非常出色。

  VisualStudio可以是說(shuō)是最好的集成開(kāi)發(fā)工具,相對(duì)于Android采用的Eclipse,優(yōu)勢(shì)比較明顯。Eclipse經(jīng)常會(huì)出現(xiàn)無(wú)法編譯,需要反復(fù)更新、反應(yīng)遲鈍等現(xiàn)象;同時(shí)Android模擬器占用資源很大;Android開(kāi)發(fā)包與Eclipse協(xié)同工作需要做復(fù)雜配置工作,而WindowsPhone直接安裝SDK即可,幾乎不需要配置。

  另外,開(kāi)發(fā)Windows Mobile/Windows Phone應(yīng)用只能在Windows操作系統(tǒng)上;開(kāi)發(fā)Android應(yīng)用,Windows, Linux, Mac OS操作系統(tǒng)都可以。

  iPhone開(kāi)發(fā)工具簡(jiǎn)單實(shí)用,但是缺少必要的如模擬電話、短信等工具支持。

  相對(duì)來(lái)說(shuō),Symbian開(kāi)發(fā)就復(fù)雜很多了,Symbian目前是唯一一款非ARM指令的模擬器,由于與手機(jī)環(huán)境有差異,導(dǎo)致很多問(wèn)題沒(méi)法在模擬器上復(fù)現(xiàn),尤其對(duì)底層開(kāi)發(fā)人員來(lái)說(shuō)Symbian模擬器用處不大;另外,Symbian還沒(méi)有很好解決在Linux上開(kāi)發(fā)的問(wèn)題;電話、短信模擬工具配置復(fù)雜,配置成功者少之又少。

  進(jìn)步二:徹底變革菜單增強(qiáng)觸控體驗(yàn)

  Android/iPhone就是為觸摸屏設(shè)計(jì)的,后來(lái)者具有先天的優(yōu)勢(shì)。

  Windows Phone7為了更好的支持觸摸屏,對(duì)菜單進(jìn)行了徹底的改革,基本上拋棄了傳統(tǒng)Windows的菜單形式,屏幕分配出來(lái)特定區(qū)開(kāi)發(fā)者眼中Windows Phone 7的進(jìn)步與退步

來(lái)源: 編輯: 日期:10-10-15 09:18:19

域作為菜單,菜單占用的空間變大,更適合于手觸摸;這點(diǎn)上已經(jīng)達(dá)到了Android/iPhone的水平,再加上電容屏、多點(diǎn)觸摸,相對(duì)于Windows Mobile6.5是個(gè)巨大的進(jìn)步,也是它最大的亮點(diǎn)。

  而Symbian 3的菜單仍舊停留在傳統(tǒng)的Windows菜單水平,由于菜單項(xiàng)之間間距過(guò)小,很容易出現(xiàn)點(diǎn)錯(cuò)菜單的現(xiàn)象,這是Symbian 3被認(rèn)為落后其他平臺(tái)一代的重要原因之一。

  退步:暫不支持多任務(wù)

  目前Symbian/Android是支持多任務(wù)的,Android對(duì)多任務(wù)進(jìn)一步做了些特殊處理,系統(tǒng)資源不足時(shí)候優(yōu)先關(guān)閉后臺(tái)執(zhí)行的程序,保證關(guān)鍵任務(wù)(如電話)可以穩(wěn)定執(zhí)行。

  Windows Phone 7不再支持多任務(wù),不再支持后臺(tái)任務(wù),這點(diǎn)與iPhone 3GS及以前的機(jī)制相同,某種程度上來(lái)說(shuō)這是一個(gè)退步。

  iPhone 4只支持部分多任務(wù);程序可以放到后臺(tái),但是在后臺(tái)處于掛起狀態(tài),程序是不能執(zhí)行任何操作的,只是免去了程序退出保存狀態(tài)之苦。

  開(kāi)發(fā)者:多數(shù)人處于觀望狀態(tài)

  開(kāi)發(fā)人員對(duì)Windows Phone 7反應(yīng)不一,有人贊許Windows Phone取得的巨大進(jìn)步,有的人對(duì)微軟的進(jìn)度頗有微詞,對(duì)Windows Phone 7的iPhone化很不以為然,多數(shù)人則處于觀望狀態(tài)。

  目前還不清楚 Windows Phone 7能獲得廠商多大程度的支持,開(kāi)發(fā)者的態(tài)度很大程度上取決于第三方軟件公司的戰(zhàn)略,軟件公司戰(zhàn)略則取決于終端廠商對(duì)Windows Phone7認(rèn)可程度,所以現(xiàn)在是考驗(yàn)微軟的公關(guān)時(shí)刻了。

  總之,從開(kāi)發(fā)人員角度來(lái)講,WindowsPhone進(jìn)步是明顯的,電容屏、多點(diǎn)觸摸、手勢(shì)支持、更加絢爛的界面、編程門檻變得更低。但是WindowsPhone退步的地方也不少,單任務(wù),不支持后臺(tái)程序,不支持c/c++編程接口,使開(kāi)發(fā)人員能做的事情變得少了很多。不過(guò),就單任務(wù)問(wèn)題,以微軟的角度來(lái)說(shuō),似乎他們認(rèn)為手機(jī)的穩(wěn)定性,快速響應(yīng)用戶也許是更重要的,這個(gè)也是iPhone以前強(qiáng)調(diào)的理念,但是iPhone4已經(jīng)華麗轉(zhuǎn)身了,也許微軟跟錯(cuò)了方向。