Individuelle Apps
Immer mehr privatwirtschaftliche und öffentliche Organisationen setzen auf eigene Apps. Mit dem Flutter-Framework können diese effizient für verschiedene Betriebssysteme entwickelt werden. Das spart Zeit und Kosten.
Effiziente Entwicklung mit Flutter
Morgens beim Frühstück die Nachrichtenlage checken, auf dem Weg zum Bahnhof schnell das Zug-Ticket kaufen, in der Bahn das Firmen-Intranet durchstöbern und abends auf der Couch noch etwas shoppen – alles mobil möglich dank Apps. Die Programme für das Smartphone sind aus dem Alltag kaum noch wegzudenken. Kein Wunder also, dass immer mehr Organisationen ihre Stakeholder über eine eigene App erreichen wollen. Dabei steht zu Projektbeginn oft die gleiche Frage im Raum: Wie und womit soll die App entwickelt werden?
Eine der großen Herausforderungen in der App-Entwicklung sind die verschiedenen Betriebssysteme. Soll die Anwendung für Smartphones entwickelt werden, muss sie später sowohl auf Android- als auch auf iOS-Geräten laufen. Aufgrund der großen Unterschiede zwischen den Systemen bedeutet dies häufig eine parallele Entwicklung von zwei Apps – eine für Android und eine für iOS. Soll das Programm auch auf Computer-Betriebssystemen oder im Web zum Einsatz kommen, ist der Aufwand bei der Entwicklung dementsprechend noch höher.
Kostenreduktion von bis zu 50 Prozent
„In der klassischen Entwicklung muss der Programmcode für jede Plattform bzw. jedes Betriebssystem neu angepasst werden. Das ist mit Blick auf Design und Funktionalität recht umfangreich. Wenn zwei Teams eine App entwickeln, müssen alle die gleichen Vorstellungen haben, damit die App am Ende systemübergreifend einheitlich ist. Das kann viel Abstimmungsbedarf mit sich bringen“,
erklärt Laura Merten, Entwicklerin im Team Mobile Solutions bei Materna. Dieses Problem betrifft nicht nur die initiale Entwicklung einer App, sondern im Folgenden auch die Pflege und Weiterentwicklung.
Für effizientere Projekte setzen Entwicklungsteams daher auf das Open Source Framework Flutter, ein Software Development Kit (SDK) aus dem Hause Google. Mit diesem werden sogenannte Cross Plattform Apps entwickelt; und nicht nur für iOS und Android, sondern auch für Desktop-Programme unter Windows, Mac und Linux sowie Web-Anwendungen für Browser. Der große Vorteil:
„Wir müssen für die verschiedenen Systeme lediglich eine Code-Basis schreiben. Flutter übernimmt dann im Anschluss den Code für die verschiedenen Plattformen und kompiliert native Apps. Das Entwicklungsteam muss dann nur noch in Ausnahmefällen kleine, plattformspezifische Änderungen vornehmen“,
sagt die App-Entwicklerin. Dadurch lassen sich die Entwicklungskosten im Bestfall um bis zu 50 Prozent reduzieren, wie eine Effizienzanalyse innerhalb einer akademischen Abschlussarbeit eines Materna-Kollegen zu dem Thema ergeben hatte.
Flutter-Projekt SafeVac 2.0
Das SDK mit der Programmiersprache Dart wurde im Dezember 2018 (Version 1.0) veröffentlicht und ist damit recht jung. Allerdings hat es sich innerhalb der kurzen Zeit bereits etablieren können. Für einen Vergleich mit der Konkurrenz lohnt sich ein Blick auf GitHub, den meistgenutzten Dienst zur Versionsverwaltung für Software-Entwicklungsprojekte. Auf der Plattform hat Flutter bis Anfang 2022 von der Entwickler-Community mehr als 137.000 Sterne als Bewertung erhalten – der direkte Konkurrent React Native von Facebook nur etwa 100.000, obwohl dieses Framework zwei Jahre älter ist.
„Flutter hat uns schnell überzeugt. Daher waren wir bei Materna schon recht früh dabei, es erst im Test und dann für neue Projekte in der App-Entwicklung zu nutzen. Aktuell arbeiten sich weitere Kolleg:innen ein und wir haben die ersten Projekte erfolgreich abgeschlossen. Die Ergebnisse überzeugen auch die Kunden, die durch einen effizienteren Entwicklungsprozess Zeit und Kosten sparen, und das ohne Qualitätseinbußen“,
so Merten.
Ein mit Flutter umgesetztes Projekt von Materna ist die App SafeVac 2.0 des Paul-Ehrlich-Instituts, mit der die Verträglichkeit von Covid-19-Impfstoffen erhoben wird. Aufgrund der zeitkritischen Umstände in der Corona-Pandemie sollte die App ab Ende 2020 frisch geimpften Bürger:innen möglichst schnell zur Verfügung stehen. Durch die Entscheidung für eine Cross Plattform App mit Flutter konnte das Entwicklungsteam die App innerhalb von gut vier Monaten umsetzen. Mittlerweile verzeichnet die App SafeVac 2.0 mehr als eine Million Downloads in den App-Stores von Google und Apple und unterstützt damit den Einsatz sicherer Impfstoffe.
„Skeleton“ beschleunigt Entwicklung
Um die App-Entwicklung zukünftiger Projekte mit Flutter noch effizienter zu gestalten, arbeitet das Entwicklungsteam um Laura Merten mit einem sogenannten Skeleton:
„Wir haben intern eine vollwertige App entwickelt. Komponenten wie eine interaktive Open Source-Karte, einen Barcode- und QR-Scanner, eine Messenger- und Chat-Oberfläche oder auch einen Login-Bereich können wir recht schnell für neue Projekte übernehmen und anpassen. Dadurch starten wir bei der Entwicklung nicht bei null, können weitere Ressourcen einsparen und die Zeit bis zum Marktstart verkürzen“,
erklärt Laura Merten. Zudem unterstützt Flutter bereits von Haus aus Funktionen für einen barrierefreien Einsatz, beispielsweise „Fetter Text“, „Dynamische Schriftgröße“ oder auch einen Screenreader. Anpassungen müssen diesbezüglich nur in Ausnahmefällen vorgenommen werden.
Alles ist ein Widget
Der Erfolg von Flutter lässt sich unter anderem auf die dahinterstehende Technik und die Prozesse zurückführen. Der Leitsatz: Alles ist ein Widget. Dabei wird die objektorientierte Programmierung bis in die Benutzeroberfläche umgesetzt. Diese besteht somit aus verschiedenen Widgets, die ineinander geschachtelt werden. Jedes einzelne Element, wie etwa Buttons, angezeigter Text oder auch Animationen, ist ein Widget. Flutter liefert dafür alle wichtigen User Interface-Elemente mit und beachtet dabei das Material Design von Android und die Human Interface Guidelines von iOS. Wenn nötig, können Entwickler:innen Widgets erweitern oder eigene erstellen. Diese können dann problemlos mit den vorhandenen kombiniert werden. Darüber hinaus überzeugt Flutter die Entwickler:innen durch das sogenannte Hot Reload: Mit diesem Feature können sie Änderungen an der App vornehmen, während sie ausgeführt wird, und diese innerhalb von Sekunden betrachten. Genauso schnell können sie Fehler oder Bugs analysieren und beheben.