Windows 8讓開發(fā)者痛苦的十大原因
如果你有計劃開發(fā)基于Windows 8的本地應(yīng)用,那就要提前做好心理準(zhǔn)備了。具體要做好哪些心理準(zhǔn)備呢?來自Levit & James公司的工程師Justin James在博文《10 reasons Windows 8 will be painful for developers》中列舉了十件在開發(fā)過程中可能會遇到的痛苦的事。CSDN為大家提供了該文的譯文:
Windows 8開發(fā)者預(yù)覽版自發(fā)布以來,其用戶體驗引起了大家的廣泛關(guān)注和熱議,但卻很少有人談?wù)撍o開發(fā)者所帶來的影響。Windows 8是自Windows 3.X發(fā)展到Windows 95以來的***的一次升級。其中有好的方面,同時也有不好的方面。如果你希望基于WinRT API開發(fā)具有Metro風(fēng)格界面的Windows 8本地應(yīng)用,你就要注意以下十件事。
1.新的市場格局
如果希望你開發(fā)的應(yīng)用可以與Windows 8(包括運行于ARM結(jié)構(gòu)的CPU之上的Windows 8)完全兼容,你就需要基于WinRT/Metro重寫你的應(yīng)用。對于希望進入這個市場開發(fā)者來說當(dāng)然是好事,但對于已有成功應(yīng)用的開發(fā)者來說,在這個平臺上一切將要重新開始。
2.異步模型
開發(fā)任何長期運行的Windows 8應(yīng)用,在很大程度上依賴于異步操作。在某些情景下,這可能是一個很好的解決方案,但在其他情況下卻很難行得通(如下載文件)。它不僅僅用來解決異步調(diào)用的問題,它更要解決諸如錯誤處理、向用戶提供反饋之類的問題。它要求全新的UI設(shè)計方案,與WinForms開發(fā)者所使用的界面完全不同。
3.限制直接訪問硬盤
Windows 8在很多方面限制了對系統(tǒng)的直接訪問,最令開發(fā)者犯難的是對硬盤的訪問限制。Windows 8對應(yīng)用采用了隔離模式,如果應(yīng)用需要訪問外部數(shù)據(jù)(包括網(wǎng)絡(luò)服務(wù)),那么你就可以放棄把它移值到Windows 8上了。
4.觸摸式UI界面
除非你曾開發(fā)過大量的移動應(yīng)用,否則在設(shè)計Windows 8新風(fēng)格UI界面時會遇到相當(dāng)多的麻煩(因為此UI界面要實現(xiàn)觸摸交互功能)。我曾花了很長時間才對此類UI界面的設(shè)計有了一定了解。在靠鼠標(biāo)和鍵盤控制的屏幕上可以很好展現(xiàn)與工作的界面在觸摸屏上的體驗可能會很差,反之亦然。它們之間的平衡很難把握。盡管微軟對Metro風(fēng)格界面的體驗已有多年研究,但它也在努力試圖搞明白這一難題。
5.把握好微軟應(yīng)用商店的規(guī)則
如果你希望利用微軟應(yīng)用商店,你就要搞清楚它的規(guī)則。盡管規(guī)則很合理,但如果它像WP7 App Hub一樣,它將會帶來很大的不和諧。對于初來者,微軟會很嚴(yán)格檢查他們的應(yīng)用,尋找所有問題,比如未處理的異常。雖然這可以保證高質(zhì)量的應(yīng)用,但卻會讓開發(fā)者很遠(yuǎn)離。另外,你還需要遵照審批流程。微軟應(yīng)用商店的詳細(xì)內(nèi)容仍未公布,但根據(jù)之前WP7體驗來推測,它也可能會令開發(fā)者失望。
6.過于強調(diào)云計算
雖然微軟并沒要求使用云計算、Web服務(wù)器及其他技術(shù),但很明顯這些是被鼓勵使用的。像自動同步設(shè)置,設(shè)備之間數(shù)據(jù)的傳輸?shù)榷紝⒊蔀榛疽?guī)則,毫無例外,用戶也將期待使用這些功能。Windows 8可以很容易的做到這些(你可以將在本地保存的信息自動同步到Live上),但你要小心處理敏感數(shù)據(jù)。加密和其他隱私、安全技術(shù)將變得越來越重要。
7.協(xié)議和接品之間的交互
Windows 8所獨具有的思想,即應(yīng)用可以向操作系統(tǒng)提供服務(wù)(如提供聯(lián)系信息、圖片),而不再僅僅把數(shù)據(jù)存儲在普通的目錄下。雖然在技術(shù)層面比較容易,但要把它上升到理念層次就比較困難了。
8.市場的不確定性
下面將介紹一個更高層次的痛點。很清晰,微軟正為平板電腦推出Windows 8,也可能再推出針對Windows Phone的Windows 8?,F(xiàn)在我們可以清晰的看見Android正占領(lǐng)平板電腦市場,同時,只有試圖嘗試Windows 8開發(fā)者預(yù)覽版的人才會使用Metro風(fēng)格的UI界面。再者,Wetro風(fēng)格的體驗本來就是針對觸摸設(shè)備的,而預(yù)覽版只能安裝于虛擬機上,所以使它真正達到平板電腦的體驗還是很困難的。
另外,見過Windows 8開發(fā)者預(yù)覽版本的用戶并不代表其就是典型用戶。Windows 8是否符合這個市場?微軟是否會完全放棄Metro風(fēng)格的UI界面?Windows 8平板電腦的市場前景如何?現(xiàn)在很難下定論。
9.缺少平板電腦硬件產(chǎn)品
沒有平板電腦試運行Windows 8是一個嚴(yán)重的問題。同時你也無法判斷你的應(yīng)用程序在這些平板電腦上的體驗是否被用戶所喜歡,無論UI還是性能。
10.存在已淘汰技術(shù)的痕跡
這一點最傷我的心。微軟曾有過把一項技術(shù)作為未來的重大發(fā)展技術(shù),而幾年后此技術(shù)便半路夭折的歷史。我們不清楚微軟是否會在Windows 8發(fā)布前、發(fā)布后而松懈(如Kin),Windows 8幾年之后是否會走下破路(如Zune、Silverlight)。如果Windows 8不能獲得成功,微軟可能會另拓新徑,而你在Windows 8上所做的一切努力將被放棄。
【編輯推薦】