Das ist ein guter Grund, warum App-Entwickler häufig die iOS-Version ihrer App an erster Stelle stellen - der App Store war der erste in der Szene und ist immer noch sehr beliebt, aber die anderen Plattformen sollten nicht ignoriert werden. Die Android-App-Branche prognostizierte, dass sie 2017 mit den iOS-App-Verkäufen aufholen könnte. Eine erfolgreiche Android-App bei Google Play kann so rentabel sein wie eine iOS-App im App Store.
Die Beliebtheit von Apps auf iOS- und Android-Geräten macht die plattformübergreifende Entwicklung zu einem wichtigen Aspekt. Die Möglichkeit, einmal zu programmieren und überall zu bauen, spart viel Zeit, auch wenn Sie nur für iOS und Android entwickeln möchten. Wenn Sie Windows, Mac und andere Plattformen zum Mix hinzufügen, kann dies eine extreme Zeitersparnis bedeuten. Die plattformübergreifende Entwicklung ist jedoch mit einem Vorbehalt verbunden. Sie sind oft in einem Toolkit eines Drittanbieters eingeschlossen, wodurch Einschränkungen hinsichtlich der Möglichkeiten einer App möglich sind, z. B. dass Sie die neuesten Funktionen eines Betriebssystems nicht verwenden können, bis Ihr Toolkit dies unterstützt.
Hier finden Sie eine Auswahl an Toolkits, mit denen Sie plattformübergreifende Entwicklung durchführen können.
Corona SDK
Corona Labs 'populäres plattformübergreifendes Corona Software Development Kit (SDK) unterstützt Windows- und Mac-Computer und ist eine großartige Möglichkeit, iOS- und Android-Apps zu entwickeln. Mit Corona SDK erstellen Sie ein Projekt einmalig und veröffentlichen es auf mehreren Geräten, einschließlich Computern, Smartphones, Tablets und Smart-TVs.
Corona SDK zielt hauptsächlich auf 2D-Spiele ab, hat aber auch einige Produktivitätsanwendungen. Einige Entwickler haben erfolgreich Nongaming-Apps mit dem Corona SDK entwickelt. Die Plattform verwendet LUA als Sprache, was die Codierung schneller macht als die Verwendung der verschiedenen C-Varianten, und es ist bereits eine Grafik-Engine eingebaut.
Das Beste ist, dass das Corona SDK für Anfänger und Hobbyisten kostenlos ist. Seriöse Schöpfer und Profis zahlen eine monatliche Gebühr. Sie können Spiele und Produktivitäts-Apps sofort herunterladen und entwickeln. Es ist nicht besonders gut, wenn Sie viel Texteingabe vom Benutzer benötigen, aber es ist solide für die meisten anderen Produktivitätszwecke und hervorragend für 2D-Grafiken.
Hauptanwendungen: 2D-Spiele, Produktivität
Lesen Sie weiter unten
Einheit
Das Corona SDK eignet sich hervorragend für 2D-Grafiken. Wenn Sie jedoch 3D wollen, benötigen Sie Unity. Wenn Sie in Zukunft mit 3D arbeiten möchten, ist Unity möglicherweise die beste Wahl, auch wenn Ihr aktuelles Projekt ein 2D-Spiel ist. Es ist immer eine gute Idee, ein Code-Repository aufzubauen, um die zukünftige Produktion zu beschleunigen.
Die Entwicklung von Unity-Spielen kann länger dauern, aber Unity unterstützt fast alle Plattformen, einschließlich Konsolen und Web-Gaming, die von der WebGL-Engine unterstützt werden.
In der Unity-Version 2018 wurden Vorlagen hinzugefügt, um Sie mit verschiedenen Arten von Projekten zu beginnen, einschließlich 2D- und 3D-Spielen. Andere Vorlagenoptionen umfassen eine VR-Vorlage sowie High-End- und Lightweight-Vorlagen. Mit der neuen Scriptable Render Pipeline (SRP) können Entwickler und technische Künstler in Unity beginnen, ohne C ++ beherrschen zu müssen. Stattdessen verwendet SRP C # - und Material-Shader.
Hauptnutzen: 3D-Spiele
Lesen Sie weiter unten
Cocos2D
Wie der Name schon sagt, ist Cocos2D ein Framework zum Erstellen von 2D-Spielen. Im Gegensatz zu Corona SDK ist Cocos 2D jedoch keine exakte Code-Once-Compile-Anywhere-Lösung. Vielmehr handelt es sich um eine Bibliothek, die in verschiedene Plattformen eingefügt werden kann, wodurch der eigentliche Code gleich oder ähnlich wird. Das macht viel Gewicht, wenn ein Spiel von einer Plattform zur nächsten portiert wird, es erfordert jedoch mehr Arbeit als Corona. Der Vorteil ist jedoch, dass das Ergebnis in der Muttersprache codiert ist. Dadurch haben Sie vollen Zugriff auf alle APIs des Geräts, ohne auf die Aufnahme durch einen Drittanbieter zu warten.
Es gibt verschiedene Versionen von Cocos2D für C ++, JavaScript, C #, Xcode und Objective C sowie Python.
Hauptnutzen: 2D-Spiele
PhoneGap
PhoneGap nutzt HTML 5 zur Entwicklung plattformübergreifender Anwendungen. Die Basisarchitektur dieser Plattform ist eine HTML 5-App, die in einem WebView auf der nativen Plattform ausgeführt wird. Sie können sich dies als Web-App vorstellen, die in einem Browser auf dem Gerät ausgeführt wird. Statt einen Webserver zum Hosten der App zu benötigen, fungiert das Gerät auch als Server.
Wie Sie sich vorstellen können, kann PhoneGap in Bezug auf Spiele nicht mit Unity, Corona SDK oder Cocos konkurrieren, aber es kann diese Plattformen hinsichtlich Business, Produktivität und Unternehmenskodierung leicht übertreffen. Die Basis von HTML 5 bedeutet, dass ein Unternehmen eine interne Web-App entwickeln und auf Geräte übertragen kann.
PhoneGap-Entwickler profitieren von einer robusten Plugin-Bibliothek, die die Fähigkeiten von plattformübergreifenden mobilen Apps erweitert.
PhoneGap interagiert auch gut mit Sencha, einer Plattform zum Erstellen von Webanwendungen.
Hauptnutzen: Produktivität und Geschäft
Lesen Sie weiter unten
Und mehr…
Corona SDK, Unity, Cocos und PhoneGap stellen einige der beliebtesten plattformübergreifenden Entwicklungspakete dar, es gibt jedoch viele andere Optionen. Einige davon sind nicht ganz so robust, benötigen mehr Zeit vom Code bis zum tatsächlichen Build oder sind teuer, aber sie können für Ihre Anforderungen genau richtig sein.
- QT: QT ist eine gute Wahl für Unternehmens- und Produktivitäts-Apps. QT gibt es seit einiger Zeit in verschiedenen Formen. Die neueste Version bringt eine ansonsten solide Plattform auf den Punkt.
- Xamarin: Eine weitere gute Wahl für Nongaming-Lösungen. Xamarin verwendet C # als Programmiersprache.Xamarin ist darauf spezialisiert, native UI-Elemente zu verwenden, sodass Apps so aussehen, als wären sie für jedes einzelne Gerät konzipiert.
- Marmelade: In erster Linie eine Gaming-Plattform, hat Marmalade sowohl ein C-Tool als auch Marmalade Quick, ein LUA-Tool. Es ist praktisch, iOS-Spiele für Android neu zu kompilieren.
- Appcelerator: Wenn Sie lieber JavaScript verwenden, kann Appcelerator Ihr Werkzeug sein. Es ist keine perfekte Lösung für Code-Once-Builds, die überall erstellt werden können - Sie müssen noch einige Builds für bestimmte Geräte erstellen, aber Sie können für jedes Gerät ohne Hybridkompromisse entwickeln.