5
本文作者: 金楠 | 2015-04-30 15:10 |
昨夜,科技圈又一場沸騰。
微軟的Build2015大會如期召開,在第一天即是看點無數(shù),Office平臺化、可橫跨Win10、OS X、Linux三大平臺的Visual Studio代碼、Win10統(tǒng)一商店、新的初始窗口Windows Spotlight以及可以將手機內(nèi)容矢量擴大到大屏幕設備的Win10手機版Continuum平板模式等等。
然而有一則傳了許久幾乎成真,但當微軟親口宣布時,還是不禁讓人虎軀一震的事情,就是微軟宣布現(xiàn)有的Android和iOS應用均可以移植到Win10手機上來。
微軟靠什么實現(xiàn)這一點?
微軟在現(xiàn)場解釋了實現(xiàn)這一點的原理,對于iOS應用來說,可以通過微軟發(fā)布的Visual Studio代碼來進行重構,轉換之后可直接作為Win 10應用,微軟稱這項功能可以實現(xiàn)對原iOS應用代碼的編寫和調(diào)試,并且可以通過Objective C,使之成為完美的Win10應用。
而Android應用的移植則相對復雜一些,它是依靠對于Java和C++代碼的Android應用進行重用,來創(chuàng)建用于Win10手機的應用,而為了實現(xiàn)這一功能,Windows Phone還將內(nèi)置Android子系統(tǒng)。
在現(xiàn)場直播中,微軟也當場移植了一個iOS上的小游戲《糖果粉碎傳奇》和Android平臺上的《Choice Hotels》 App,結果顯示,移植后的程序運行起來很流暢。
其實看到這里筆者想說的是,微軟說的大一統(tǒng)平臺,果然不是吹的,這一下子就有了三大架構和三大平臺了…
兼容和移植,是有區(qū)別的
其實支援其它平臺的應用,微軟早已不是第一個,黑莓、脫胎于Meego的Sailfish OS和更早以前的Web OS都干過這事。不過不同的是,黑莓支持Android應用是通過移植,而Sailfish OS則是兼容。
這兩者的區(qū)別在于,移植是需要把原先Android應用的代碼重新編寫,例如Win 10就是靠把Android應用代碼拿到Win 10平臺上,用 Java 和 C++ 語言重編一次,最后生成APPX安裝包,繼而實現(xiàn)移植。
值得一提的是,微軟給出的方案,其實已經(jīng)是大大減輕了開發(fā)者的開發(fā)成本了,因為移植過來的Win 10手機版應用直接就會是通用應用,并且還能夠加上Windows上的一些特性,比如 Cortana和動態(tài)磁貼等等。而微軟還專門加入了一個應該是Android模擬器的“子系統(tǒng)”,估計也是為了能更加簡化移植Android應用的門檻,比如解決Android應用對于軟件權限的要求比Windows Phone高出太多的落差,而運用這么一個子系統(tǒng),就能方便開發(fā)者不少工作(但由于遠未達到聽上去幾乎是“一鍵移植”的那么簡單,因此用戶也不要太過興奮。)
而兼容就是,直接把Android應用的APK安裝包給放在手機里,就可以直接安裝和使用。一般來說,想實現(xiàn)這一點通常是在自身系統(tǒng)內(nèi)使用Alien Dalvik虛擬機建立了Android的運行環(huán)境,借此來運行Android應用。
乍一聽上去,似乎兼容要更加方便,因為移植還多了一道重新編寫的工序,無論后者怎么簡化,它依然無法避免——但實際上,二者的差距其實并沒有你想象中那么大,因為它們所做的,都只能算作是過程而已,但真正考核成敗的,是“拿來”之后的結果如何。
能不能成?不好說
對于微軟來說,最好的結果肯定是大家都不再買Android和iPhone了,而都來買Windows Phone,因為后者一個就能跨越三大平臺,再加上自家的PC和XBox,畫面簡直不能太美。
但實際上,更有可能發(fā)生的事情卻與之背道而馳,那就是Win 10手機版可能會就此告別原生應用了,因為開發(fā)者極有可能覺得,反正Win 10手機版是可以移植的,那么先開發(fā)Android和iOS應用顯然更加劃算。
這就好像是文摘雜志和原創(chuàng)雜志之間的問題一樣,因為對于作者來說,反正前者是可以轉載的,那么作者就會更顧著原創(chuàng)雜志那一頭,這是人之常情,而對于文摘雜志來說,雖然它輕松的擁有了自己需要的內(nèi)容資源,但它也失去了屬于自己的原創(chuàng)內(nèi)容,而這并非是長遠之計。
這也就是為什么看似嘗到了甜頭的黑莓,其高管會憤憤說恨不得立刻剔除Android移植應用的原因,因為它讓自己的系統(tǒng)失去了魅力和靈魂。
更別說通過移植之后,應用的體驗也可能會打上折扣,畢竟因為只是方便移植,因此那些需要調(diào)動Android和iOS系統(tǒng)機制的功能在移植后通常是無法實現(xiàn)的,這就需要開發(fā)者用微軟的API替換Google的API,而這中間能夠影響到用戶體驗的關節(jié)實在太多了,特別是如果最終移植過來的應用不如在純正的Android環(huán)境中的體驗的話,那么移植也就基本沒有了意義。
此外,還有一個主要的問題是時機,微軟直到Win 10才開放移植,但現(xiàn)在Android+iOS已經(jīng)拿下了近乎100%的市場份額,并且系統(tǒng)體驗日臻成熟、也開始朝著其它平臺拓展,可能沒有人會搭理微軟了,其實如果微軟在3年前的Win 8上提供開放的話勝算會很大,但在當下,這一點很難被寄托。
但話不能說太死,畢竟微軟此舉也不是全無轉機的可能,關鍵還在于執(zhí)行力,比如能不能籠絡好與開發(fā)者關系,是決定這一戰(zhàn)略能否成型的關鍵,但考慮到微軟此舉在一定程度上讓之前的開發(fā)者的貢獻被大大降低,可能導致這部分核心開發(fā)者的背離。因而接下來微軟只是靠降低移植成本和允許上架Win 10商店可能還不夠,還需要對開發(fā)者有真金白銀的付出,但微軟能不能承受因此可能出現(xiàn)的利潤下降?對于正處于轉型之中的微軟來說,這可能并不容易決定。
(插圖來自The Verge)
雷峰網(wǎng)特約稿件,未經(jīng)授權禁止轉載。詳情見轉載須知。