Was ist Flutter?

Mit welcher Technologie sollen wir den Front-End-Client erstellen? Diese Frage stellen wir uns immer, wenn wir neue Projekte evaluieren. Für die KVV Home Zone entschieden wir uns für das von Google entwickelte Framework Flutter als die perfekte Technologie.

Warum Flutter perfekt für die KVV Home Zone ist

Unser Kunde wünschte sich eine App für Android und iOS sowie eine Web-App zum Erstellen und Konfigurieren seiner Ticketing-Zonen.

Dank Flutter sind wir in der Lage, für alle drei Plattformen mit einer einzigen Codebasis zu entwickeln. Dabei bleiben wir weiterhin nah an den mobilen Plattformen, um so mobile Funktionen wie Benachrichtigungen und Geolocation einfach nutzen zu können. Durch eine gemeinsame Codebasis brauchen wir uns über Unterschiede zwischen den verschiedenen Plattformen keine Gedanken machen. So konnten wir Konzepte schnell durchlaufen, ohne zwischen mehreren Teams synchronisieren zu müssen. Darüber hinaus konnten wir die App mit einem viel kleineren Team entwickeln, als es bei einer nativen App für alle drei Plattformen nötig gewesen wäre.

KVV Homezone
Karlsruher Verkehrsverbund
> Zum Projekt

Was haben wir gelernt?

Flutter Community & Pakete

Pakete in Flutter ermöglichen die Verwendung von Lösungen, die andere Personen bereits genutzt haben. Obwohl es ein Konzept ist, das in fast allen Programmierumgebungen vorhanden ist, fühlen wir uns durch die Art und Weise, wie Flutter damit umgeht, sicherer, diese Lösungen zu verwenden.

  • Grundsätzlich sind alle Pakete Open Source: man kann den geschriebenen Code leicht sehen und entscheiden, ob man ihm vertrauen kann oder nicht
  • Um Fehler zu beheben oder Erweiterungen hinzuzufügen, reicht es aus für das Projekt einen Fork auf github zu erzeugen. Dieser Fork kann ohne weitere Anpassungen benutzt werden
  • Die Entwickler:innen der Pakete helfen aktiv Probleme zu beheben, sodass man selten irgendwo stecken bleibt
  • Im Pakete Manager pub.dev kann man super Alternativen entdecken, falls ein Paket nicht das richtige ist

Der Status von Flutter Web

Unsere größte Sorge bei dem Projekt war der Status von Flutter Web, da es sich noch in der Beta befand. Unser größtes Problem war, dass google_maps nicht sofort für Flutter Web verfügbar war. Wir haben dies gelöst, indem wir einen Wrapper mit dem Paket google_maps von a14n geschrieben haben. Ursprünglich war geplant, diesen Wrapper als Paket zu veröffentlichen. Mittlerweile gibt es jedoch eine offizielle Version für den Web-Support, die einen ähnlichen Ansatz wie unsere Lösung verwendet.

Abgesehen davon haben wir es nicht bereut, Flutter Web für dieses Projekt ausgewählt zu haben. Werden wir Flutter Web verwenden, um Web Support für zukünftige Flutter-Apps hinzuzufügen? Ja. Werden wir zukünftig Web-Apps mit Flutter Web schreiben? Vielleicht. In naher Zukunft werden wir wahrscheinlich weiterhin webspezifische Technologien verwenden, genauso wie native Apps für Android und iOS. Jedenfalls freuen wir uns darauf, wie es mit Flutter Web weitergehen wird.

Flutter
Native Apps in Rekordzeit
> Mehr erfahren

Testing in Flutter

(Automatische) Tests haben bei ZWEIDENKER einen hohen Stellenwert und wir freuen uns daher sehr, dass wir mit Widget-Tests, unsere Codes schnell testen können. Es besteht kein Zweifel, dass Tests die Codequalität verbessern. Was wir an Widget-Tests außerdem so großartig finden, ist, dass wir damit sowohl vollständige Abläufe als auch isolierte Bildschirme / Widgets bei hoher Geschwindigkeit testen können. Darüber hinaus ist es sehr schnell, Widget-Tests zu schreiben, wie Remi Rousselet perfekt ausgedrückt hat.

Wie geht es weiter?

Flutter wird für künftige IID Projekte immer wichtiger werden. Denn mit diesem Programmierwerkzeug können wir Apps schneller und in kleineren Teams bei gleichwertiger Qualität entwickeln.

Anton Borries | Android Entwickler bei ZWEIDENKER

Artikel teilen

Tags: Cross-platform, Flutter, KVV