MechDome è un nuovo strumento per sviluppatori che converte automaticamente le app Android in iOS e conserva tutti gli elementi dell'interfaccia utente e la maggior parte delle funzionalità native.
Lo sviluppo multipiattaforma rappresenta da molti anni una sfida importante per la maggior parte degli sviluppatori indipendenti. Molto spesso, imparare un nuovo linguaggio di programmazione per trasferire la tua app su un'altra piattaforma è semplicemente un investimento eccessivo in termini di tempo e risorse.
Per anni, questo aspetto dell'allocazione delle risorse è ciò che ha spinto molti sviluppatori a concentrare i propri sforzi principalmente su iOS mercato redditizio. Grazie a progetti come Xamarin, tuttavia, gli sviluppatori che hanno familiarità con C# sono riusciti a distribuire i propri progetti su iOS, Android e Windows Mobile. Ma gli sviluppatori Android hanno maggiore familiarità con la scrittura in Java, quindi l'utilizzo di Xamarin richiederebbe che uno sviluppatore acquisisca familiarità con un nuovo linguaggio e una nuova piattaforma di creazione. Abbiamo trattato un progetto volto a colmare il divario tra i sistemi operativi mobili fornendo una piattaforma di sviluppo incrociato per gli sviluppatori Java:
Motore multi-OS di Intel - ma non si sa dove sia diretto il progetto. Ecco dove MechDome entra.MechDome è una start-up con sede in California e costituita a gennaio che ha sviluppato uno strumento di conversione in crea automaticamente app native per iOS e OS X dalla tua app Android. Non è necessario imparare a utilizzare un nuovo IDE o API. Tutto quello che devi fare è inviare un file APK a MechDome (non è necessario inviare loro il codice sorgente) e lo strumento completamente automatizzato compilerà in pochi secondi un file binario autonomo per iOS e OS X che lo sviluppatore potrà poi distribuire sull'App Store di Apple. Abbiamo intervistato il fondatore e amministratore delegato di MechDome, Mario Kosmiskas, per vedere una dimostrazione dello strumento in azione. lavori. Sebbene esistano alcune limitazioni dovute a differenze fondamentali tra il funzionamento di iOS e Android (di cui parleremo di seguito), lo strumento ha già prodotto alcune app live sull'App Store di Apple come IL open source Cliente Reddit RedReader e un open sourceSudoku cliente per dimostrare che funziona.
App Android su iOS con MechDome
L'obiettivo dichiarato di MechDome è consentire agli sviluppatori di convertire un'app Android non modificata in un'app nativa iOS o OS X. Rispetto a tecnologie come Multi-OS Engine di Intel o Xamarin, uno sviluppatore Android non ha bisogno di saperlo come associare una libreria Objective-C perché lo strumento lo gestirà per te. Né è necessario utilizzare un generatore di interfaccia utente per modificare la tua app Android, poiché MechDome gestisce la conversione di tutti gli elementi dell'interfaccia utente Android. Sì, anche le app per tablet Android si traducono bene in un formato adatto agli iPad.
La più grande promessa di MechDome è che l'app Android convertita funzionerà in un modo con cui gli utenti del sistema operativo di destinazione avranno familiarità. Ad esempio, il menu di condivisione di Android verrà sostituito con il foglio di condivisione nativo in iOS e includerà la possibilità di utilizzare AirDrop, se applicabile. Le app che pubblicano notifiche in Android visualizzeranno invece una notifica nel Centro notifiche di iOS. Alcuni intenti, come l'apertura di una fotocamera su Android, apriranno effettivamente la fotocamera sul dispositivo iOS e gli intenti URL su Android chiameranno Safari su iOS. I fornitori di contenuti su Android che accedono ai contatti o al calendario accederanno invece ai database iOS o OS X pertinenti per queste informazioni.
Ma come accennato in precedenza, ci sono effettivamente alcune limitazioni a questo strumento imposte dalla natura del funzionamento di iOS. Una delle maggiori sfide che deve affrontare uno sviluppatore Android che desidera convertire la propria app in iOS è come gestire un servizio in background. iOS è molto più severo riguardo a quando e quali tipi di servizi in background possono essere eseguiti dalle applicazioni di terze parti, nel bene e nel male. Inoltre, il sistema Rich intent presente in Android che consente la comunicazione tra app è in gran parte assente su iOS. Infine, l'API di Google Play Services non è attualmente supportata, quindi qualsiasi app che si basa sui servizi Google non funzionerà. Pertanto, gli sviluppatori saranno per lo più limitati alle funzionalità a cui si accede direttamente tramite input manuale dell'utente, il che non dovrebbe rappresentare un problema significativo per la maggior parte dei giochi o delle app.
MechDome in uso
In una demo privata, lo strumento sembra effettivamente funzionare come pubblicizzato. Il signor Kosmiskas ha dimostrato la compilazione di diverse app Android completamente funzionanti in app iOS e OSX funzionanti. Le notifiche toast, le notifiche nel Centro notifiche, la visualizzazione Web, l'accesso alla posizione, l'immissione di testo e le funzionalità generali degli elementi dell'interfaccia utente funzionavano tutti nella demo. Il calcolatore AOSP in esecuzione su iOS appariva e funzionava esattamente come su qualsiasi dispositivo Android.
È stato anche mostrato l'aggiornamento di un'applicazione e la ricompilazione per iOS e il processo è abbastanza semplice. Lo sviluppatore, in questo caso il signor Kosmiskas, ha dimostrato la modifica di una casella di testo per visualizzare "XDA-Developers" in Android Studio. Ha quindi esportato l'app, generato un APK firmato e compilato i file binari di iOS e OS X in pochi secondi dal server MechDome. Quando l'app iOS è stata avviata utilizzando un emulatore, erano presenti le modifiche apportate in Android Studio.
Attualmente, MechDome è sottoposto a un programma beta pubblico gratuito. Gli sviluppatori possono registrare la loro app sul sito Web MechDome per ricevere un invito a provare la conversione della propria app Android. Purtroppo non sono ancora state rivelate informazioni sui prezzi del servizio. Tuttavia, è un progetto interessante a cui prestare attenzione se sei uno sviluppatore Android che cerca di fare scalpore nell'ecosistema Apple senza dover spendere molti sforzi.