iOS 5與Mac OS X Lion平臺(tái)的技術(shù)展望
今年WWDC 2011會(huì)議發(fā)布了iOS 5與Mac OS X Lion的預(yù)覽。 我對(duì)這個(gè)會(huì)議技術(shù)上的感受只要有三個(gè):1. 蘋果發(fā)布云服務(wù)產(chǎn)品和技術(shù)框架,其云策略和Google及其他廠商的有所不同,在用戶體驗(yàn)和開發(fā)者實(shí)現(xiàn)上略勝一籌。2. "Cut the Cord",剪掉連線,去掉iOS對(duì)PC/Mac的依賴。3. iOS與Mac OS的應(yīng)用體驗(yàn)會(huì)越來(lái)越相似。技術(shù)上,iOS和Mac OS的新功能API會(huì)出現(xiàn)更多的交集。從另外一個(gè)角度來(lái)說(shuō),蘋果利用現(xiàn)有的iOS開發(fā)者數(shù)量上的優(yōu)勢(shì),盡力拉攏他們也為Mac OS而開發(fā)出優(yōu)秀的應(yīng)用,每個(gè)優(yōu)秀的產(chǎn)品都能有移動(dòng)和桌面客戶端兩條產(chǎn)品線。 好啦,下面讓我門來(lái)詳細(xì)說(shuō)說(shuō)以上的觀點(diǎn)。
蘋果的云策略
蘋果認(rèn)為,對(duì)用戶來(lái)說(shuō),加入云服務(wù)后的優(yōu)秀應(yīng)用應(yīng)該對(duì)原有的應(yīng)用體驗(yàn)不該有太大的變化,只是在很多地方變得更加方便。什么意思呢?以iWork為例子,就是你原來(lái)是怎樣編輯文檔的,添加了云服務(wù)之后編輯過(guò)程還是一樣,沒有改變,只是當(dāng)你離開了iPad,到了iPhone,那個(gè)編輯過(guò)的文檔立刻就出現(xiàn)了。用戶不需要做出額外的操作。蘋果堅(jiān)決走客戶端client+云API的路子,這個(gè)路子對(duì)用戶來(lái)說(shuō),體驗(yàn)應(yīng)該是***的,因?yàn)樵膎ative api做出來(lái)的應(yīng)用才可能把設(shè)備的內(nèi)存,圖形,圖像效果發(fā)揮到***。這個(gè)策略和google的chromebook路子是完全不一樣的,Google告訴你,有了chromebook,你就算把筆記本砸了,你的數(shù)據(jù)還是完好無(wú)缺,拿到一部新chromebook后可以有可以用了,但大家細(xì)心一想,你平時(shí)有多少機(jī)會(huì)把機(jī)子砸掉?我們?cè)倏纯碿hromebook的用戶體驗(yàn)吧,在chromebook上,你想要用你平時(shí)喜歡的app來(lái)編輯一下照片,chromebook會(huì)告訴你,沒有,去找一個(gè)web app吧,你想要打開你平時(shí)喜歡用的QQ軟件來(lái)聊天,沒有,去用web qq吧。很多早期的chromebook用戶反映,在沒有網(wǎng)絡(luò)的情況下,chromebook只是一塊磚。很多google io開會(huì)拿到chromebook以后,玩兩下就把它扔到一邊或者賣掉。這就是google的云策略,把用戶體驗(yàn)來(lái)個(gè)180度的轉(zhuǎn)變,為的就是你砸掉筆記本后,可以立刻使用原來(lái)的數(shù)據(jù)。硬件的體驗(yàn)就更不用說(shuō)了,為了節(jié)省成本,價(jià)格上打敗netbook,注定chromebook的硬件造工比netbook更粗糙。
很多人肯定在wwdc都看到了老喬介紹蘋果新的數(shù)據(jù)中心,整個(gè)發(fā)布會(huì)下來(lái)之后,開發(fā)者恍然大悟,這個(gè)數(shù)據(jù)中心不但是為iOS和Mac的音樂,照片等云服務(wù)而建的,這個(gè)數(shù)據(jù)中心另外一個(gè)目的是為第三方開發(fā)而建的,想想,以前,如果開發(fā)者要做一個(gè)云服務(wù)的應(yīng)用,iPhone、iPad、Mac上無(wú)縫交換數(shù)據(jù),要自己搭建服務(wù)器,請(qǐng)問(wèn),當(dāng)你的服務(wù)如果達(dá)到了百萬(wàn)用戶級(jí)別以后,你的開發(fā)成本要多少?服務(wù)器運(yùn)營(yíng)成本要多少?現(xiàn)在有了iCloud API以后,這些成為都轉(zhuǎn)移到了蘋果的服務(wù)器上去了,轉(zhuǎn)移到蘋果的數(shù)據(jù)中心去了,你的很多部分的成本立刻為零。每年交給蘋果$99刀的開發(fā)者membership費(fèi)用,你就可以開發(fā)出***,甚至***用戶的應(yīng)用,而且你的服務(wù)器成本為零。這就是我認(rèn)為蘋果在云策略上召喚更多開發(fā)者的另一殺手锏。用戶喜歡你的app,喜歡他的iPhone或者iPad,就會(huì)向蘋果購(gòu)買更多的存儲(chǔ)空間,就這么簡(jiǎn)單。
說(shuō)到iCloud API,蘋果再次以開發(fā)者代碼改動(dòng)最小為設(shè)計(jì)大綱,發(fā)布了一系列的新API。以前我們要做服務(wù)器端的數(shù)據(jù)交互,通常想到的就是在web端寫一系列的json接口,然后在iOS端將json轉(zhuǎn)換為NSDictionary或自定義的數(shù)據(jù)類型,然后再進(jìn)行處理。有了iCloud之后呢?如果你原來(lái)就用iOS的數(shù)據(jù)庫(kù)框架CoreData,幾行代碼或者小設(shè)置,iOS自動(dòng)就把你的數(shù)據(jù)庫(kù)備份到iCloud,你不需要任何考慮什么時(shí)候向服務(wù)器發(fā)出請(qǐng)求,什么時(shí)候下載新數(shù)據(jù),這一切都在iOS后臺(tái),它自己完成了。新引入的UIDocument概念就讓更多文檔應(yīng)用開發(fā)變得無(wú)比的方便,一般文檔應(yīng)用開發(fā),例如我的iNotes for iPad為例,由于iOS的文檔操作都是不需要用戶點(diǎn)擊“保存”按鈕的,開發(fā)者要考慮進(jìn)行后臺(tái)保存的規(guī)則和實(shí)現(xiàn)代碼,而且保證后臺(tái)save的IO操作不影響界面流暢性,就是不能block掉主線程。這一切有了UIDocument后,都是由UIDocument自己完成了,開發(fā)者不再需要寫這方面的代碼,只要告訴UIDocument從那里讀取、寫入IO數(shù)據(jù),數(shù)據(jù)讀取后如何轉(zhuǎn)換開發(fā)者需要的數(shù)據(jù)格式就好了,甚至只要告訴UIDocument往那里存儲(chǔ)iCloud數(shù)據(jù),UIDocument就自動(dòng)上傳,下載和檢測(cè)云端數(shù)據(jù)的變化。如果云端數(shù)據(jù)和本地?cái)?shù)據(jù)的內(nèi)容有版本沖突,UIDocument會(huì)發(fā)出警告,提供歷史版本快照。說(shuō)得太多了,這里就此打住了。
總的來(lái)說(shuō),iCloud真的非常有趣,估計(jì)今年年底會(huì)出現(xiàn)很多非常有意思的應(yīng)用,蘋果在發(fā)布會(huì)甚至承諾windows native API,不過(guò)暫時(shí)完全沒有看到這方面的資料,如果是真的話,估計(jì)要做一個(gè)比較完整云端的跨平臺(tái)應(yīng)用(iOS, Mac OS, Windows)就不難了。
后PC時(shí)代的移動(dòng)設(shè)備
iOS 5.0開始,蘋果增加了一個(gè)概念“Cut the cord"--剪斷連線,或者叫PC Free。iOS設(shè)備作為一部后PC時(shí)代的設(shè)備。世界上的很多iPhone/iPad用戶家里都未必有一臺(tái)PC電腦,或者說(shuō)他們買了iPad以后,就不考慮再為家里購(gòu)買一臺(tái)PC了。所以iOS 5.0的其中一個(gè)理念就是設(shè)置,備份,安裝軟件等操作都無(wú)需一定要在桌面電腦上來(lái)完成。很多人可能說(shuō),Android手機(jī)從一開始就不必需要電腦來(lái)激活,設(shè)置等工作。但這次iOS 5在這個(gè)基礎(chǔ)上擴(kuò)展了更多,很多原來(lái)只能在PC上才能完成的工作,在iOS 5以后,移動(dòng)設(shè)備上也能完成。例如,iOS上的Photo.app實(shí)現(xiàn)了照片對(duì)比度,亮度修改,去除紅眼等一般PC上才能完成的操作。還有iMovie的高清視頻編輯,還有CoreImage能完成的人臉識(shí)別功能。這種類型的應(yīng)用能在手機(jī)上運(yùn)行,在幾年前真是不敢想像的。開發(fā)者們應(yīng)該好好把握iOS 5這個(gè)機(jī)會(huì),開發(fā)一些以前在PC上才能完成的任務(wù),在移動(dòng)平臺(tái)上也能做了。這種趨勢(shì)將同樣適用于企業(yè)應(yīng)用軟件開發(fā),未來(lái)幾年相信更多的企業(yè)級(jí)桌面應(yīng)用會(huì)遷移到移動(dòng)設(shè)備應(yīng)用上去,現(xiàn)在就開始準(zhǔn)備你的產(chǎn)品和項(xiàng)目吧。
iOS的多媒體技術(shù)
iOS的多媒體技術(shù)越來(lái)越強(qiáng)大,本人認(rèn)為這個(gè)也是其他移動(dòng)平臺(tái)和iOS的差距***的方面。隨著雙核CPU,強(qiáng)大GPU硬件,以及軟件GCD(Grand Central Dispatch)多核計(jì)算框架的介入,開發(fā)人員可以開發(fā)出越來(lái)越不可思議應(yīng)用。例如,iOS5***的CoreImage API,可以每個(gè)人都很容易地對(duì)圖片的尺寸,亮度,色彩,修正紅眼等編輯。iOS 5 加入了另外一個(gè)本人認(rèn)為非常有實(shí)用的功能,iOS AirPlay Mirroring。這個(gè)功能可以讓用戶通過(guò)無(wú)線AirPlay在寬屏大電視上播放視頻,瀏覽網(wǎng)頁(yè),播放幻燈片。或者以后很多公司的會(huì)議室不再放著筆記本加幾個(gè)什么VGA/DVI轉(zhuǎn)換頭,一個(gè)$99刀蘋果 TV就好了,參會(huì)者拿著iPad進(jìn)入會(huì)議室,誰(shuí)要在大屏幕上顯示內(nèi)容,連上AirPlay就好。這種場(chǎng)景特別適合商務(wù)和教育類。
Mac OS X Lion的App Store
Mac App Store的前景還是挺可觀的,畢竟Mac的銷售額還是一路攀升的,加上Mac OS的很多方面的軟件本來(lái)就比windows要少很多,需求空間很大。隨著iCloud API的加入,更多的iOS App會(huì)愿意為Mac OS X開發(fā)客戶端,Lion之后,對(duì)iOS開發(fā)者來(lái)說(shuō),為Mac OS X的開發(fā)學(xué)習(xí)成本將會(huì)越來(lái)越低,為什么?因?yàn)镸ac OS X的開發(fā)API和iOS越來(lái)越相像,例如,Lion上的NSTableView學(xué)習(xí)了iOS的UITableView將會(huì)簡(jiǎn)化開發(fā)。幾乎每個(gè)iOS開發(fā)人員都很熟悉UITableView,在Lion上實(shí)現(xiàn)tableview就不再繁瑣了。加上國(guó)內(nèi)很多廠商近來(lái)都發(fā)布和更新了mac client軟件,如QQ for Mac, SPlayerX射手播放器, 迅雷等等。國(guó)內(nèi)市場(chǎng)也開始擴(kuò)大,開發(fā)者有空可以開始試水這個(gè)方向。
總結(jié)
Mac OS Lion開始拉近了與iOS之間的距離,例如它的多點(diǎn)觸摸(Multi-touch)操作,全屏應(yīng)用體驗(yàn)與Launch Pad,還有API之間的交集越來(lái)越多,這樣大量的iOS的開發(fā)者就可以比較容易、方便地為Mac開發(fā)出應(yīng)用,而Mac一直傳承下來(lái)的強(qiáng)大功能,也越來(lái)越多向iOS遷移。這一大優(yōu)勢(shì)是其他平臺(tái)沒有的,有也只有微軟才能做到,因?yàn)槌宋④浐吞O果,沒有其他廠商既有強(qiáng)大桌面操作系統(tǒng)又有高性能的移動(dòng)系統(tǒng),Google雖然內(nèi)部有Linux,但畢竟沒有經(jīng)過(guò)無(wú)數(shù)用戶使用過(guò)的操作系統(tǒng)。微軟在移動(dòng)平臺(tái)上還是沒有形成很大的氣候。iOS今年的***大特性就是iCloud,云應(yīng)用已經(jīng)到來(lái),而不是即將來(lái)臨,現(xiàn)在iOS 5雖然到了beta3,不過(guò)很多新API還是用不了,或者bug無(wú)數(shù),Sample code也還沒有出來(lái),大家的差距還不算大,要做新應(yīng)用的,趕緊學(xué)習(xí)吧!還來(lái)得及!