如何將Android應(yīng)用程序轉(zhuǎn)換為本地iOS或OSX應(yīng)用程序?
多年來,跨平臺(tái)開發(fā)一直是大多數(shù)獨(dú)立開發(fā)人員面臨的最大挑戰(zhàn)。學(xué)習(xí)一種新的編程語言將您的應(yīng)用程序移植到另一個(gè)平臺(tái)通常會(huì)浪費(fèi)時(shí)間和資源。多年來,由于市場(chǎng)的較高盈利能力,分配資源這一事實(shí)已導(dǎo)致許多開發(fā)人員將重點(diǎn)放在iOS上。多虧了Xamarin這樣的項(xiàng)目,熟悉C#的開發(fā)人員才能在iOS,Android和Windows Mobile上推廣他們的項(xiàng)目。但是,Android開發(fā)人員更熟悉Java編寫。要使用Xamarin,開發(fā)人員必須熟悉新語言和構(gòu)建平臺(tái)。我們已經(jīng)提出了一個(gè)項(xiàng)目,旨在通過為Java開發(fā)人員提供跨開發(fā)平臺(tái)(Intel Multi-OS Engine)來彌合移動(dòng)操作系統(tǒng)之間的鴻溝。但是,該項(xiàng)目的目的仍不清楚。這就是MechDome進(jìn)來的地方。
MechDome是一家總部位于加利福尼亞州的新興公司,于1月成立,該公司開發(fā)了一種轉(zhuǎn)換工具, 可以根據(jù)您的Android應(yīng)用自動(dòng)創(chuàng)建本機(jī)iOS和OS X應(yīng)用。 無需學(xué)習(xí)如何使用新的IDE或API。您所需要做的就是將APK文件發(fā)送到MechDome(無需將其發(fā)送給您的源代碼),并且全自動(dòng)工具將在幾秒鐘內(nèi)為iOS和OS X編譯一個(gè)獨(dú)立的二進(jìn)制文件,然后開發(fā)人員可以在Apple的App Store上分發(fā)該二進(jìn)制文件。 。我們?cè)诮邮躆echDome創(chuàng)始人兼首席執(zhí)行官M(fèi)ario Kosmiskas的采訪時(shí)坐下來,觀看了該工具的實(shí)際演示–該工具 有效。盡管由于iOS和Android操作方式的根本差異(我們將在下面討論)存在一些限制,但該工具已經(jīng)在Apple App Store上生產(chǎn)了一些實(shí)時(shí)應(yīng)用,例如開源 Reddit客戶端RedReader 和開放源代碼。源 Sudoku客戶端以證明其有效。
MechDome的既定目標(biāo)是允許開發(fā)人員將未經(jīng)修改的Android應(yīng)用程序轉(zhuǎn)換為本地iOS或OS X應(yīng)用程序。與諸如Intel的Multi-OS Engine或Xamarin之類的技術(shù)相比,Android開發(fā)人員不需要知道如何綁定Objective-C庫, 因?yàn)樵摴ぞ邔槟幚怼S捎贛echDome會(huì)處理所有Android UI元素的轉(zhuǎn)換,因此也不需要使用UI構(gòu)建器來修改您的Android應(yīng)用。是的,即使Android平板電腦應(yīng)用程序也可以很好地轉(zhuǎn)換為適用于iPad的格式。
MechDome的最大承諾是,轉(zhuǎn)換后的Android應(yīng)用將以目標(biāo)操作系統(tǒng)用戶熟悉的方式運(yùn)行。例如,Android共享菜單將替換為iOS中的本機(jī)共享表,并且將包括使用AirDrop(如果適用)的功能。在Android中發(fā)布通知的應(yīng)用將改為在iOS的通知中心中顯示通知。某些意圖(例如在Android上打開相機(jī))確實(shí)會(huì)在iOS設(shè)備上打開相機(jī),而Android上的URL意圖將在iOS上調(diào)用Safari。Android上訪問聯(lián)系人或日歷的內(nèi)容提供商將改為訪問相關(guān)的iOS或OS X數(shù)據(jù)庫以獲取此信息。
通常,盡管如此,使用Android應(yīng)用程序所需的所有硬件功能都將直接映射為使用iOS中的相關(guān)硬件。不過,軟件功能可分為3個(gè)不同的類別:1)將直接實(shí)現(xiàn)iOS上不存在的功能(例如Toast消息),2)將相關(guān)的iOS和Android上存在的功能替換為相關(guān)功能iOS方法以及3)iOS上存在但Android上不存在的功能(例如Apple的3D Touch庫)無法轉(zhuǎn)換,但可以通過使用庫來實(shí)現(xiàn)。據(jù)MechDome的創(chuàng)始人說,大多數(shù)活動(dòng),視圖,服務(wù),祝酒和基本內(nèi)容提供商應(yīng)可從Android轉(zhuǎn)換為iOS。
但是,如前所述,此工具確實(shí)受到iOS工作方式的限制。想要將其應(yīng)用程序轉(zhuǎn)換為iOS的Android開發(fā)人員面臨的最大挑戰(zhàn)之一是如何處理后臺(tái)服務(wù)。iOS對(duì)第三方應(yīng)用程序可以運(yùn)行的時(shí)間和種類的后臺(tái)服務(wù)(無論好壞)的要求更為嚴(yán)格。此外,iOS上幾乎不存在Android中存在的允許應(yīng)用間通信的豐富意圖系統(tǒng)。最后,當(dāng)前不支持Google Play服務(wù)API,因此任何依賴Google服務(wù)的應(yīng)用都將無法運(yùn)行。因此,開發(fā)人員將主要限于通過手動(dòng)用戶輸入直接訪問的功能,對(duì)于大多數(shù)游戲或應(yīng)用程序來說,這不應(yīng)構(gòu)成重大問題。
使用中的MechDome
在私人演示中,該工具確實(shí)確實(shí)像廣告中那樣起作用。Kosmiskas先生展示了將幾個(gè)功能齊全的Android應(yīng)用程序編譯為可正常運(yùn)行的iOS和OSX應(yīng)用程序。敬酒通知,通知中心中的通知,Web視圖,位置訪問,文本輸入以及UI元素的常規(guī)功能都在演示中起作用。在iOS上運(yùn)行的AOSP計(jì)算器的外觀和功能與在任何Android設(shè)備上完全相同。