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