Zum Inhalt springen
_CORE
KI & Agentensysteme Unternehmensinformationssysteme Cloud & Platform Engineering Datenplattform & Integration Sicherheit & Compliance QA, Testing & Observability IoT, Automatisierung & Robotik Mobile & Digitale Produkte Banken & Finanzen Versicherungen Öffentliche Verwaltung Verteidigung & Sicherheit Gesundheitswesen Energie & Versorgung Telko & Medien Industrie & Fertigung Logistik & E-Commerce Retail & Treueprogramme
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

Flutter — Cross-Platform-Entwicklung in der Praxis

24. 05. 2021 3 Min. Lesezeit CORE SYSTEMSdevelopment
Flutter — Cross-Platform-Entwicklung in der Praxis

Flutter 2 brachte stabilen Support für Web und Desktop-Plattformen. Nach drei Produktionsprojekten — einer Fintech-App, einem internen Unternehmensportal und einer B2C-E-Commerce-App — haben wir eine klare Meinung darüber, wo Flutter glänzt und wo es noch an seine Grenzen stößt.

Warum Flutter und nicht React Native

Anfang 2021 standen wir vor der Entscheidung: React Native oder Flutter für ein neues Mobilprojekt. React Native hat ein größeres Ökosystem, und JavaScript-Entwickler sind leichter zu finden. Aber Flutter überzeugte uns mit drei Dingen:

  • Performance: Flutter kompiliert zu nativem ARM-Code über AOT (Ahead-of-Time) Compilation. Keine JavaScript Bridge. Animationen laufen mit 60 FPS auch auf Low-End-Geräten.
  • UI-Konsistenz: Flutter rendert eigene Pixel über die Skia Engine — die UI sieht auf iOS und Android identisch aus. Keine Überraschungen beim Testen auf der anderen Plattform.
  • Hot Reload: Sub-Sekunden Hot Reload beschleunigt die Iteration dramatisch. Widget ändern, Ergebnis sofort sehen. Im Vergleich zur nativen Entwicklung ist das ein Game Changer.

Dart — Eine Sprache, die überrascht

Die größte Sorge vor der Flutter-Einführung war Dart. Niemand im Team kannte es. Realität? Ein Entwickler mit starkem Java/Kotlin- oder TypeScript-Hintergrund ist in 2–3 Tagen produktiv. Dart ist eine saubere, typisierte Sprache mit modernen Features — Null Safety (seit Dart 2.12), async/await, Extension Methods.

Sound Null Safety, eingeführt im März 2021, ist ein enormer Fortschritt. Null Reference Exceptions gehören in Dart der Vergangenheit an — der Compiler zwingt Sie, Nullable-Typen zu behandeln. Nach Jahren von NullPointerException in Java ist das befreiend.

Architektur — State Management

Flutter bietet Dutzende Ansätze für State Management. Nach Experimenten haben wir uns auf das BLoC (Business Logic Component) Pattern mit der flutter_bloc-Bibliothek festgelegt. Warum:

  • Testbarkeit: BLoC ist reines Dart — Unit-Tests ohne Flutter-Dependencies
  • Trennung von UI und Logik: Widgets zeigen nur den Zustand an, BLoC handhabt die Business-Logik
  • Skalierbarkeit: Das Pattern funktioniert für kleine und große Anwendungen
  • Debugging: Bloc Observer protokolliert jeden State Change — großartig für Debugging

Für kleinere Projekte (Prototypen, interne Tools) verwenden wir Provider oder Riverpod — weniger Boilerplate, schnellerer Start.

Performance in der Praxis

Eine Fintech-App mit komplexen Charts, Echtzeit-Daten und Animationen. Performance-Metriken auf einem Pixel 4a (Mittelklasse-Gerät):

  • Cold Start: 1,2 s (vergleichbar mit einer nativen Kotlin-App)
  • Frame Rate: stabile 60 FPS auch beim Scrollen komplexer Listen
  • APK-Größe: 12 MB (Release Build mit Tree Shaking)
  • RAM: ~80 MB im Idle, ~120 MB bei aktiver Nutzung

Das einzige Performance-Problem stellten wir bei der Web-Version fest — Flutter Web ist 2021 noch langsamer als eine native Webanwendung. Für interne Tools in Ordnung, aber für öffentliche Websites würden wir es nicht empfehlen.

Ökosystem und Packages

pub.dev hat über 20.000 Packages. Die Qualität variiert, aber die wichtigsten Bibliotheken sind solide:

  • dio für HTTP — Interceptors, Retry, Cancel Tokens
  • freezed für Immutable Data Classes — generiert ==, hashCode, copyWith
  • hive für lokalen Storage — ein schneller Key-Value-Store
  • firebase_* für Backend — Auth, Firestore, Push Notifications

Probleme gibt es bei plattformspezifischen Plugins. Wenn Sie Bluetooth, NFC oder erweiterte Kamerafunktionalität benötigen, existieren Plugins, aber Qualität und Wartung schwanken. Manchmal muss man Platform Channels selbst schreiben.

Wann Flutter nicht einsetzen

Flutter ist keine universelle Lösung. Wir empfehlen es nicht für:

  • Stark plattformspezifische Apps: ARKit/ARCore-Integration, iOS Widgets, Watch Apps
  • Öffentliche Websites: Flutter Web hat kein SEO, Accessibility ist eingeschränkt, Bundle-Größe ist groß
  • Bestehende native Codebase: Migration von Kotlin/Swift zu Flutter ist selten sinnvoll
  • Einmalige Prototypen: Wenn Sie nur eine Plattform anvisieren, ist native Entwicklung effizienter

Flutter im Jahr 2021 — Production-Ready

Flutter 2 ist ein produktionsreifes Framework für mobile Entwicklung. Wenn Sie eine einzige Codebase für iOS und Android mit nativer Performance benötigen, ist es die beste Wahl auf dem Markt. Web- und Desktop-Support sind ein Bonus, aber noch nicht auf dem Niveau des mobilen Teils. Der größte Vorteil? Ein Team, eine Sprache, zwei Plattformen — und 30–40 % Kosteneinsparung im Vergleich zu zwei nativen Teams.

fluttermobilecross-platformdart
Teilen:

CORE SYSTEMS

Wir bauen Kernsysteme und KI-Agenten, die den Betrieb am Laufen halten. 15 Jahre Erfahrung mit Enterprise-IT.

Brauchen Sie Hilfe bei der Implementierung?

Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.

Kontaktieren Sie uns