iOS- und Android-App-Entwicklung: Herausforderungen & Trends

Digitales Business

Digitales Business

Datum 18.03.2019
Lesezeit 5 Min.

iOS- und Android-App-Entwicklung: Herausforderungen & Trends

Haben Sie bereits eine funktionierende App für iOS und Android im Programm oder planen Sie die Entwicklung einer solchen? Wir zeigen Ihnen, auf welche Trends und Plattformen Sie aktuell setzen sollten – und warum sich native App-Entwicklung weiterhin lohnt.

Ständige Updates, neue Programmiersprachen und -plattformen sowie häufig wechselnde Anforderungen sowohl von Kunden- als auch von der Hardwareseite machen App-Entwicklern gerne das Leben schwer. Doch nicht immer ist es notwendig, eine bestehende App von Grund auf neu zu entwickeln, um diese an neue Technologien anzupassen. Voraussetzung hierfür ist allerdings, dass Sie auf den richtigen Programmieransatz setzen – und Ihre App stets auf dem neuesten Stand halten.

 

Warum Updates prinzipiell besser als Remakes sind

Vielleicht ist Ihre App schon etwas in die Jahre gekommen und Sie stehen vor der Überlegung, diese von Grund auf neu zu programmieren. Während dieser Ansatz den Vorteil birgt, dass Sie sofort auf aktuelle Systeme und APIs setzen können, steht der Aufwand oft in keinem günstigen Verhältnis zum erwartbaren Nutzen. Die Portierbarkeit und Flexibilität Ihrer App zu erhöhen und sie auf dem neuesten Stand zu halten, kann so gesehen eine bessere Investition in deren Zukunft sein, als ein Wechsel in eine andere Programmiersprache.

Wenn Sie aktuell das Gefühl haben, vor einem riesigen Haufen unübersichtlicher Codezeilen zu stehen, sollten Sie zunächst damit beginnen, die Programmiergewohnheiten anzupassen. So verbessert sich nach und nach auch der Quellcode Ihrer App, ohne dass Sie ein funktionierendes System über Bord werfen müssen. Ähnlich hat es auch David Heinemeier Hansson, Autor des bekannten Ruby on Rails-Frameworks, kürzlich formuliert:

 

via Twitter

 

Nativ, Web oder Hybrid? So holen Sie das Maximum aus Ihrer Idee heraus

Wenn Sie eine App programmieren, stehen Sie immer vor der Entscheidung, wie viel Aufwand Sie in die Adaption für einzelne Betriebssysteme und Geräte stecken. So mancher Entwickler konzentriert sich von Anfang an auf native iOS- oder Android-Entwicklung. Demgegenüber können Sie mit Web-Tools innerhalb kürzester Zeit eine App für mehrere Plattformen zusammenbauen. Diese wird aber häufig Ihre Kunden nicht so begeistern wie eine App, die speziell auf die Bedürfnisse und Möglichkeiten des Betriebssystems und seiner Geräte zugeschnitten ist.

Eine mögliche Lösung für dieses Dilemma ist die sogenannte Hybridentwicklung. Hier werden größere Teile der App mit Webtechnologien programmiert – der native Teil der App hingegen läuft auf dem Betriebssystem und wird mit einer HTML-Rendering-Engine zum Webanteil „gebrückt”. Eine solche Brückenlösung erhalten Sie beispielsweise mit Phonegap von Adobe.

Vergleich des Entwicklungsaufwands für Apps

Entwicklungsaufwand für Apps für die gängigen Systeme Android und iOS

Bild: Eigenkreation: Unsplash / rawpixel.com


Swift: Warum Apples Programmiersprache eine gute Lösung ist

Es gab Zeiten, da wurden Apples hauseigener Programmiersprache Swift gegenüber Alternativen wie Objective-C und Java kaum Chancen eingeräumt. Mittlerweile hat sich das geändert und Schüler wie Studenten lernen schon früh den Umgang mit dem Programmiersystem für macOS, iOS und Co. Möglich wird das durch Apples umfangreiche Investitionen im Bildungssektor und die Tatsache, dass Swift in der Praxis deutlich leichter zu erlernen ist als Java und Objective-C.

Auf der jährlichen WWDC-Entwicklerkonferenz verwendet Apple schon länger ausschließlich Swift-Code, um Features und deren Abbildung via App zu demonstrieren. Wenn Sie also das Maximum aus den Fähigkeiten der iOS-Geräte und Macs herausholen wollen, sollten Sie bei nativen iOS-Anwendungen am besten gleich von Anfang an auf Swift setzen.

 

So nutzen Sie React Native und GraphQL in der App-Entwicklung

Wenn Sie sich für den Hybridansatz entscheiden, kann hingegen ein Blick auf React Native lohnen. Das quelloffene Framework ist speziell dafür gedacht, plattformübergreifende Apps für Android und iOS in JavaScript zu entwickeln. Das ursprünglich von Facebook vorgeschlagene Projekt besitzt eine ganze Reihe an Vorteilen. Mit mehr als 60.000 Sternen gehört es mittlerweile zu den beliebtesten Projekten auf GitHub und bekannte Unternehmen wie Airbnb oder Tesla verwenden das Framework aktuell für die Entwicklung ihrer Apps.

Die ebenfalls von Facebook vorgestellte Abfragesprache GraphQL bietet Ihnen zusätzlich die Möglichkeit, JSON-ähnliche Abfragen in Ihrer Datenbank durchzuführen. Während hierfür vielfach noch das REST-Programierparadigma (Representational State Transfer) zum Einsatz kommt, löst GraphQL einen wesentlichen Nachteil dieser Technologie. Komplexe Abfragen werden gebündelt und verhindern somit Schwierigkeiten, die gerade bei mobilen Anfragen durch unnötige Server-Roundtrips auftreten können.

 

Auch die Bedeutung von Machine Learning nimmt immer mehr zu

In Zeiten stets wachsender Kundenbedürfnisse und der allgegenwärtigen Nutzerinteraktion spielt auch Machine Learning eine immer größere Rolle. So kann auch Ihre App möglicherweise davon profitieren, dass sie wiederkehrende Muster erkennt und zu bewerten lernt. Das kann auch, aber nicht nur in folgenden Szenarien nützlich sein:

  • Wenn Ihre App Kunden zusammenbringen soll (beispielsweise auf einer Dating- oder Verkaufsplattform)
  • Um Spam, unerwünschte Kommentare oder negative Botschaften zuverlässiger zu erkennen
  • Zur Unterstützung der Relevanzerkennung bei First-Level-Supportanfragen

Die gewonnenen Erkenntnisse können dann als feste Regeln in die App integriert werden, sodass in bestimmten Fällen gar keine Serverabfragen mehr nötig sind. In diesem Zusammenhang ist auch von einem „Data-driven mindset” die Rede.

 

Video: YouTube / Google Cloud Platform

 

Zusammenfassung

  • Bevor Sie Ihre vorhandene App neu programmieren, sollten Sie Ihre Programmierrichtlinien anpassen.
  • Ob Sie Ihre App nativ, im Web oder als Hybrid entwickeln, ist im Wesentlichen eine Frage nach dem gerätespezifischen Anpassungsbedarf.
  • Für die native iOS-Entwicklung sollten Sie eher auf die Programmiersprache Swift als auf Objective-C oder Java setzen.
  • Für einen hybriden Ansatz bietet das React Native-Framework eine gute Ausgangsbasis.
  • Mit GraphQL können Sie Serverabfragen bündeln und so unnötige Roundtrips sparen.
  • Nutzen Sie Machine Learning-Verfahren, um Ihre Nutzer besser zusammenzubringen und Ihre Plattform gegen Spam zu schützen.

 

Welche Art von App-Entwicklung planen Sie: Native, im Web oder Hybrid? Verraten Sie uns Ihre Einschätzung gern in den Kommentaren.

 

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Facebook Twitter WhatsApp LinkedIn Xing E-Mail