Mobile Entwicklungsplattformen

Wenn Sie mit der mobilen Entwicklung beginnen, kann es schwierig sein, sich für eine Plattform zu entscheiden. Schlimmer noch, jede Plattform hat ihre eigenen Sprachen und Werkzeuge zur Auswahl. Wie kannst du dich entscheiden??

Dieses Tutorial hilft Ihnen bei der Auswahl einer geeigneten Plattform für die mobile Entwicklung, sodass Sie sofort mit dem Codieren von Apps beginnen können.

Plattformen und ihre Marktanteile

Eine Plattform - ein Ökosystem aus mobilen Geräten, Toolkits und Apps - wird normalerweise durch das Betriebssystem definiert. Die Plattformanbieter sind große Unternehmen wie Google, Apple, Microsoft usw. Jeder von ihnen hat ein Betriebssystem entwickelt, das sie an Gerätehersteller lizenzieren. Manchmal sind sie auch Gerätehersteller. Die Gerätehersteller entwerfen und bauen die Geräte (meistens Smartphones und Tablets) mit dem entsprechenden Betriebssystem vorinstalliert. Diese Geräte werden dann an Verbraucher (die Benutzer) verkauft.. 

Einige Basis-Apps, die vom Gerätehersteller oder sogar vom Plattformanbieter entwickelt wurden, sind möglicherweise auf dem Gerät vorinstalliert. Der Hersteller und der Gerätehersteller können jedoch nicht auf die ständig wachsenden Anforderungen der Benutzer dieser Geräte eingehen. Daher verlassen sie sich auf "Drittanbieter" -Entwickler, um die Lücke zwischen Angebot und Nachfrage zu schließen. 

Um die Entwickler zu unterstützen, die Apps für die Plattform verkaufen möchten, veröffentlichen sie SDKs, APIs und andere Tools, um die App-Entwicklung zu vereinfachen. Außerdem kann ein offizieller "App Store" gestartet werden, in dem die Entwickler ihre Apps veröffentlichen können und in dem die Verbraucher sie durchsuchen und herunterladen können. Somit ist ein gesamtes App-Ökosystem um die Plattform herum aufgebaut.

Derzeit hat Android OS von Google mit 86,1% den größten Weltmarktanteil. Apples iOS hat 13,7% und belegt den zweiten Platz. Der verbleibende Anteil von rund 0,2% wird von allen anderen Anbietern gemeinsam geteilt. Dazu gehören Windows Mobile von Microsoft, BlackBerry OS, Tizen OS, Sailfish OS und Ubuntu Touch. 

Die globale Zusammensetzung kann sich in bestimmten Ländern erheblich ändern. In den Vereinigten Staaten beträgt der Marktanteil von Android beispielsweise 53,4% und der von iOS 44,5%. Dies ist ein bemerkenswerter Unterschied im Vergleich zum Weltmarktanteil. Wenn Sie einen bestimmten Markt vor Augen haben, ist es eine gute Idee, die Zielgruppe zu untersuchen, um herauszufinden, welche Plattform sie wahrscheinlich verwenden werden!

CPU-Architektur

Während alle diese Plattformen die ARM-CPU-Architektur unterstützen, erweitert Android seine Unterstützung um x86- und MIPS-Architekturen. Tizen, Sailfish OS und Ubuntu Touch unterstützen auch die x86-Architektur. Wenn Sie jedoch keine eigenen ROM-Chips programmieren, wirken sich die von jeder Plattform unterstützten CPU-Architekturen nicht auf Ihre Wahl aus.

So wählen Sie eine Plattform aus

Ihre Vertrautheit mit Programmiersprachen

Als Entwickler von mobilen Apps müssen Sie viel Code schreiben. Es gibt bestimmte Tools, mit denen Sie das Eingeben eines textbasierten Code-Editors vermeiden können. Android und iOS verfügen beispielsweise über Drag & Drop-Tools zum Erstellen grafischer Benutzeroberflächen. Dadurch können Sie die Plattformfunktionen und -funktionen jedoch nicht vollständig nutzen. Um komplexe Apps zu erstellen, müssen Sie die Programmiersprache für Ihre Plattform lernen.

Daher müssen Sie möglicherweise einige Anstrengungen unternehmen, um eine neue Programmiersprache zu lernen oder eine zu beherrschen, die Sie bereits kennen. Alle großen Plattformen verwenden beliebte Programmiersprachen mit großen Entwicklergemeinschaften. Stellen Sie also sicher, dass Sie Ihr Wissen und Ihre Fähigkeiten in diesen Sprachen einsetzen.

Wenn Sie mit Java vertraut sind, können Sie Android-Apps mit Android SDK (Software Development Kit) leichter entwickeln. Für einige erweiterte App-Funktionen müssen Sie jedoch C- und C ++ - Kenntnisse mit dem Android NDK (Native Development Kit) verwenden. Außerdem ist es jetzt möglich, für Android mit alternativen Sprachen wie Kotlin zu programmieren.

iOS erfordert die Programmierkenntnisse von Objective-C oder Swift. 

Wenn Sie ein Fan von Microsoft Visual Studio .NET sind, können Sie Windows Mobile-Apps mit C # entwickeln.. 

Um für BlackBerry oder Tizen zu entwickeln, lernen Sie einfach HTML, CSS und JavaScript. 

Master QML oder Python, und Sie sind bereit, Sailfish-Apps zu entwickeln. 

Wenn Sie Ubuntu Touch lieben, sollten Sie QML oder HTML und JavaScript lernen. 

Wenn Sie die Websprachen wie JavaScript und CSS bereits kennen, können Sie diese für die Entwicklung einer beliebigen Plattform mit einem mobilen plattformübergreifenden Framework verwenden.

Neue Programmiersprachen werden ständig vorgeschlagen und gefördert. Es ist zwar nicht immer klar, ob diese neuen Sprachen einen großen Vorteil gegenüber den alten haben, es ist jedoch eine gute Idee, sich auf die neuesten Trends einzustellen. Einige Programmiersprachen können durch die Einführung der neuen Programmiersprachen veraltet werden - Swift ist beispielsweise ein Ersatz für Objective-C -, und einige alte Sprachen werden mit völlig neuen Verwendungsmöglichkeiten erneuert.

Native vs. Hybrid-Entwicklung

Bei der Entwicklung von Smartphone-Apps haben Sie zwei Möglichkeiten: native Apps und Hybrid. Eine native App, die auf einer Plattform veröffentlicht wurde, kann nicht auf einer anderen Plattform ausgeführt werden. Sie können beispielsweise keine native Android-App auf einem iOS-Gerät installieren. Dazu müssen Sie eine separate plattformspezifische Version veröffentlichen, die mit den entsprechenden Entwicklungs- und Bereitstellungstools für iOS erstellt wurde. Im Gegensatz dazu ist eine Hybrid-App eine Web-App, die mit HTML, CSS und JavaScript entwickelt und in eine native App-Shell (oder Benutzeroberfläche) eingebettet ist.. 

Native Apps bieten eine hervorragende Leistung und nutzen die Funktionen des Geräts voll aus. Sie sind auch sicherer. Der Nachteil ist, dass der Entwickler mehrere Codebases für jede der Plattformen verwalten muss. Da hybride Apps nur mäßigen Zugriff auf native APIs haben, bleiben ihre Leistung und die Benutzererfahrung (UX) etwas zurück. Der Hauptvorteil der Hybrid-Apps besteht darin, dass der Entwickler für mehrere Plattformen mit derselben Codebase veröffentlichen kann.

Wenn Sie native Apps erstellen möchten, sollten Sie unsere umfassenden Kurse zum Einstieg in die Programmierung von Apps für Android oder iOS besuchen.

Ionic 2 ist ein beliebter Rahmen für die Entwicklung plattformübergreifender mobiler Hybridanwendungen. Es basiert auf dem Angular 2 Web Framework. Wenn Sie mehr erfahren möchten, sehen Sie sich einige unserer Kurse oder Tutorials an.

Native plattformübergreifende Apps

Vor kurzem hat sich ein neuer Stapel mobiler plattformübergreifender Frameworks herausgebildet. Diese kombinieren die besten Funktionen von nativen Apps und Hybrid-Apps - sie sind schnell und leicht und können auf die volle Leistungsfähigkeit des nativen Geräts zugreifen, sie sind jedoch auch mit JavaScript und anderen Web-Sprachen codiert, sodass viel Code zwischen ihnen wiederverwendet werden kann Plattformen.

React Native und NativeScript sind gängige native plattformübergreifende Frameworks. Wenn Sie mehr darüber erfahren möchten, besuchen Sie unseren umfassenden Anfängerkurs oder einige unserer zahlreichen Tutorials.

Ihre Fähigkeit zu lernen

Wenn Sie ein schneller Lerner sind, können Sie den Entwicklungspfad auf nativer Ebene meistern. Sie müssen grundlegende Programmierkonzepte wie die objektorientierte Programmierung (OOP) verstehen und sich mit den plattformspezifischen technischen Konzepten auskennen, wie zum Beispiel dem Application Lifecycle Management in Android. 

Laden Sie zunächst die erforderlichen Tools und SDKs vom Plattformanbieter herunter und probieren Sie es aus. Die meisten dieser Tools sind Open Source, und es gibt zahlreiche Codebeispiele und App-Vorlagen, die Ihnen den schnellen Start erleichtern. 

Wenn Sie Webentwickler sind und den Smartphone-Entwicklungsbereich erkunden möchten, können Sie mit Hybrid- oder plattformübergreifender nativer Entwicklung anfangen. 

Systemeinrichtung und Codierbarkeit

Ein weiterer zu berücksichtigender Faktor ist die Betriebssystemplattform und manchmal auch die Hardwareeinrichtung des Entwicklungscomputers. 

Wenn Sie native iOS-Apps entwickeln möchten, ist dies auf einem normalen Windows-Computer nicht möglich. Sie benötigen einen Mac mit macOS und Xcode, die IDE von Apple für die iOS-Entwicklung. Ebenso werden native Ubuntu Touch-Apps am besten mit einem Ubuntu-Computer entwickelt. Während Android SDK auf allen drei großen Desktop-Betriebssystemen ausgeführt werden kann, ist es immer ratsam, vor der Entwicklung zu prüfen, ob Ihr System die empfohlenen Spezifikationen erfüllt.

App Store-Richtlinien und Ertragsfreigabe

Die App-Stores von Google und Apple erheben eine geringe Registrierungsgebühr. Obwohl beide den gleichen Prozentsatz der Umsatzbeteiligung bieten (derzeit 70% des Verkaufspreises), können Entwickler theoretisch mehr Umsatz durch Veröffentlichung bei Apple erzielen. Das liegt daran, dass die Anzahl der Apps relativ geringer ist und der Wettbewerb zwischen ähnlichen Apps geringer ist. Beachten Sie außerdem, dass nicht alle geografischen Standorte kostenpflichtige Apps im Play Store von Google veröffentlichen dürfen. Sie müssen sich also vorher eine Methode zur Monetarisierung Ihrer App vorstellen.

Neben dem Verkauf der App selbst besteht eine weitere Möglichkeit zur Monetarisierung Ihrer App darin, Anzeigen anzuzeigen oder zusätzliche Funktionen freizuschalten.

Ihre Zielgruppe

Dies ist ein wichtiger Faktor, da der Erfolg Ihrer App davon abhängt, wie gut Sie Ihre Zielgruppe ansprechen oder wie effektiv Sie ihre Probleme lösen. Während die meisten Smartphone-Benutzer dazu neigen, zu jüngeren Generationen zu gehören, gibt es Smartphone-Apps für ältere und behinderte Menschen. Da sich der Marktanteil der Plattform je nach Land und Altersgruppe ändert, ist es eine gute Idee, die Demografie der Plattform zu untersuchen, wenn Sie eine bestimmte Zielgruppe ansprechen möchten. 

Unterstützte Gerätefunktionen nach Plattform

Nicht alle Geräte unterstützen alle Funktionen einer Plattform. Einerseits gibt es High-End-Geräte, oft "Flaggschiff-Produkte" genannt, die die meisten Funktionen unterstützen. Auf der anderen Seite gibt es kostengünstige Einstiegsgeräte, die nur die grundlegenden Funktionen unterstützen. Dann ist alles dazwischen. 

Sie müssen also sehr wählerisch sein und fundierte Entscheidungen treffen, wenn Sie Apps entwickeln. Wenn Sie eine App entwickeln, für die nur von High-End-Geräten unterstützte Funktionen erforderlich sind, kann dies den Umsatz Ihrer App erheblich beeinträchtigen.

Auf der anderen Seite könnte dies eine Chance sein, wenn Sie Benutzern eines erweiterten Geräts eine App-Funktion anbieten können, die an anderer Stelle nicht verfügbar ist.

Fazit

In diesem Beitrag habe ich mir die wichtigsten Entwicklungsplattformen für mobile Geräte angesehen und versucht, Ihnen eine Anleitung zu geben, die Ihnen bei der Auswahl hilft. Die Anwendung dieser Erkenntnisse wird Ihnen sicherlich dabei helfen, in Ihrem App-Entwicklungsgeschäft erfolgreich zu sein.