ra2 studio - stock.adobe.com
Android, iOS und Co: Was bei der App-Entwicklung wichtig ist
Die Entwicklung von Apps für Google Android und Apple iOS setzt einige Überlegungen voraus. Worauf Entwickler bei den einzelnen Betriebssystemen achten müssen.
Mit dem Launch des iPhone durch Apple wurde die Kategorie der Mobiltelefone neu definiert. Smartphones haben sich schnell zum Standard entwickelt. Gleichzeitig haben Apps die Art und Weise, wie Menschen in ihrem beruflichen und persönlichen Leben agieren, dramatisch verändert.
Apps sind der Katalysator für die Umwandlung eines Mobiltelefons in ein Werkzeug, mit dem sich die Funktionsweise eines Unternehmens, der Umgang der Verbraucher mit einem Produkt oder die Effizienz der Lieferkette verbessern lassen. Entscheidungsträger in Unternehmen sollten daher die einzelnen mobilen Betriebssysteme verstehen und vergleichen.
Softwareentwicklung: Mobile versus Desktop
Seit 2010 hat der Absatz von Smartphones – und in abgeschwächter Form von Tablets – dramatisch zugenommen. Mobilgeräte haben die Art und Weise verändert, wie Entwickler an Computern arbeiten und für Geräte Apps entwickeln. Kernfunktionen wie E-Mail-Messaging, das Surfen im Web und Kalendermanagement sind nun von Mobilgeräten aus zugänglich.
Die große Funktionsvielfalt hat es erleichtert, verschiedene Aufgaben auf Mobilgeräte zu erledigen. Zum Beispiel greifen Benutzer heute häufiger über ein Mobiltelefon als über Desktop-Computer auf E-Mails, Videos und soziale Medien zu.
Darüber hinaus verfügen Mobilgeräte über Hardwarefunktionen, die auf Desktop-Computern nicht verfügbar sind, zum Beispiel hochauflösende Kameras, Beschleunigungssensoren, GPS und 4G LTE. Gleichzeitig sind die Entwicklungsplattformen ausgereifter und robuster, was die App-Entwicklung erleichtert und gleichzeitig den Prozess effizienter und besser mit anderen IT-Systemen integriert.
Die Betriebssysteme im Vergleich
Auf dem Mobile-Markt gibt es heute zwei vorherrschende Betriebssysteme: Google Android und Apple iOS. Laut IDC dominiert Android den weltweiten Smartphone-Markt und ist auf 85 Prozent der Mobilgeräte installiert. Allerdings generiert iOS mehr Umsatz als Android, und Apple-Geräte sind in Unternehmen beliebter.
Die Marktanalysten weisen jedoch auch darauf hin, dass der Smartphone-Absatz leicht rückläufig ist. Die ersten beiden Quartale 2019 waren das sechste und siebte Quartal in Folge mit rückläufigen Umsätzen – lediglich im dritten Quartal konnten die Hersteller einen Zuwachs verzeichnen.
Bei Anwendern und Unternehmen herrscht eine gewisse Unsicherheit darüber, wie sich der Markt für Mobilgeräte in Zukunft entwickelt. Dennoch bleibt die Mobile-Entwicklung ein wichtiges Anliegen im Unternehmen, mit dem Fokus auf Android und iOS.
Google Android
Android ist das weltweit beliebteste mobile Betriebssystem. Seine Popularität wird hauptsächlich durch das Vertriebsmodell von Google angetrieben: Android ist ein Open-Source-Projekt, das Herstellern und Anbietern die kostenlose Lizenz zur Nutzung von Android und zur Modifikation des Kernbetriebssystems für ihre Geräte übergibt.
Auch wenn die meisten Android-Varianten eng mit dem Kernbetriebssystem verbunden sind, hat die Freiheit, Android zu modifizieren, viele Herausforderungen gebracht: die Android-Welt ist stark fragmentiert.
Dennoch wird Android mit jeder neuen Version immer größer und leistungsfähiger. In Android 9.0 Pie integrierte Google zum Beispiel künstliche Intelligenz, so dass sich ein Gerät an die Benutzeraktivität anpassen kann.
Das offizielle Entwicklungs-Tool für Android ist die kostenlose integrierte Entwicklungsumgebung (IDE) Android Studio. Zuvor verwendeten Entwickler hauptsächlich Eclipse zusammen mit Android Development Tools. Google unterstützt das Plug-in allerdings nicht mehr. Entwickler können ihre Apps kostenlos im Google Play Store veröffentlichen, wobei eine einmalige Anmeldegebühr von 25 US-Dollar anfällt.
Apple iOS
Sowohl iPhone- als auch iPad-Geräte verwenden iOS, das auf Darwin basiert, einem Unix-Betriebssystem, das auch die Grundlage für macOS bildet. Laut Apple gibt es inzwischen mehr als 1,4 Milliarden aktive iOS-Geräte weltweit.
Die zweite Version von iOS führte das Konzept der Apps ein, was eine neue Art der Arbeit mit Mobilgeräten ermöglichte. Gleichzeitig hat Apple seine IDE Xcode für die iOS-App-Entwicklung bereitgestellt. Xcode ist das offizielles Entwicklungswerkzeug von Apple und kostenlos erhältlich.
Die IDE unterstützt die Programmiersprache Swift, die Apple im Juni 2014 einführte, um die Entwicklung zu vereinfachen. Entwickler können mit Xcode und Swift Anwendungen für iOS, macOS, watchOS und tvOS erstellen. Das Apple Developer Program kostet 99 Euro pro Jahr und beinhaltet die Möglichkeit, Apps im App Store von Apple anzubieten.
Welche anderen Plattformen gibt es?
Obwohl Android und iOS den Mobilfunkmarkt dominieren, gibt es eine Reihe von Alternativen. Entwickler können auch Anwendungen für diese Plattformen bauen.
Eine neue Technologie ist das webbasierte Betriebssystem KaiOS, das ein Nachfolger des inzwischen ausgemusterten Firefox-Betriebssystems ist. KaiOS unterstützt Funktionen wie LTE, GPS sowie Wi-Fi und HTML5-Anwendungen. Das Betriebssystem bietet eine Reihe von Standard-Webtechnologien, darunter HTML, CSS und JavaScript, wobei Gecko als Laufzeitumgebung zum Einsatz kommt.
KaiOS ist in erster Linie für Mobiltelefone und IoT-Geräte gedacht, die wenig Speicherplatz benötigen. Um eine App für KaiOS zu entwickeln, muss man einen Firefox-Browser der Version 59 oder älter mit installiertem WebIDE-Add-In verwenden. WebIDE-Benutzer können sich dann über den Browser mit den Firefox Developer Tools verbinden.
Eine KaiOS App ist im Wesentlichen eine Webanwendung, die für Paketierung oder Hosting zur Verfügung steht. Gepackte Anwendungen werden lokal, gehostete Anwendungen auf einem Server ausgeführt.
Ein weiteres mobiles Betriebssystem, das an Bedeutung gewinnt, ist Tizen. Tizen ist eine Open-Source-Plattform, die auf Linux basiert und von der Linux Foundation unterstützt wird. Das OS bietet Entwicklern die Möglichkeit nativer Anpassungen sowie die Flexibilität von HTML5.
Das Betriebssystem ist in mehreren Profilen verfügbar, um verschiedene Gerätetypen zu unterstützen. Auf diese Weise können Unternehmen Tizen an den Speicher-, Verarbeitungs- und Energiebedarf bestimmter Geräte anpassen.
Entwickler können Tizen Studio verwenden, um native und Web-Apps für die Tizen-Plattform zu erstellen. Tizen bietet auch Code-Snippets, SDKs und eine native API-Referenz sowie Foren, Designrichtlinien und andere Dokumentationen.
Die Herausforderung bei der Arbeit mit Plattformen wie KaiOS und Tizen besteht darin, dass IT-Mitarbeiter oft neue Technologien, Tools und Prozesse erlernen müssen, ohne in den Vorteil einer großen Entwicklergemeinde zu kommen, die sie unterstützt. Dennoch können diese Technologien helfen, eine Nische zu besetzen, die Android und iOS nicht bieten.
Native versus hybride Entwicklung
Die Einführung von iOS und Android hat zu der Frage geführt: Für welches Betriebssystem soll man ein Produkt entwickeln? Entwicklungsteams können eine App zum Beispiel mit unterstützten Tools wie Xcode, Android Studio und Visual Studio entwickeln. Die Entwicklung einer App für ein bestimmtes Betriebssystem sowie die Verwendung der vom Anbieter unterstützten Entwicklungswerkzeuge und -sprachen wird als native Entwicklung bezeichnet.
Mobile Entwicklung entspricht aber häufiger einem Hybridmodell. Dieses folgt der Strategie: Einmal bauen, auf mehreren Plattformen verwenden. Tools wie Apache Cordova (ehemals PhoneGap), Xamarin (Microsoft) und React Native (Facebook) ermöglichen es Entwicklern, eine Sprache zu verwenden, zum Beispiel JavaScript für Apache Cordova und React Native oder C# für Xamarin, um eine einzige Codebasis aufzubauen, mit der eine App auf mehreren Plattformen eingesetzt werden kann.
Vor- und Nachteile von nativer und hybrider Entwicklung
Hybride Apps nutzen Technologien wie CSS, JavaScript und HTML5, was es Entwicklern erleichtert, schnell und unkompliziert für die führenden Plattformen zu entwickeln. Die Lernkurve ist nicht zu groß, und sie können eine App in wenigen Stunden zum Laufen bringen. Viele Enterprise-, Sales- und Supply-Chain-Angebote lassen sich mit hybriden Tools schnell und effektiv abschließen.
Die Herausforderung beim hybriden Ansatz besteht dann, wenn Entwickler komplexe Anwendungen aufbauen müssen. Hybrid-Tools werden entwickelt, um den kleinsten gemeinsamen Nenner plattformübergreifend zu unterstützen. Wenn man zum Beispiel eine App entwickeln möchte, die die ARKit 2 APIs für iOS anbietet, kann es schwierig sein, eine hybride Plattform zu finden, die diese Funktion unterstützt, so dass die Entwickler einen eigenen Workaround kreieren müssen.
Die Entwicklung von Apps in Unternehmen wird oft durch spezifische Tools und Frameworks ergänzt, die als Mobile Enterprise Application Platform (MEAP) bezeichnet werden. Ziel eines MEAP ist es, plattformübergreifende Tools bereitzustellen, die die Anbindung an Backoffice-Datenbanken und -Systeme erleichtern. MEAPs sind vor allem für ihre Drag-and-Drop-Fähigkeiten bekannt. Beliebte Anbieter sind Kony (Temenos), Mendix und OutSystems.
Für welche Plattform sollte man entwickeln?
Die Entscheidung, ob man sich für den nativen oder hybriden Ansatz entscheidet, ist nicht die einzige Überlegung, wenn man eine Enterprise-App entwickeln möchte. Weitere Faktoren, die man bei der Auswahl einer Plattform berücksichtigen sollte, sind:
- Wie sichert man Ressourcen und stellt die Einhaltung von Vorschriften sicher?
- Wie authentifiziert man Benutzer einfach und sicher?
- Möchte man ein MEAP-Produkt für die plattformübergreifende Entwicklung verwenden?
- Möchte man Tools für Tablets und Smartphones entwickeln?
- Wie verbindet man sich mit den Backoffice-Systemen?
Mobilgeräte haben sich zu einer Selbstverständlichkeit in Unternehmen entwickelt. Die Herausforderung für die heutigen IT-Mitarbeiter besteht darin, den effizientesten Weg zur Entwicklung, Bereitstellung und Verwaltung ihrer Anwendungen unter Berücksichtigung des gesamten Application Lifecycle zu finden.
Effektive Apps können dazu beitragen, die Produktivität zu steigern und die Benutzerfreundlichkeit zu verbessern. Gleichzeitig muss aber sichergestellt sein, dass Sicherheit und Datenschutz nicht beeinträchtigt werden.