MechDome ist ein neues Entwicklertool, das Android-Apps automatisch in iOS konvertiert und alle UI-Elemente und die meisten nativen Funktionen beibehält.
Die plattformübergreifende Entwicklung stellt für die meisten unabhängigen Entwickler seit vielen Jahren eine große Herausforderung dar. Oftmals ist es einfach zu zeit- und ressourcenintensiv, eine neue Programmiersprache zu erlernen, um Ihre App auf eine andere Plattform zu portieren.
Diese Tatsache der Ressourcenzuteilung ist es, die viele Entwickler seit Jahren dazu veranlasst, ihre Bemühungen hauptsächlich auf iOS zu konzentrieren, da mehr lukrativer Markt. Dank Projekten wie XamarinEntwickler, die mit C# vertraut sind, konnten ihre Projekte jedoch auf iOS, Android und Windows Mobile übertragen. Da Android-Entwickler jedoch am besten mit dem Schreiben in Java vertraut sind, müsste sich der Entwickler bei der Verwendung von Xamarin mit einer neuen Sprache und Build-Plattform vertraut machen. Wir haben ein Projekt behandelt, das darauf abzielt, die Lücke zwischen mobilen Betriebssystemen zu schließen, indem es eine übergreifende Entwicklungsplattform für Java-Entwickler bereitstellt:
Intels Multi-OS-Engine - aber es ist nicht abzusehen, wohin das Projekt führt. Das ist wo MechDome kommt herein.MechDome ist ein im Januar gegründetes Start-up-Unternehmen mit Sitz in Kalifornien, das ein Konvertierungstool entwickelt hat Erstellen Sie automatisch native iOS- und OS Sie müssen nicht lernen, wie man eine neue IDE oder API verwendet. Sie müssen lediglich eine APK-Datei an MechDome senden (es ist nicht erforderlich, ihnen Ihren Quellcode zu senden) und das vollautomatische Tool kompiliert in Sekundenschnelle eine eigenständige Binärdatei für iOS und OS X, die der Entwickler dann im App Store von Apple verteilen kann. Wir haben uns zu einem Interview mit dem Gründer und CEO von MechDome, Mario Kosmiskas, zusammengesetzt, um eine Demonstration des Tools in Aktion zu sehen – und zwar funktioniert. Aufgrund grundlegender Unterschiede zwischen der Funktionsweise von iOS und Android gibt es jedoch einige Einschränkungen (worüber wir weiter unten sprechen werden), hat das Tool bereits einige Live-Apps im Apple App Store erstellt, z Die Open Source Reddit-Client RedReader und ein Open SourceSudoku Kunden, um zu beweisen, dass es funktioniert.
Android-Apps auf iOS mit MechDome
Das erklärte Ziel von MechDome besteht darin, Entwicklern die Konvertierung einer unveränderten Android-App in eine native iOS- oder OS X-App zu ermöglichen. Im Vergleich zu Technologien wie Intels Multi-OS Engine oder Xamarin muss ein Android-Entwickler das nicht wissen So binden Sie eine Objective-C-Bibliothek denn das Tool erledigt das für Sie. Es ist auch nicht erforderlich, einen UI-Builder zum Ändern Ihrer Android-App zu verwenden, da MechDome die Konvertierung aller Android-UI-Elemente übernimmt. Ja, sogar Android-Tablet-Apps lassen sich problemlos in ein für iPads geeignetes Format übersetzen.
Das größte Versprechen von MechDome besteht darin, dass die konvertierte Android-App auf eine Weise funktionieren wird, mit der Benutzer des Zielbetriebssystems vertraut sind. Beispielsweise wird das Android-Freigabemenü durch das native Freigabeblatt in iOS ersetzt und bietet gegebenenfalls die Möglichkeit, AirDrop zu verwenden. Apps, die Benachrichtigungen in Android veröffentlichen, zeigen stattdessen eine Benachrichtigung im Benachrichtigungscenter von iOS an. Bestimmte Absichten wie das Öffnen einer Kamera auf Android öffnen tatsächlich die Kamera auf dem iOS-Gerät, und URL-Absichten auf Android rufen Safari auf iOS auf. Inhaltsanbieter auf Android, die auf Kontakte oder den Kalender zugreifen, greifen für diese Informationen stattdessen auf die entsprechenden iOS- oder OS X-Datenbanken zu.
Aber wie bereits erwähnt, gibt es bei diesem Tool tatsächlich einige Einschränkungen, die durch die Funktionsweise von iOS bedingt sind. Eine der größten Herausforderungen für einen Android-Entwickler, der seine App auf iOS umstellen möchte, ist der Umgang mit einem Hintergrunddienst. iOS ist im Guten wie im Schlechten viel strenger, wenn es darum geht, wann und welche Arten von Hintergrunddiensten Drittanbieteranwendungen ausführen können. Darüber hinaus fehlt das in Android vorhandene Rich-Intent-System, das die Kommunikation zwischen Apps ermöglicht, auf iOS weitgehend. Schließlich wird die Google Play Services API derzeit nicht unterstützt, sodass Apps, die auf Google-Dienste basieren, nicht funktionieren. Daher sind Entwickler größtenteils auf Funktionen beschränkt, auf die direkt durch manuelle Benutzereingaben zugegriffen werden kann, was für die meisten Spiele oder Apps kein nennenswertes Problem darstellen dürfte.
MechDome im Einsatz
In einer privaten Demo scheint das Tool tatsächlich wie angekündigt zu funktionieren. Herr Kosmiskas demonstrierte die Kompilierung mehrerer voll funktionsfähiger Android-Apps in funktionierende iOS- und OSX-Apps. Toast-Benachrichtigungen, Benachrichtigungen im Benachrichtigungscenter, Webansicht, Standortzugriff, Texteingabe und allgemeine Funktionen von UI-Elementen funktionierten alle in der Demo. Der unter iOS laufende AOSP-Rechner sah genauso aus und funktionierte genauso wie auf jedem Android-Gerät.
Es wurde auch das Aktualisieren einer Anwendung und deren Neukompilierung für iOS gezeigt, und der Vorgang war recht einfach. Der Entwickler, in diesem Fall Herr Kosmiskas, demonstrierte die Änderung eines Textfelds zur Anzeige von „XDA-Developers“ in Android Studio. Anschließend exportierte er die App, generierte ein signiertes APK und kompilierte die iOS- und OS X-Binärdateien in Sekundenschnelle vom MechDome-Server. Beim Start der iOS-App über einen Emulator waren die in Android Studio vorgenommenen Änderungen vorhanden.
Derzeit durchläuft MechDome ein kostenloses öffentliches Betaprogramm. Entwickler können Registrieren Sie ihre App auf der MechDome-Website, um eine Einladung zum Testen der Konvertierung ihrer Android-App zu erhalten. Leider wurden noch keine Preisinformationen für den Dienst veröffentlicht. Dennoch ist es ein interessantes Projekt, nach dem Sie Ausschau halten sollten, wenn Sie ein Android-Entwickler sind, der irgendwann im Apple-Ökosystem für Aufsehen sorgen möchte, ohne selbst viel Aufwand betreiben zu müssen.