Nehmen wir an, Sie müssen mobile Anwendungen sowohl für das Android-Betriebssystem als auch für iOS entwickeln. Was ist der beste Ansatz für die Softwareentwicklung?
Sie könnten zwei native Anwendungen entwickeln. Wenn Sie die Vorteile nativer APIs und betriebssystemspezifischer Programmiersprachen nutzen, können Sie eine leistungsstarke Anwendung entwickeln. Die meisten Unternehmensanwendungen, insbesondere solche, die einen hohen API-Verkehr erfordern, profitieren von der nativen Entwicklung.
Wenn Sie sich dafür entscheiden, eine native Anwendung nach der anderen zu entwickeln, werden Sie wahrscheinlich mit Android beginnen wollen – aus einigen der gleichen Gründe, aus denen sich unabhängige App-Entwickler oft auf Android konzentrieren. Wahrscheinlich haben Sie mehr Glück, wenn Sie die vollständige Anwendung als MVP für Android entwickeln und sie dann nach der Veröffentlichung für iOS konvertieren und optimieren.
Sie müssen dennoch den Code für die Muttersprache debuggen und neu schreiben und die Benutzeroberfläche neu gestalten, da die beiden Betriebssysteme sehr unterschiedlich funktionieren, was einen plattformübergreifenden Betrieb unmöglich macht.
Warum also nicht ganz von vorne anfangen? Zwar kann man den Code nicht einfach in eine neue Programmiersprache übersetzen, aber ein Großteil des Back-Ends kann plattformübergreifend repliziert werden. Frameworks, Bibliotheken und Erweiterungen von Drittanbietern funktionieren oft in beiden Umgebungen identisch, sodass Sie kostspielige Nacharbeiten vermeiden können. Sie können auch einen vorgefertigten mobilen Cloud-Service wie IBM Mobile Foundation verwenden, um das Web-Back-End zu verwalten.
Eine andere Möglichkeit ist ein hybrider Ansatz, bei dem einmaliges Schreiben und Ausführen an jedem Ort möglich ist. Hybride Anwendungen verwenden eine einzige Codebasis, die auf beiden Plattformen funktionieren kann. Sie sind in der Regel in einer allgemein anerkannten Programmiersprache wie Java, JavaScript, HTML oder CSS kodiert. Da Ihnen der Zugriff auf die nativen APIs des Betriebssystems verwehrt ist, eignet sich die Entwicklung hybrider mobiler Anwendungen am besten für einfache Webanwendungen – drei- oder vierseitige mobile Anwendungen mit begrenzter Funktionalität.