In der Welt der App Entwicklung gibt es nebst nativer Android und iOS Entwicklung mit Kotlin und Swift auch Cross-Platform Frameworks wie Flutter.
Was bedeutet Cross-Platform?
Unter plattformübergreifender Entwicklung (Cross-Platform) versteht man die Entwicklung einer Anwendung für mehrere verschiedene Betriebssysteme.
Was ist Flutter?
Flutter ist ein UI Framework von Google, das Android und iOS Entwicklungen mit einer einzigen Codebase ermöglicht. Die Programmiersprache Dart, die Google entwickelt hat, ist für viele Entwickler ein einfacher Einstieg.
Wo haben wir Flutter eingesetzt?
In House – Projekt
Um Erfahrungen zu sammeln, setzten wir bei einem Inhouse-Projekt auf Flutter. Es zeigte sich schnell, dass die Erfahrungen aus der nativen Mobile-App-Welt uns bei der Strukturierung des Flutter-Projekts enorm geholfen haben. Es ist uns schnell klar geworden, dass kleine Anpassungen speziell für iOS und Android implementiert werden müssen. Wie zum Beispiel das Schließen der Tastatur in einem Textfeld. Was die Zeitersparnis angeht, so können wir aus erster Hand sagen, dass dies den Bugfixes nach dem ersten Release zugutekommen wird.
Proof of Concept – bei einem grösseren Kunden
Eine einzige Code-Basis pflegen und Apps dennoch für Android und iOS bereitstellen – das klingt für viele erstmals sehr verlockend. Schliesslich sollte mit der Hälfte an Code ja auch 50% bei der Entwicklung und Wartung eingespart werden können.
Um dies genauer zu erfahren, wurden wir beauftragt im Rahmen eines PoCs die Umsetzung der bestehenden App in Flutter zu überprüfen und das mögliche Einsparungspotential besser abzuschätzen. Hierfür wurden die Kernfunktionalitäten der bestehenden App in Flutter nachgebaut, um die grundsätzliche Machbarkeit sicherzustellen. In einem weiteren Schritt wurden Bewertungsgrundlagen erarbeitet, um das Einsparungspotential bei der Umsetzung von neuen Features in Flutter besser abschätzen zu können.
Und was kam nun dabei raus? Spart man denn jetzt mit der Umsetzung in Flutter gegenüber der nativen Umsetzung? Auf das möchten wir in nächsten Beiträgen genauer eingehen, um die Vorteile aber auch die Risiken einer Umsetzung in Flutter gegeneinander abzuwägen.
Fazit:
Projekte wie diese beiden und das aktive Lernen von Technologien/Frameworks wie Flutter ermöglichen es uns, gute Entscheidungen für zukünftige Projekte zu treffen. Es hilft uns zu entscheiden, auf welche Technologie wir für ein neues Projekt setzen wollen. Viele Aspekte wie Nachhaltigkeit, Wartbarkeit des Programmiercodes, Wissenstransfer unter den Entwicklern und vieles mehr lassen sich besser abwägen. Letztlich kommt dies dem Produkt und der Vision des Kunden zugute.