Weshalb wir gewisse Apps mit Flutter entwickeln 26. September 2020 - Maroje Ljutic

Flutter für Android und iOSFlutter ist eine Open Source Lösung zur Entwicklung von mobilen Applikationen und neuerdings browserbasierten Anwendungen. Mit bald drei Jahren Marktpräsenz, ist Flutter zu einer reifen Entwicklungsumgebung gewachsen, welche sehr nahe an der nativen App Entwicklung ist. Bereits einige Apps konnten wir für Kunden oder für firmeninterne Zwecke mit Flutter entwickeln. Wir zeigen anhand Projektbeispielen auf, weshalb es unser bevorzugtes Cross-Plattform Framework geworden ist.

Die Kernmerkmale von Flutter

Die Flutter Entwicklungsumgebung wurde von Google entwickelt. Es ist nicht das erste Cross-Plattform Framework für Mobile Apps. Konkurrenten wie Facebook mit React Native und Microsoft mit Xamarin wollen auch in der Mobile Entwicklerszene mitmischen. Google hat mit Services wie Firebase und eigenem Betriebssystem Android seine bessere Ausganslage nutzen können und Flutter hat in den letzten Jahren den grössten Aufschwung erlebt.

Drei Kernmerkmale zeichnen Flutter aus:

  1. Schnellere Entwicklung von Apps dank «Stateful Hot Reload» und dem Widget Ansatz.
  2. Sehr nahe am nativen Look n’ Feel und flexibel für besondere Benutzeroberflächen.
  3. Native Performance dank Kompilierung zu nativem ARM Code und eigener Programmiersprache Dart.

Um wie viel reduziert sich die Entwicklung mit Flutter?

Eine App realisieren beinhaltet mehr als nur deren Entwicklung; die Anforderungen müssen studiert und ein Lösungskonzept erarbeitet, die App Ansichten gestaltet und das Projekt koordiniert werden. Diese Aufwände sind bei Flutter Projekten wie auch allen anderen hybriden Entwicklungsansätzen enthalten. So ist das Kostenersparnis, wie nachfolgendes Bild illustriert im Schnitt rund 25%.

Flutter Entwicklungsaufwand

Flutter ersetzt zwar die separate Entwicklung je Plattform, jedoch müssen ab und zu gewisse iOS oder Android spezifische Funktionen gesondert gehandhabt werden. Im Idealfall können bei App Projekten 50% der Kosten gespart werden.

Sie suchen erfahrene Flutter Entwickler?

Unsere Erfahrung mit Flutter

Mit nachfolgenden Projektbeispielen erläutern wir die Gründe, weshalb wir Flutter gewählt haben und wieso wir das wieder tun würden.

Recommerce App

Die Recommerce App ist eine reine B2B App, um Mitarbeitern den Arbeitsalltag zu erleichtern. Die Kernanwendung ist die Warenidentifikation und Bestandsaufnahme mit der Handykamera. Die aufgenommenen Fotos lassen sich direkt in der App bearbeiten und an das System von Recommerce übermitteln.

Recommerce Flutter App

Wieso wir Flutter gewählt haben:

  • Die Backend-Schnittstelle war vorhanden und da es sich um eine einfache App handelt, genügte es einen Entwickler an das Projekt zu setzen. So konnte wir auch die Koordinationsaufwände auf ein Minimum reduzieren.
  • Eine besondere Anforderung ist, während der Fotoaufnahme von bspw. Garantiebelegen die Ränder abzuschneiden, kurz Fotoscan-Funktion. Obwohl Flutter eine relativ neue Technologie ist, fanden wir eine Open Source Bibliothek dafür.

Auf ein Hindernis sind wir mit Flutter jedoch gestossen. Die Anbindung an den Server verhielt sich auf iOS nicht wie erwünscht, so mussten wir das nativ implementieren. Ein Vorteil von Flutter gegenüber anderen Frameworks ist, dass dies problemlos möglich ist.

Die App konnten wir in weniger als 3 Wochen programmieren und sie ist in keiner Hinsicht schlechter als eine native App ausgefallen.

Übrigens, Recommerce betreibt verkaufen.ch, eine nachhaltige Plattform wo man preiswert geprüfte Smartphones kaufen oder sein Gebrauchtes verkaufen kann.

RTF for Pilots App

Die RTF for Pilots App ermöglicht das Erlernen der Radio Telefonie während der Pilotenausbildung auch unterwegs auf dem Smartphone.

RTF Pilots Flutter App

Die App hatten wir im 2017 nativ entwickelt. Da sie in der Zwischenzeit nicht mehr für die neuesten iOS und Android Betriebssysteme optimiert war, stellte sich die Frage, die Apps auf beiden Plattformen separat aktualisieren oder sie neu mit Flutter umsetzen.

Wir entschieden uns für Flutter aus diesen Gründen:

  • Das UI der App ist sehr spezifisch. Dafür ist Flutter die bessere Wahl, da es nur einmal programmiert wird und identisch auf iOS und Android daherkommt.
  • Das Backend war vorhanden, so konnten wir wiederum nur einen Entwickler ans Projekt setzen.
  • Die iOS App war noch in Objective-C programmiert und Android in Java*. Der Kunde wollte die App mit neuen Technologien aufsetzen um sie längerfristig einfacher zu Warten. Flutter ist dafür die optimale Wahl, da nur mit einer Codebase iOS und Android unterhalten werden.

* Diese beiden Programmiersprachen werden für Mobile Apps mit Swift und Kotlin abgelöst.

Sie möchten Ihre native App zu Flutter migrieren?

Unsere Mitarbeiter App «Abox»

Abox, kurz für Access Box, ist unsere hauseigene Cloud Anwendung zur Abwicklung und Verarbeitung diverser Adminaufgaben. Unsere Absicht war, gewisse Bereiche mit einer App abzudecken, wie bspw. die Anwesenheitsübersicht und Zeiterfassung, die Kontaktliste aller Mitarbeiter und die Reservation des Dienstwagens.

Abox Flutter App

Wir entschieden uns die App mit Flutter umzusetzen, da es ein internes Projekt ohne Deadlines war. So konnten wir mit dem relativ neuen Framework experimentieren und mit weniger Aufwand erste Resultate erzielen.

Flutter erwies sich als richtige Wahl und die Abox App wird von unseren Mitarbeitern gerne benutzt.

Fazit

Wie aus den Beispielen zu entnehmen ist, kann sich eine App mit Flutter zu entwickeln lohnen:

  • bei einfachen Apps
  • bei speziellen 2D Benutzeroberflächen
  • bei kleineren Projekten ohne Backendentwicklung
  • um schnelle Prototypen umzusetzen
  • um den Koordinationsaufwand zu reduzieren
  • wenn Flutter Widgets für besondere Anforderungen vorhanden sind
  • für tieferen Wartungsaufwand dank einer Codebase

Dennoch müssen wir gestehen, unsere App Entwickler bevorzugen die native Mobile App Entwicklung und wir glauben nicht dass das in naher Zukunft ändern wird. Native Apps sind halt die Premium-Lösung, technisch immer auf dem neuesten Stand und funktional allen anderen Entwicklungsansätzen überlegen.

Flutter ist nicht weit weg davon entfernt und kommt vor allem zum Einsatz, wenn Entwicklungsaufwand und Kosten gespart werden sollen. Wir sind froh, dass Apps mit dem nativen und dem Cross-Plattform Ansatz entwickelt werden können. So können wir je nach Anforderungen und Bedürfnissen unseren Kunden die richtige Lösung anbieten. Wenn es Cross Plattform sein soll, werden wir weiterhin auf Flutter setzen.

Weiterlesen
Bleib auf dem laufenden, abonniere unseren Newsletter
Mit deiner E-Mailadresse registrieren