MechDome — це інструмент розробника, який автоматично перетворює програми Android у програми iOS та OSX

MechDome — це новий інструмент розробника, який автоматично перетворює програми Android на iOS і зберігає всі елементи інтерфейсу користувача та більшість нативних функцій.

Протягом багатьох років кросплатформна розробка представляла серйозну проблему для більшості незалежних розробників. Досить часто вивчення нової мови програмування, щоб перенести програму на іншу платформу, займає занадто багато часу та ресурсів.

Протягом багатьох років саме цей факт розподілу ресурсів спонукав багатьох розробників зосереджувати свої зусилля на iOS, оскільки прибутковий ринок. Завдяки таким проектам, як Xamarin, однак розробники, знайомі з C#, змогли просувати свої проекти на iOS, Android і Windows Mobile. Але розробники Android найбільш знайомі з написанням на Java, тому використання Xamarin вимагатиме від розробника ознайомлення з новою мовою та створення платформи. Ми розглянули один проект, спрямований на подолання розриву між мобільними операційними системами, надаючи платформу перехресної розробки для розробників Java –

Intel Multi-OS Engine - але невідомо, куди рухається цей проект. Ось де MechDome заходить.

MechDome – нова компанія, заснована в Каліфорнії та зареєстрована в січні, яка розробила інструмент конвертації для автоматично створювати рідні програми для iOS і OS X із вашої програми для Android. Немає необхідності вчитися використовувати нову IDE або API. Усе, що вам потрібно зробити, це надіслати файл APK до MechDome (не потрібно надсилати їм свій вихідний код) і повністю автоматизований інструмент скомпілює автономний двійковий файл за лічені секунди для iOS і OS X, який потім розробник може розповсюдити в Apple App Store. Ми провели інтерв’ю із засновником і генеральним директором MechDome Маріо Косміскасом, щоб побачити демонстрацію інструменту в дії – і це працює. Хоча є певні обмеження через фундаментальні відмінності між роботою iOS і Android (про який ми розповімо нижче), цей інструмент уже створив кілька активних програм у Apple App Store, наприклад в відкрите джерело Клієнт Reddit RedReader і ан відкрите джерелоСудоку клієнт, щоб довести, що це працює.


Програми Android на iOS із MechDome

Заявлена ​​мета MechDome — дозволити розробникам перетворювати немодифіковану програму для Android у рідну програму для iOS або OS X. У порівнянні з такими технологіями, як Intel Multi-OS Engine або Xamarin, розробнику Android не потрібно знати як прив’язати бібліотеку Objective-C тому що інструмент впорається з цим за вас. Крім того, немає необхідності використовувати конструктор інтерфейсу користувача для зміни вашої програми Android, оскільки MechDome обробляє перетворення всіх елементів інтерфейсу Android. Так, навіть програми для планшетів Android добре перекладаються у формат, придатний для iPad.

Найбільшою обіцянкою MechDome є те, що перетворений додаток для Android працюватиме так, як користувачі цільової ОС будуть знайомі. Наприклад, меню спільного доступу Android буде замінено рідним аркушем спільного доступу в iOS і включатиме можливість використання AirDrop, якщо це можливо. Програми, які публікують сповіщення в Android, замість цього відображатимуть сповіщення в Центрі сповіщень iOS. Певні наміри, такі як відкриття камери на Android, справді відкриють камеру на пристрої iOS, а наміри URL-адреси на Android викличуть Safari на iOS. Постачальники вмісту на Android, які мають доступ до контактів або календаря, отримають доступ до відповідних баз даних iOS або OS X для отримання цієї інформації.

Загалом усі функції апаратного забезпечення, необхідні для використання програми Android, будуть зіставлені безпосередньо для використання відповідного апаратного забезпечення в iOS. Функції програмного забезпечення, однак, можна розділити на 3 окремі категорії: 1) функції, яких немає в iOS (наприклад, тостове повідомлення) буде реалізовано безпосередньо, 2) функціональність, яка існує як на iOS, так і на Android, буде замінена відповідним методом iOS, і 3) функціональність, яка існує в iOS, але не в Android (наприклад, бібліотека Apple 3D Touch), не може бути перетворена, але може бути реалізована за допомогою користування бібліотекою. За словами засновника MechDome, більшість дій, переглядів, служб, тостів і базових постачальників контенту слід конвертувати з Android на iOS.

Але, як згадувалося раніше, у цього інструменту справді є певні обмеження, які накладаються природою роботи iOS. Одна з найбільших проблем, з якою стикається розробник Android, який хоче перетворити свою програму на iOS, полягає в тому, як керувати фоновою службою. iOS має набагато суворіші вимоги щодо того, коли та які типи фонових служб можуть запускати програми сторонніх розробників, на краще чи гірше. Крім того, система розширених намірів, присутня в Android, яка забезпечує зв’язок між програмами, практично відсутня в iOS. Нарешті, Google Play Services API наразі не підтримується, тому жодна програма, що покладається на служби 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, не докладаючи особливих зусиль.