Viele Smartphones,
viele Plattformen
viele Plattformen
Die Nachfrage der Zielgruppen hat es längst klar bestätigt: Eine App – ob in iOS, Android, als Web App, native oder hybrid entwickelt – bereichert bestehende Services, vereinfacht veraltete Prozesse und erhöht zudem die Kundenzufriedenheit.
Doch Vorsicht: Schnell stürzen sich Unternehmen in die App Entwicklung und kommen durch viele technischen Fragen, hohen Budgets und fehlende Klarheit über Ziele und Zielgruppe kaum voran.
Viele Smartphones, viele Plattformen und drei Möglichkeiten der App Entwicklung: Cross-Plattform kompatibel als webbasierte App, mit der Königsdisziplin native Apps oder mit der hybriden App als Mischlösung. Je nach Anforderungen sind diese drei Arten der App Entwicklung mal mehr, mal weniger geeignet. Wir geben einen kurzen Überblick als Entscheidungshilfe.
Grundlegend stellt sich die Frage bei einer App Entwicklung natürlich nach den Anforderungen und den gewünschten Plattformen. Kombiniert mit dem verfügbaren Budget ergibt sich aus dieser einfachen Rechnung die letztendliche Entwicklungs-Strategie.
Doch welche Entwicklungsansätze bei der App Entwicklung stehen denn nun zur Verfügung und welche Vor-/Nachteile haben diese Ansätze? Zum Ersten gibt es die webbasierten Apps, die wie der Name bereits sagt auf reinen Webtechnologien (HTML 5, CSS 3, Javascript) aufbauen. Als Königsdisziplin dürfte die Entwicklung von nativen Apps in der jeweiligen Plattform-Technologie (z.B. Swift, Kotlin) gelten und als Mischform beider Welten kommen die hybriden Apps ins Spiel.
Webbasierte App Entwicklung
Der große Vorteil einer webbasierten App Entwicklung ist die relativ einfache Umsetzung einer Cross-Plattform-Unterstützung. Wer allerdings bereits die Browserproblematiken auf Desktop-Systemen kennt, ahnt welche Stolpersteine bei den unzähligen mobilen Systemen warten können. Hier sind umfangreiche Tests einzuplanen. Viele Anbieter bieten dafür Emulatoren oder andere Testmöglichkeiten an – von simulierten Umgebungen bis hin zum Remote-Zugriff auf echte, in einer Testing-Farm verbundene Geräte.
Webbasierte Apps werden sicherlich oftmals für mobile Webseiten eingesetzt. Darüber hinaus lassen sich durch die neuen Funktionen von HTML5 & Co. auch viele andere Anforderungen abbilden:
- Offline-Funktionalität
- Automatische Aktualisierungen
- lokale Speicherung von Daten
- Zugriff auf geobasierte Funktionen
- Unterstützung von Touchgesten
- Nachahmung von typischen App-Oberflächen durch CSS3
- Ausführung in einem separierten Browser direkt vom Homescreen (PWA)
Darüber hinaus allerdings sind vor allem in Bezug auf den Gerätezugriff (Sensoren, Kamera,…) die Möglichkeiten derzeit noch stark eingeschränkt. Zudem kann die Performance und GUI naturgemäß natürlich nicht mit echten Apps mithalten. Als großen Nachteil empfinden viele die fehlende Verbreitungsmöglichkeiten von webbasierten Apps über die App Stores (Apple App Store, Google Play Store, etc.).
Progressive Web Apps (PWAs)
PWAs sind Webanwendungen, die moderne Webtechnologien nutzen, um eine App-ähnliche Erfahrung auf verschiedenen Plattformen und Geräten bereitzustellen. Sie kombinieren die Leistungsstärke von Webanwendungen mit den Funktionen traditioneller nativer Apps.
Sie sind auch bei schlechter Netzwerkverbindung besonders zuverlässig und laden schnell und flüssig. Außerdem passen sie sich an verschiedene Bildschirmgrößen an, sodass sie auf Desktops, Tablets und Mobilgeräten gleichermaßen gut funktionieren. Erwähnenswert ist auch, dass PWAs Benachrichtigungen senden und auf Gerätefunktionen wie Kameras, Standort und Mikrofon zugreifen können.
Ein weiterer entscheidender Vorteil ist, dass Nutzende PWAs auf ihrem Startbildschirm installieren können, ohne den App Store besuchen zu müssen. Das ermöglicht einen schnellen Zugriff. Zudem aktualisieren sich PWAs automatisch.
Durch diese Merkmale bieten PWAs eine flexible Lösung für Entwickler, die eine breite Reichweite an Geräten und Plattformen erreichen möchten, ohne separate Anwendungen für jede Plattform entwickeln zu müssen.
Agile App Entwicklung
In unserer agilen App Entwicklung nehmen wir uns Zeit, Deine Zielgruppe zu verstehen und eine individuelle Lösung zu finden, die alle Anforderungen erfüllt. Je nach Zeit und Budget erstellen wir eine klare Roadmap und starten dann mit dem individuell zusammengestellten Team und Projektmanagement. Eine transparente Dokumentation des Projektfortschritts und Einsicht sind dabei für uns selbstverständlich.
Was uns sonst noch wichtig ist? Das liest du hier – wir stellen unsere Arbeitsweise vor.
Native App Entwicklung
Bevor wir näher auf die Mischlösung der hybriden Apps eingehen, betrachten wir zunächst kurz die High-End-Variante der nativen Apps. Diese werden in der entsprechenden Technologie der jeweiligen Plattform umgesetzt.
- Swift für die iOS-Plattform
- Kotlin für Android
Entsprechend aufwendig ist die Umsetzung der App Entwicklung, insbesondere wenn dies für mehrere Plattformen verfügbar sein soll. In diesem Fall sind durch die unterschiedlichen Technologien kaum Codebestandteile plattformübergreifend wiederverwendbar, für jede Plattform muss in etwa der gleiche Entwicklungsaufwand gerechnet werden. Darüber hinaus sind die zugrundeliegenden Programmiersprachen zum Großteil deutlich anspruchsvoller als die bekannten Webtechnologien. Insbesondere die Oberflächengestaltung, Datenpersistenz und Netzwerkkommunikation müssen oft entweder selbst entwickelt oder mithilfe von Bibliotheken implementiert werden.
Als Dank für die deutlich komplexere Entwicklung erhält man aber dann Zugriff auf alle zur Verfügung gestellten Geräteeigenschaften/-funktionen und hat bei der GUI und Perfomance die gesamte Macht in seinen Händen, ohne die Limitierungen durch das – eigentlich für’s Web geschaffene – Technologiestack HTML/CSS/JS in Kauf nehmen zu müssen. Und hält man sich an die Vorgaben der Hersteller (insbesondere Apple) steht einer Veröffentlichung in den Markets und Stores dieser mobilen Welt nichts mehr im Wege.
Hybride App Entwicklung
Will man sich nun für keine der beiden genannten Varianten entscheiden, könnte ein Mischweg die goldene Mitte darstellen. Die hybride Umsetzung vereint das Beste beider Welten und stellt oftmals eine gute Alternative dar. Hybride Apps werden von nahezu allen App-Stores akzeptiert und es bestehen deutlich mehr Zugriffsmöglichkeiten auf Geräteeigenschaften als bei der webbasierten Umsetzung. Dazu können Cross-Plattform-Apps (meist für iPhone und Android) mit einem deutlich überschaubareren Aufwand als bei der nativen Lösung umgesetzt werden. Die hybride App Entwicklung wird in den Medien meist in einem Aufwasch genannt, es gibt allerdings zwei sich deutlich unterscheidende Varianten:
Webbasierte hybride Apps
Die eigentliche Funktionalität der App wird webbasiert umgesetzt. Im Anschluss wird um diese webbasierte App ein nativer Rahmen gestülpt. Durch diesen nativen Rahmen kann im webbasierten Kern auf mehr Geräteeigenschaften zugriffen werden, die Perfomance und GUI bleibt aber weiterhin auf die webbasierten Möglichkeiten beschränkt.
Native hybride Apps
Die App Entwicklung erfolgt in einer bestimmten Skriptsprache (z.B. Javascript). Dieser Code wird dann im Anschluss in eine echte native App auf die verschiedenen Plattformen umgewandelt.
Normalerweise verwenden wir Flutter oder .NET MAUI für die App Entwicklung. Mit diesen Tools haben wir Zugriff auf eine größere Bandbreite von Geräteeigenschaften im Vergleich zur hybriden Webentwicklung. Die Leistung und das Design der Benutzeroberfläche können sich dabei an echten nativen Apps orientieren. Allerdings stoßen wir auch hier an Grenzen, insbesondere bei komplexeren Anforderungen, was manchmal dazu führt, dass Teile der Applikation doppelt entwickelt werden müssen. Darüber hinaus kann es zu Verzögerungen kommen, wenn neue Funktionen auf den Plattformen eingeführt werden und diese erst später in unsere Entwicklungswerkzeuge integriert werden können.
Jetzt Kontakt aufnehmen
Egal ob Du ein konkretes Software-Projekt im Kopf hast oder Du Antworten auf offene Fragen suchst – wir sind da, um Dir weiterzuhelfen.
Vereinbare hier einen unverbindlichen Gesprächstermin und lass uns gemeinsam die passende Lösung für Dein Projekt finden.