MechDome е нов инструмент за разработчици, който автоматично преобразува приложения за Android в iOS и запазва всички елементи на потребителския интерфейс и повечето собствени функции.
Разработката на различни платформи представлява голямо предизвикателство за повечето независими разработчици от много години. Доста често просто е твърде много инвестиция на време и ресурси, за да научите нов език за програмиране, за да пренесете приложението си към друга платформа.
В продължение на години този факт на разпределение на ресурсите е това, което тласка много разработчици да съсредоточат усилията си предимно върху iOS, поради повече доходоносен пазар. Благодарение на проекти като Xamarin, но разработчиците, които са запознати с C#, са успели да прокарат своите проекти в iOS, Android и Windows Mobile. Но разработчиците на Android са най-запознати с писането на Java, така че използването на Xamarin ще изисква от разработчика да се запознае с нов език и да изгради платформа. Покрихме един проект, насочен към преодоляване на пропастта между мобилните операционни системи чрез предоставяне на платформа за кръстосано развитие за разработчици на Java -
Multi-OS двигател на Intel - но не може да се каже накъде отива този проект. Ето къде MechDome влиза.MechDome е стартираща компания, базирана в Калифорния и регистрирана през януари, която е разработила инструмент за преобразуване на автоматично създава собствени приложения за iOS и OS X от вашето приложение за Android. Няма нужда да се научите как да използвате нова IDE или API. Всичко, което трябва да направите, е да изпратите APK файл на MechDome (няма нужда да им изпращате своя изходен код) и напълно автоматизирания инструмент ще компилира самостоятелен двоичен файл за секунди за iOS и OS X, който след това разработчикът може да разпространи в App Store на Apple. Седнахме в интервю с основателя и главен изпълнителен директор на MechDome, Марио Космискас, за да видим демонстрация на инструмента в действие – и то върши работа. Въпреки че има някои ограничения поради фундаментални разлики между начина на работа на iOS и Android (което ще обсъдим по-долу), инструментът вече създаде няколко живи приложения в Apple App Store, като напр на отворен код Reddit клиент RedReader и ан отворен кодСудоку клиент, за да докаже, че работи.
Приложения за Android на iOS с MechDome
Заявената цел на MechDome е да позволи на разработчиците да конвертират немодифицирано приложение за Android в собствено приложение за iOS или OS X. В сравнение с технологии като Multi-OS Engine на Intel или Xamarin, разработчикът на Android не трябва да знае как да обвържете библиотека Objective-C защото инструментът ще се справи с това вместо вас. Нито има нужда да използвате UI builder, за да модифицирате вашето приложение за Android, тъй като MechDome се справя с преобразуването на всички елементи на Android UI. Да, дори приложенията за таблети с Android се превеждат добре във формат, подходящ за iPad.
Най-голямото обещание на MechDome е, че конвертираното приложение за Android ще функционира по начин, който потребителите на целевата операционна система ще познават. Например, менюто за споделяне на Android ще бъде заменено с основния лист за споделяне в iOS и ще включва възможност за използване на AirDrop, ако е приложимо. Приложенията, които публикуват известия в Android, вместо това ще показват известие в центъра за известия на iOS. Определени намерения, като например отваряне на камера на Android, наистина ще отворят камерата на iOS устройството, а URL намеренията на Android ще извикат Safari на iOS. Доставчиците на съдържание на Android, които имат достъп до контактите или календара, вместо това ще имат достъп до съответните бази данни на iOS или OS X за тази информация.
Но както споменахме по-рано, наистина има някои ограничения за този инструмент, които са наложени от естеството на това как работи iOS. Едно от най-големите предизвикателства, пред които е изправен разработчик на Android, който иска да преобразува приложението си в iOS, е как да се справи с фонова услуга. iOS е много по-строг относно това кога и какви видове фонови услуги могат да изпълняват приложенията на трети страни, за добро или лошо. Освен това, богатата система за намерения, присъстваща в Android, която позволява комуникация между приложения, до голяма степен липсва в iOS. И накрая, API за услуги на Google Play в момента не се поддържа, така че всяко приложение, разчитащо на услугите на Google, няма да функционира. По този начин разработчиците ще бъдат най-вече ограничени до функционалност, която е достъпна директно чрез ръчно въвеждане от потребителя, което не би трябвало да представлява значителен проблем за повечето игри или приложения.
MechDome в употреба
В частна демонстрация инструментът наистина изглежда функционира, както се рекламира. Г-н Космискас демонстрира компилирането на няколко напълно функционални приложения за Android в работещи приложения за iOS и OSX. Тост известия, известия в Центъра за уведомяване, уеб изглед, достъп до местоположение, въвеждане на текст и обща функционалност на елементите на потребителския интерфейс, всички те работеха в демонстрация. Калкулаторът AOSP, работещ на iOS, изглеждаше и функционираше точно както на всяко устройство с Android.
Актуализиране на приложение и повторното му компилиране за iOS също беше показано и процесът беше доста прост. Разработчикът, в този случай г-н Космискас, демонстрира промяна на текстово поле за показване на „XDA-Developers“ в Android Studio. След това той експортира приложението, генерира подписан APK и компилира бинарните файлове на iOS и OS X за секунди от сървъра MechDome. Когато приложението за iOS беше стартирано с помощта на емулатор, промените, направени в Android Studio, бяха налице.
В момента MechDome преминава през безплатна публична бета програма. Разработчиците могат регистрирайте тяхното приложение на уебсайта на MechDome, за да получите покана за тестване на конвертирането на тяхното приложение за Android. За съжаление все още не е разкрита информация за цените на услугата. Все пак, това е интересен проект, за който да останете нащрек, ако сте разработчик на Android, който иска в крайна сметка да направи вълни в екосистемата на Apple, без да се налага да изразходвате много усилия.