自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

外文解析:Windows上的iOS與Android

譯文
移動(dòng)開發(fā) Android
在上周召開的Build開發(fā)者大會(huì)上,微軟公司連續(xù)發(fā)布了一系列關(guān)于Windows系統(tǒng)平臺(tái)的開發(fā)聲明,其中一項(xiàng)內(nèi)容甚至堪稱爆炸性:Windows系統(tǒng)將支持面向iOS以及Android開發(fā)的應(yīng)用程序。

一條能夠承載十億用戶的橋梁,但它所通往的終點(diǎn)是……Android與iOS?!

在上周召開的Build開發(fā)者大會(huì)上,微軟公司連續(xù)發(fā)布了一系列關(guān)于Windows系統(tǒng)平臺(tái)的開發(fā)聲明,其中一項(xiàng)內(nèi)容甚至堪稱爆炸性:Windows系統(tǒng)將支持面向iOS以及Android開發(fā)的應(yīng)用程序。

從第一印象來看,這一舉動(dòng)明顯極度危險(xiǎn)。Windows絕不是第一款希望能夠?qū)⑵渌鼞?yīng)用程序納入自身支持范疇的系統(tǒng)平臺(tái)。眾所周知,IBM公司曾經(jīng)于上世紀(jì)九十年代將OS/2宣揚(yáng)為一套“比Windows更Windows”的操作系統(tǒng),并鼓吹其能夠運(yùn)行全部現(xiàn)有Windows應(yīng)用程序、且具備更出色的穩(wěn)定性與性能表現(xiàn)。就在最近,BlackBerry 10也實(shí)現(xiàn)了對(duì)Android應(yīng)用程序的支持能力,黑莓通過Amazon App Store提供許可并利用其作為通向Android兼容性軟件的捷徑。

然而無論是OS/2還是BlackBerry 10都沒能成功踐行自己所承諾的能力。在一套利基平臺(tái)上支持其它應(yīng)用程序主要面對(duì)著兩大難題。第一是便捷性:它消除了開發(fā)人員費(fèi)心了解目標(biāo)平臺(tái)原生特性的理由。投入時(shí)間與精力學(xué)習(xí)某種小眾平臺(tái),這本身就不啻為一種賭博,而向開發(fā)人員們傳達(dá)“哦嘿,你可以直接使用自己的現(xiàn)有Win16或者Android程序……”的作法,正如IBM與黑莓原先所做的,實(shí)際上傳遞出了一種對(duì)自己殊為不利的信息——“別費(fèi)心學(xué)習(xí)我們的平臺(tái)或者為其編寫原生應(yīng)用了,沒必要。”

事實(shí)證明,這兩款平臺(tái)也遭遇到了如預(yù)期一樣的命運(yùn)。盡管確實(shí)有開發(fā)人員編寫出一些真正的OS/2應(yīng)用程序——同樣的情況也發(fā)生在BlackBerry 10平臺(tái)之上——但它們的數(shù)量與規(guī)模都非常有限。關(guān)于這種情況,我們不妨再說得明確一點(diǎn)。如果IBM公司計(jì)劃投入大量資源來改善Win16應(yīng)用程序在OS/2上的運(yùn)行效果,而這些Win16應(yīng)用程序又確實(shí)能夠同時(shí)被出售給OS/2用戶與Windows 3.1用戶,那么開發(fā)人員為什么還要費(fèi)力氣去編寫Win16之外的純OS/2應(yīng)用呢?

這種能力在實(shí)現(xiàn)過程中放棄了大部分控制空間。為了讓這些面向第三方平臺(tái)開發(fā)出的應(yīng)用程序能夠順利運(yùn)行在自身環(huán)境之下,我們必須拱手聽命于第三方平臺(tái)、根據(jù)其實(shí)際情況調(diào)整自己的API并添加新功能。這一點(diǎn)絕對(duì)讓OS/2吃盡了苦頭:就在IBM公司一直忙于宣傳OS/2在運(yùn)行16位Windows應(yīng)用程序時(shí)的出色表現(xiàn)時(shí),微軟公司則將時(shí)間與精力用于鼓勵(lì)開發(fā)人員創(chuàng)建新的32位Windows應(yīng)用程序,從而推動(dòng)最終用戶們購(gòu)買能夠支持32位應(yīng)用的Windows 95。32位軟件的新世界顯然不是OS/2能夠就會(huì)得了的,因此IBM公司在營(yíng)銷過程中著重強(qiáng)調(diào)的OS/2重要特性就這樣變得一文不值。OS/2確實(shí)在一部分利基市場(chǎng)上獲得了成功,但其最終仍然難逃失敗的命運(yùn)。

支持Android應(yīng)用程序也將帶來類似的風(fēng)險(xiǎn)。如果Android軟件成為一套平臺(tái)上軟件生態(tài)系統(tǒng)的主要組成部分,那么Android系統(tǒng)中的任何變動(dòng)(例如新型API或者其它功能的出現(xiàn))在給相關(guān)應(yīng)用程序帶來提升的同時(shí)、也會(huì)給支持其運(yùn)行的其它系統(tǒng)平臺(tái)帶來巨大壓力。不過在這方面,Android陣營(yíng)糟糕的系統(tǒng)更新狀況倒是能讓人少一點(diǎn)擔(dān)心。畢竟大多數(shù)Android手機(jī)都沒能匹配最新的Android功能或者系統(tǒng)版本,所以大多數(shù)Android軟件都不具備這種與時(shí)俱進(jìn)的新特性。這意味著Android兼容性平臺(tái)能夠在一年甚至更長(zhǎng)的時(shí)間段內(nèi)與谷歌的前沿設(shè)計(jì)思路保持距離,而同時(shí)繼續(xù)擁有對(duì)Android應(yīng)用程序的良好支持能力。

但這種狀況在iOS陣營(yíng)方面卻并不適用。要想與蘋果的應(yīng)用程序相兼容,Windows平臺(tái)必須始終跟得上iOS的發(fā)展步伐,因?yàn)樘O果的開發(fā)者社區(qū)絕不接受任何形式的功能妥協(xié)。

考慮到上述問題,我們就能明白為什么在Windows平臺(tái)上支持Android應(yīng)用程序會(huì)被視為一種混亂的開端,而且自去年相關(guān)消息傳出后技術(shù)業(yè)界就一直抱持著這種負(fù)面態(tài)度??雌饋恚④浌局皇菃渭兎赶铝舜饲捌渌朔高^的錯(cuò)誤——希望依靠一己之力幫助其手機(jī)平臺(tái)進(jìn)行最后一搏。

微軟公司上周在Build大會(huì)上提出的Android與iOS支持議案時(shí)并沒有為二者提供特別的推廣力度。Astoria項(xiàng)目與Islandwood項(xiàng)目——二者分別為Android與iOS應(yīng)用程序支持方案的代號(hào)——只是分別在自己的主題演講中得到了強(qiáng)調(diào)。也許有人會(huì)認(rèn)為,Android與iOS應(yīng)用程序支持能力將成為Windows 10在各類硬件基礎(chǔ)之上實(shí)現(xiàn)通用化Windows App發(fā)展思路的堅(jiān)實(shí)根基。但我們得說,從開發(fā)者的角度來看,為其它平臺(tái)開發(fā)應(yīng)用程序再將其移植到Windows上、明顯要比直接開發(fā)原生Windows應(yīng)用要?jiǎng)澦愕枚唷?/p>

很明顯,Astoria與Islandwood兩大項(xiàng)目確實(shí)有可能帶來原生Windows應(yīng)用無人問津的風(fēng)險(xiǎn)。這種強(qiáng)行支持的作法也很像當(dāng)初IBM公司讓OS/2與Win16軟件相兼容、或者BlackBerry 10擁抱Amazon App Store的掌故。不過必須承認(rèn),這二者之間并不完全相同。盡管目前還無法確定,但我們也許會(huì)發(fā)現(xiàn)在微軟的引導(dǎo)下、情況將會(huì)走向與IBM及黑莓不同的推進(jìn)道路。

Astoria項(xiàng)目深入剖析

Astoria與Islandwood從表面上看非常相似,但其底層技術(shù)與實(shí)現(xiàn)方式則迥然有別。對(duì)于開發(fā)人員而言,Astoria項(xiàng)目可能顯得更為直觀。Windows系統(tǒng)長(zhǎng)久以來一直擁有著利用所謂子系統(tǒng)機(jī)制支持多種API體系的能力。其中Win32 API一直為幾乎所有Windows軟件所使用(其中也包括通用型Windows應(yīng)用),它同時(shí)也是影響最大、知名度最大的API之一。而在Windows的現(xiàn)代版本當(dāng)中,它事實(shí)上也成為惟一留存的API。不過從歷史角度講,Windows上的API家族其實(shí)也曾經(jīng)興盛。在此之中,首個(gè)Windows NT版本當(dāng)中就包含有一套OS/2子系統(tǒng),其能夠支持一部分特定OS/2應(yīng)用程序。但這僅僅是歷史上的一段小插曲,是證明著微軟曾經(jīng)與IBM協(xié)作開發(fā)操作系統(tǒng)的故紙殘留。

Windows還曾經(jīng)包含有一套POSIX子系統(tǒng)。POSIX屬于IEEE標(biāo)準(zhǔn)化下的API,從本質(zhì)上講用于定義Unix API。以Solaris、Linux、OS X以及AIX為代表的多種操作系統(tǒng)都擁有POSIX或者其它類似的實(shí)現(xiàn)方法。Windows NT之所以要將POSIX納入支持范疇,是因?yàn)槊绹?guó)政府方面的監(jiān)管機(jī)構(gòu)曾經(jīng)就此作出過強(qiáng)制要求。與OS/2子系統(tǒng)不同,這套POSIX子系統(tǒng)的維護(hù)甚至是擴(kuò)展工作都延續(xù)了多年,相關(guān)任務(wù)首先由第三方(也就是Inetrix公司)負(fù)責(zé),而后由微軟親自打理。微軟方面而后收購(gòu)了Interix工具并將其重新命名為Services For Unix(簡(jiǎn)稱SFU)以及Subsystem for UNIX Applications(簡(jiǎn)稱SUA)。

從Windows 2000開始,OS/2子系統(tǒng)正式被扔進(jìn)歷史的垃圾堆。而POSIX子系統(tǒng)則直到最近的Windows 7才開始作為可選組件存在——而在Windows 8中,其支持能力則徹底告別了歷史舞臺(tái)。然而,在新版本中用于支持子系統(tǒng)的底層操作系統(tǒng)組件卻被保留了下來,而且依然能夠發(fā)揮作用——Astoria項(xiàng)目的出現(xiàn)也正是得益于此。其引入了新的Windows子系統(tǒng):Android子系統(tǒng)。

這套Android子系統(tǒng)在Windows上實(shí)現(xiàn)了Android API組合的一套子集。該子系統(tǒng)能夠提供Android風(fēng)格的各類API,包括文件系統(tǒng)訪問、圖形處理、傳感器與攝像頭訪問、進(jìn)程與線程創(chuàng)建、安全性以及網(wǎng)絡(luò)等等,這一切核心服務(wù)都將通過Windows內(nèi)核實(shí)現(xiàn)交付。

目前微軟方面尚未公布或者說設(shè)定受支持API的具體類別,不過這份最終清單很可能由以下三大部分所組成——它們也直接反映了Android系統(tǒng)的構(gòu)建方式。Android擁有一套Linux內(nèi)核以及一系列開源原生庫,這些用于支撐原生代碼應(yīng)用程序的正常運(yùn)行; 一套開源Java API集合,用于支撐Java應(yīng)用程序的正常運(yùn)行; 此外還有一套專用性Java API組合,其與各谷歌服務(wù)相綁定,且被統(tǒng)稱為Google Mobile Services(即谷歌移動(dòng)服務(wù),簡(jiǎn)稱GMS)。前兩類同樣被包含在AOSP,也就是Android開源項(xiàng)目當(dāng)中,但第三項(xiàng)則為商用Android系統(tǒng)所獨(dú)有。

在開源方面,微軟公司在原則上能夠利用其實(shí)現(xiàn)機(jī)制使用這些開源代碼,從而為應(yīng)用程序提供其運(yùn)行所需的Java API——只不過其會(huì)根據(jù)實(shí)際情況被重新定向至Windows服務(wù)處。舉例來說,Android共享API能夠被引導(dǎo)至Windows的共享系統(tǒng)處。對(duì)于GMS,微軟則不會(huì)使用與之相關(guān)的源代碼。相反,微軟方面已經(jīng)決定至少為為一部分GMS API提供替代性方案。舉例來說,GMS當(dāng)中包含用于實(shí)現(xiàn)應(yīng)用內(nèi)購(gòu)以及位置服務(wù)的API,而微軟方面則開發(fā)出了由自有服務(wù)所支持的同類機(jī)制。

這套新的子系統(tǒng)將以預(yù)安裝方式成為Windows Mobile的內(nèi)置組成部分——沒錯(cuò),Windows Mobile這個(gè)我們?cè)?jīng)非常熟悉的名稱此次換了新顏,再次成為手機(jī)及小屏幕平板設(shè)備上Windows版本的名號(hào)。其只支持ARM處理器,而且Windows的其它版本還未將其納入自身。

開發(fā)人員在使用Astoria時(shí),其體驗(yàn)與普通Android開發(fā)人員非常相似。開發(fā)者將能夠繼續(xù)使用Android開發(fā)環(huán)境,例如Eclipse或者IntelliJ,而且也可以繼續(xù)構(gòu)建Android應(yīng)用軟件包,也就是APK文件。

如果應(yīng)用程序僅僅使用AOSP API子集、也就是Windows子系統(tǒng)中所支持的部分,那么在原則上其內(nèi)容不需要作出任何改變。事實(shí)上,被分發(fā)到Android用戶手中的各類現(xiàn)有APK都應(yīng)該能夠在無需重新編譯或者修改的前提下順利運(yùn)行在Windows平臺(tái)之上。采用GMS API的應(yīng)用程序則需要進(jìn)行一些調(diào)整,因此它們需要將原本的谷歌代碼替換為由微軟提供的同類機(jī)制。

微軟公司還會(huì)提供一部分特殊的Windows API,從而保證Android應(yīng)用能夠訪問實(shí)時(shí)磁貼等Windows環(huán)境下特有的功能。當(dāng)然,開發(fā)人員還需要進(jìn)行相應(yīng)的代碼變更來發(fā)揮這些API的實(shí)際效果。不過這種改動(dòng)非常有限,而且Android應(yīng)用本身并不會(huì)對(duì)全部底層Windows功能進(jìn)行訪問。

微軟公司并不打算像黑莓那樣在Windows平臺(tái)上支持Amazon App Store。相反,Android開發(fā)人員需要將其APK提交至Windows軟件商店。在這里,微軟方面會(huì)識(shí)別出其中所包含的不受支持的API,而后將APK重新封裝為Windows AppX軟件包。

#p#

踏上Islandwood新大陸

有人可能會(huì)以為讓iOS應(yīng)用運(yùn)行在Windows平臺(tái)上所需要的技術(shù)機(jī)制跟讓Android登陸Windows差不多。Andoird支持所使用的子系統(tǒng)方案并沒什么特別之處,而且APK以及其它常規(guī)性Android開發(fā)流程的存在意味著Android開發(fā)人員只要愿意、完全能夠在不費(fèi)什么工夫的前提下為自己的應(yīng)用弄出一套Windows版本來。

不過Islandwood項(xiàng)目與Astoria可以說完全不同。Islandwood程序并不具備自己的子系統(tǒng)機(jī)制。它們完全屬于利用常規(guī)Win32子系統(tǒng)實(shí)現(xiàn)運(yùn)行的常規(guī)Windows應(yīng)用程序。但更令人意外的是,它們并非采用傳統(tǒng)意義上的Windows程序編寫語言所開發(fā),例如C++或者C#。相反,它們所采用的編程語言目前在iOS開發(fā)領(lǐng)域仍然占據(jù)著主導(dǎo)地位,這就是Objective-C。

微軟公司已經(jīng)在Visual Studio添加了對(duì)Objective-C的支持能力。整套開發(fā)環(huán)境能夠?qū)崿F(xiàn)Xcode項(xiàng)目的導(dǎo)入并理解Objective-C源文件,開發(fā)人員在開發(fā)環(huán)境中經(jīng)常使用的彩色編碼、自動(dòng)補(bǔ)全以及其它各類功能也一樣不少。其編譯器支持Objective-C,而且能夠?qū)⑵渚幾g為常規(guī)的Windows可執(zhí)行文件。

Objective-C programs built in Visual Studio get all this from the compiler.從實(shí)現(xiàn)過程的角度看,這種對(duì)Objective-C的支持能力主要由其開源Clang編譯器實(shí)現(xiàn),其作為開源LLVM工具鏈的組成部分、存在于微軟的現(xiàn)有C++編譯器體系當(dāng)中。之所以如此重要,是因?yàn)檫@套C++編譯器架構(gòu)完成了大部分核心性工作。它能夠以Visual Studio可以識(shí)別的格式輸出調(diào)試結(jié)果,并奇跡般地實(shí)現(xiàn)C++與.NET之間的各類互操作性等等。它同時(shí)也負(fù)責(zé)收集運(yùn)行安全檢查的各項(xiàng)結(jié)果,從而檢測(cè)出程序員們不小心留下的紕漏。

這意味著該編譯器將支持微軟C++編譯器所能應(yīng)對(duì)的全部硬件平臺(tái)類型。就目前而言,其主要分為三大平臺(tái)——32位與64位x86,再加上32位ARM。據(jù)稱今年晚些時(shí)候,微軟會(huì)加入第四種平臺(tái)的支持能力——64位ARM。

一款面向iOS的應(yīng)用程序正在Visual Studio 2015環(huán)境下進(jìn)行編輯。

那么蘋果的另一款開發(fā)語言,Swift,又獲得了怎樣的支持效果呢?據(jù)稱相關(guān)工作仍在進(jìn)行當(dāng)中。

當(dāng)然,代碼編譯還僅僅是這項(xiàng)宏偉工具的一小部分。單單能夠構(gòu)建Objective-C代碼還不足以完成任務(wù),因?yàn)槿绻_發(fā)人員必須對(duì)每一項(xiàng)API調(diào)用進(jìn)行重寫、那么前面提到的一切都將失去意義。就這一問題,微軟公司已經(jīng)在Windows上實(shí)現(xiàn)了iOS API的一套子集。其中包含有大量底層Objective-C功能,例如自動(dòng)引用計(jì)數(shù)與塊,CoreFoundation等基礎(chǔ)庫,UIKit、CoreAnimation、CoreGraphics以及CoreText等圖形庫,利用OpenGL實(shí)現(xiàn)的3D支持能力以及StoreKit與Notifications等其它服務(wù)。正如在Astoria項(xiàng)目當(dāng)中一樣,這些能力被融合到了Windows自身當(dāng)中,而且事實(shí)了證明其確實(shí)行之有效。舉例來說,StoreKit應(yīng)用內(nèi)購(gòu)機(jī)制將被映射到Windows Store中的同類功能處。

這套API支持庫將被綁定至Islandwood應(yīng)用程序當(dāng)中。

Islandwood項(xiàng)目的一大顯著特征在于,微軟方面一直對(duì)其三緘其口。Astoria項(xiàng)目自一年前誕生之時(shí)起就立刻得到了公布。然而Islandwood項(xiàng)目則似乎是某種收購(gòu)交易下的產(chǎn)物; 一家名為Inception Mobile的初創(chuàng)企業(yè)曾經(jīng)拿出過一套類似的方案,旨在將iOS應(yīng)用程序移植到其它平臺(tái)之上。Inception Mobile聯(lián)合創(chuàng)始人Salmaan Ahmed在本次Build大會(huì)的Islandwood環(huán)境上露了一面,而且他的領(lǐng)英信息顯示其自去年八月開始就一直在為微軟公司效力。

即使有了Islandwood項(xiàng)目作為支持,將iOS應(yīng)用程序移植到Windows環(huán)境下所需要的努力仍然遠(yuǎn)遠(yuǎn)超過Android應(yīng)用。相較于一部分Android應(yīng)用程序已經(jīng)能夠100%為Astoria項(xiàng)目所兼容的樂觀形勢(shì),Islandwood項(xiàng)目的狀況就比較被動(dòng)了。不同平臺(tái)之間存在著大量需要加以解決的本質(zhì)性差異——舉例來說,Android與Windows Phone都具備后退按鈕,但iOS卻沒有——而開發(fā)人員則必須據(jù)此作出代碼調(diào)整。

[[133841]]

Islandwood項(xiàng)目的第一款成果——《糖果粉碎傳奇》。

這種影響在不同應(yīng)用程序上的實(shí)際效果也有所區(qū)別。King為Windows Phone開發(fā)的《糖果粉碎傳奇》已經(jīng)開始使用了Islandwood項(xiàng)目的技術(shù)成果,而其中的代碼內(nèi)容調(diào)整據(jù)稱僅為項(xiàng)目整體的“百分之幾”?!短枪鬯閭髌妗返腤indows Phone版本支持多項(xiàng)功能,包括應(yīng)用程序內(nèi)購(gòu),而這自然要得益于StoreKit API映射機(jī)制的幫助。不過作為一款游戲,其用戶界面仍然進(jìn)行了大幅度定制。在深入了解了UIKit之后,應(yīng)用程序成果應(yīng)該還需要作出更多努力,從而保證Windows用戶能夠在其中獲得符合自身預(yù)期的界面效果。

在另一方面,這些應(yīng)用程序完全屬于Windows應(yīng)用范疇。它們能夠訪問任何Windows API,即使這些API在iOS上并沒有同類的替代性方案,例如活動(dòng)磁貼與NFC。此外,這些應(yīng)用程序也并不限于Windows Mobile平臺(tái); Islandwood應(yīng)用能夠運(yùn)行在任何Windows 10平臺(tái)之上。由于它們使用同樣的標(biāo)準(zhǔn)Windows編譯器架構(gòu),因此能夠支持多種編程語言。舉例來說,開發(fā)人員可以選擇利用C#實(shí)現(xiàn)活動(dòng)磁貼支持能力——即使該項(xiàng)目的其它部分完全由Objective-C編寫而成。

#p#

與OS/2以及黑莓的發(fā)展戰(zhàn)略類似,但并不完全相同

是否要使用Astoria或者Islandwood,這正是微軟與當(dāng)初IBM及黑莓之間的本質(zhì)區(qū)別。Astoria與Islandwood都要求開發(fā)者為其作出一些承諾,相比之下那些編寫Win16應(yīng)用的開發(fā)者可絕對(duì)用不著為OS/2作任何形式的考慮——他們只需要單純編寫Win16應(yīng)用即可。偶爾也會(huì)有一部分OS/2用戶購(gòu)買了Win16軟件的縮水版本來證明他們要將其使用在OS/2之上,但這些開發(fā)人員顯然根本感受不到。

BlackBerry 10也存在著類似的狀況。開發(fā)人員可以將自己的應(yīng)用程序提交到Amazon App Store上,但這僅僅是因?yàn)樗麄儗?duì)于Amazon生產(chǎn)的平板設(shè)備(或者是其手機(jī)產(chǎn)品)抱有興趣。事實(shí)上,一部分BlackBerry 10用戶確實(shí)下載了這些應(yīng)用程序,但這些與開發(fā)人員既不相關(guān)、也無法為其所知曉。

但現(xiàn)在有了Astoria與Islandwood,開發(fā)人員必須首先邁出這第一步。這一步可能還算不上巨大——從潛在層面講,他們需要做的也許只是拿出一套未針對(duì)Windows經(jīng)過任何調(diào)整的APK——但無論如何,每位開發(fā)人員都必須意識(shí)到,自己的應(yīng)用程序從這里開始將被呈現(xiàn)在Windows用戶面前。Windows雖然仍然沒法就此成為他們的首選平臺(tái),但同樣的,他們也不可能對(duì)其完全加以忽視。

反過來,這也會(huì)讓開發(fā)人員對(duì)于自己的應(yīng)用程序在Windows平臺(tái)上的運(yùn)行效果采取更為審慎的態(tài)度。如果無法使用Xbox成就或者活動(dòng)磁貼等Windows的特有功能,那么這些應(yīng)用程序在外觀與第一印象上都會(huì)變得非常糟糕??偠灾?,開發(fā)人員會(huì)清醒地意識(shí)到,這些應(yīng)用程序可是專門針對(duì)Windows客戶群體所推出的。

Islandwood項(xiàng)目則會(huì)讓這一切變得更為突出,因?yàn)殚_發(fā)人員需要對(duì)自己的開發(fā)成果進(jìn)行重新編譯、并對(duì)部分代碼加以調(diào)整。只有投入心力,這些應(yīng)用才能切實(shí)起效,這至少在一定程度上類似于開發(fā)一款純粹的Windows應(yīng)用程序。

從這種意義來看,微軟要求開發(fā)人員將應(yīng)用程序使用體驗(yàn)移植到Windows上的作法應(yīng)該要比歷史上那些已經(jīng)折戟沉沙的前輩們更高明一些。

按理來說,微軟公司的方案也不太可能阻礙原生應(yīng)用程序的開發(fā)趨勢(shì)。Astoria項(xiàng)目中的局限性排除了其真正取代原生開發(fā)活動(dòng)的機(jī)率,而且擔(dān)心這些限制最終會(huì)被放開的朋友們也不用緊張了——至少在相當(dāng)長(zhǎng)的一段時(shí)間里,這種情況都還不可能發(fā)生。Astoria應(yīng)用程序?qū)⒛軌蛟谑謾C(jī)以及小尺寸平板設(shè)備上發(fā)揮作用,但更為廣闊的Windows平臺(tái)(例如筆記本、PC、Xbox One甚至是未來可能出現(xiàn)的HoloLens)仍將成為擋在其面前的壁壘。要想登陸這些,開發(fā)者朋友,拿出你的原生應(yīng)用來。

當(dāng)然,這種局限也不能說毫無負(fù)面影響。與當(dāng)初的OS/2以及BlackBerry 10相比,Windows所處的市場(chǎng)地位可謂完全不同。盡管Windows在智能手機(jī)與平板設(shè)備領(lǐng)域一直沒能達(dá)到微軟所預(yù)期的普及程度,但其在筆記本與PC市場(chǎng)上仍然是絕大多數(shù)用戶的首要選項(xiàng)。微軟公司表示,其希望能夠在Windows 10發(fā)布的兩到三年內(nèi)將其用戶數(shù)量提升至10億之巨。正是出于這樣的考量,微軟才會(huì)以免費(fèi)升級(jí)的方式將Windows 10半賣半送到Windows 7及Windows 8用戶手上。微軟公司并不希望自己的平臺(tái)呈現(xiàn)出過度碎片化的版本生存狀態(tài); 他們的想法是,每種設(shè)備都運(yùn)行有Windows 10,每種設(shè)備也都能運(yùn)行通用型Windows應(yīng)用。

即使最終目標(biāo)只能達(dá)到預(yù)期值的一半,5億用戶也仍然是個(gè)龐大的基數(shù),其中當(dāng)然也蘊(yùn)含著可觀的潛在經(jīng)濟(jì)收益。Astoria應(yīng)用程序自然不可能對(duì)這塊蛋糕熟視無睹。微軟公司之所以采取現(xiàn)在的這種機(jī)制,是為了確保Astoria項(xiàng)目不至于徹底扼殺手機(jī)以及小型平板設(shè)備上的原生Windows應(yīng)用開發(fā)活動(dòng)。盡管Astoria項(xiàng)目將成為一塊極具實(shí)效的跳板,但微軟公司這次賭的是開發(fā)人員并不希望單純將其應(yīng)用限定在手機(jī)設(shè)備之上。他們應(yīng)該會(huì)愿意將應(yīng)用成果拓展到整個(gè)Windows設(shè)備陣營(yíng),而要做到這一點(diǎn)、開發(fā)人員就必須編寫出真正的Windows應(yīng)用程序。

但如果事實(shí)證明開發(fā)人員對(duì)這片更為廣闊的市場(chǎng)不感興趣,那么情況就相當(dāng)棘手了。只對(duì)手機(jī)平臺(tái)感興趣的開發(fā)人員將徹底放棄Astoria應(yīng)用。雖然這類應(yīng)用程序確實(shí)無法帶來完美的使用體驗(yàn),但在開發(fā)者看來可能已經(jīng)足夠好了,特別是如果他們壓根沒考慮過為其開發(fā)真正的Windows版本的前提下。

那么Islandwood項(xiàng)目又會(huì)如何?恐怕更加棘手。Islandwood應(yīng)用程序?qū)⒊蔀楦鷤鹘y(tǒng)Windows應(yīng)用類似的弱勢(shì)群體。它們將成為一類利用奇怪語言所編寫、需要利用大規(guī)模代碼庫加以翻譯才能將自身API調(diào)用轉(zhuǎn)換成Windows可接受的形式的特殊Windows應(yīng)用,而且這意味著它們與其它Windows應(yīng)用存在同樣的問題——其中包含大量只有依靠Windows特定代碼才能順利起效的內(nèi)容??梢哉f,它們并不會(huì)給原生開發(fā)工作帶來什么威脅,因?yàn)樗鼈兺耆褪橇硗庖环N原生開發(fā)途徑。

需要再次強(qiáng)調(diào)的是,微軟公司所制定的發(fā)展戰(zhàn)略確實(shí)面臨著風(fēng)險(xiǎn)。如果軟件巨頭無法引導(dǎo)開發(fā)人員將著眼點(diǎn)放在更為廣闊的Windows市場(chǎng),那么Astoria很可能給Windows智能手機(jī)平臺(tái)上的開發(fā)工作帶來純粹的負(fù)面影響。此外,微軟公司肯定會(huì)與其開發(fā)者社區(qū)進(jìn)行明確交流,即盡管這項(xiàng)發(fā)展戰(zhàn)略存在諸多風(fēng)險(xiǎn),但卻并不是一定會(huì)出現(xiàn)。總而言之,這類話題完全是全憑一張嘴,怎么都解釋得通。

當(dāng)然,前面提到的這一切都有個(gè)必要條件,就是假設(shè)Android與iOS開發(fā)人員至少會(huì)對(duì)Astoria以及Islandwood抱有興趣??紤]到iOS平臺(tái)的廣泛影響力,Islandwood思路可能更容易被人們所接受,但這也需要微軟方面的努力推動(dòng)。目前已經(jīng)有很多開發(fā)人員在Xamarin的幫助下利用C#與.NET為Android以及iOS系統(tǒng)平臺(tái)開發(fā)應(yīng)用程序。這些應(yīng)用應(yīng)該能夠較為輕松地被移植到Windows 8以及Windows Phone之上——當(dāng)然,前提是開發(fā)人員有閑心這么做。

但如果這種直接無視的習(xí)慣未來仍然得不到扭轉(zhuǎn),那么無論是Astoria還是Islandwood項(xiàng)目都不會(huì)給Windows帶來任何顯著的影響——無論是好的還是壞的。但如果二者真能受到廣泛關(guān)注,如果移動(dòng)開發(fā)人員確信Windows用戶是值得而且易于拉攏的,那么Astoria與Islandwood必將給正呈現(xiàn)出疲態(tài)的Windows注入一針有力的強(qiáng)心劑。

責(zé)任編輯:chenqingxiang 來源: 51CTO
相關(guān)推薦

2015-06-12 10:24:56

AndroidiOS應(yīng)用開發(fā)

2012-03-07 09:59:08

2012-03-06 20:54:27

2019-08-19 08:14:52

深度鏈接iOSAndroid

2021-06-28 10:47:10

Windows 功能系統(tǒng)

2015-06-25 09:47:20

iOS內(nèi)存管理

2015-05-14 10:26:37

Objective-CSwift

2015-06-16 10:27:13

iOSAndroid音頻

2011-05-05 14:24:02

Android NDKAndroid NDKNDK

2014-08-12 10:33:34

Windows PhoiOSAndroid

2023-11-02 07:53:22

AndroidiOSKMM

2011-09-07 14:39:47

Android Wid設(shè)計(jì)

2015-02-27 09:13:08

OS XiOSLinux

2011-12-02 09:04:03

Android 4.0評(píng)測(cè)冰淇淋三明治

2013-03-08 12:48:14

BYODiOSAndroid

2012-01-11 10:41:37

Windows 8Android應(yīng)用

2023-11-02 09:42:21

iOS屏幕旋轉(zhuǎn)

2012-09-25 09:09:46

Windows 8iOS

2015-08-07 09:55:25

Windows安卓iOS移植

2009-08-10 09:26:56

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)