Leistung
Flutter-Apps mit einer Codebasis für Android und iOS
Kurz erklärt
Mit Flutter entsteht aus einer einzigen Codebasis eine App für Android und iOS. Für die meisten Firmen-Apps mit Formularen, Listen, Kamera und Konten ist das ausreichend und spart doppelte Arbeit. Native Entwicklung lohnt sich vor allem, wenn eine App sehr tief in eine einzelne Plattform eingreift.
Wer eine App für Android und iOS braucht, muss sie nicht zweimal bauen lassen. Mit Flutter entsteht eine gemeinsame Codebasis, aus der beide Apps erzeugt werden. SaracAI entwickelt die eigenen Apps überwiegend mit Flutter, darunter ScanLoot für Android und iOS.
Lohnt sich Flutter für eine Firmen-App?
Für die meisten Firmen-Apps ja. Wenn eine App Daten anzeigt, Formulare erfasst, Fotos aufnimmt oder mit einem Server spricht, wird jede Funktion mit Flutter nur einmal gebaut und gilt für beide Plattformen.
Das spart vor allem bei der Pflege: Ein Fehler wird einmal behoben, eine neue Funktion einmal entwickelt. Bei zwei getrennten nativen Apps muss jede Änderung doppelt umgesetzt und doppelt getestet werden.
Wichtig ist trotzdem ein Test auf beiden Plattformen. Android und iOS verhalten sich bei Berechtigungen, Benachrichtigungen und Käufen unterschiedlich, und beide Stores prüfen die App nach eigenen Regeln. Diese Unterschiede werden in einer Flutter-App gezielt an den wenigen Stellen behandelt, an denen sie auftreten.
Gut geeignet
- Kunden-Apps mit Konto, Terminen, Bestellungen oder Belegen
- Apps mit Kamera, zum Beispiel zum Scannen von Dokumenten oder Produkten
- interne Apps für Außendienst und Mitarbeiter
- Apps mit Abos oder Käufen im Store
Weniger geeignet
- Apps, die sehr tief in eine Plattform eingreifen, etwa Widgets, Uhren-Apps oder spezielle Hardware
- Spiele mit aufwendiger 3D-Grafik, für die eigene Spiel-Engines gebaut sind
- Projekte, bei denen ein bestehendes natives Team die App weiterführt
Was ist Flutter genau?
Flutter ist ein quelloffenes Framework von Google, mit dem in der Sprache Dart Apps für mehrere Plattformen entstehen. Die Oberfläche wird von Flutter selbst gezeichnet, deshalb sieht die App auf Android und iOS gleich aus.
Laut offizieller Flutter-Dokumentation unterstützt Flutter Android, iOS, Windows, macOS, Linux und Webbrowser. Für mobile Apps nennt die Dokumentation in Version 3.47 Android ab API-Level 24 und iOS ab Version 15. Der Code wird für Android und iOS in Maschinencode übersetzt, nicht in einem Browser ausgeführt. Einen Überblick über die Architektur gibt die Seite Flutter architectural overview.
Wo liegen die Unterschiede zu nativer Entwicklung?
Native Apps werden für jede Plattform getrennt geschrieben: für Android meist in Kotlin, für iOS in Swift. Sie haben direkten Zugriff auf jede neue Systemfunktion, kosten aber bei zwei Plattformen in der Regel doppelten Entwicklungs- und Pflegeaufwand.
| Kriterium | Flutter | Native (Kotlin und Swift) |
|---|---|---|
| Codebasis | eine für Android und iOS | je Plattform eine |
| Pflegeaufwand | eine Änderung für beide | jede Änderung doppelt |
| Neue Systemfunktionen | über Plugins, teils mit Verzögerung | sofort verfügbar |
| Aussehen | einheitlich auf beiden Plattformen | jeweils plattformtypisch |
| Plattformcode einbinden | möglich über Plattformkanäle | nicht nötig |
Ein Mittelweg ist häufig: Die App entsteht in Flutter, und einzelne Funktionen, die nur nativ gehen, werden als Plattformcode eingebunden. Wie das funktioniert, beschreibt die Flutter-Dokumentation unter Platform channels. Eine ausführliche Abwägung steht im Ratgeber Flutter oder native Entwicklung?.
Welche Apps hat SaracAI mit Flutter gebaut?
SaracAI baut die eigenen Apps überwiegend mit Flutter. Dazu gehört ScanLoot, eine Karten-Scanner-App, die für Android und im App Store veröffentlicht ist und mit eigenem Server und Abos arbeitet.
Reine Android-Apps entstehen teils auch in Kotlin. Welche eigenen Apps im Google Play Store erschienen sind, zeigt die Seite App-Entwicklung. Aus diesen Projekten stammt die Erfahrung mit dem, was in Flutter-Projekten typischerweise Zeit kostet: Plugins für Gerätefunktionen, Kaufabwicklung über die Stores und die Einreichung bei Google und Apple.
Wie läuft ein Flutter-Projekt ab?
Ein Flutter-Projekt folgt demselben Ablauf wie jede App-Entwicklung: Konzept, Entwicklung, Test, Veröffentlichung. Der Unterschied liegt darin, dass Entwicklung und Test nur einmal stattfinden und am Ende zwei Apps für zwei Stores erzeugt werden.
- Konzept: Aufgabe, Nutzer und Funktionsumfang der ersten Version festlegen.
- Prüfung der Gerätefunktionen: Für jede benötigte Funktion, etwa Kamera, Ortung oder Benachrichtigungen, wird geklärt, ob ein gepflegtes Plugin existiert oder Plattformcode nötig ist.
- Entwicklung: eine Codebasis mit Oberfläche, Logik und Anbindung an Server oder bestehende Systeme.
- Test: auf Android- und iOS-Geräten, dazu in den Testkanälen von Google Play und Apple TestFlight.
- Veröffentlichung: Store-Einträge, Datenschutzangaben, Altersfreigabe und Länder. Details unter Veröffentlichung in Play Store und App Store.
Was Sie für ein Flutter-Projekt brauchen
- eine Beschreibung der Aufgabe, die die App lösen soll
- ein Konto bei Google Play und im Apple Developer Program, wenn die App unter Ihrem Firmennamen erscheinen soll
- Inhalte wie Texte, Logo und gegebenenfalls Zugänge zu bestehenden Systemen
Was kostet eine Flutter-App im Vergleich?
Gegenüber zwei getrennten nativen Apps entfällt der Großteil der doppelten Arbeit, weil Oberfläche und Logik nur einmal entstehen. Die tatsächlichen Kosten hängen wie bei jeder App vom Funktionsumfang, dem Server und den Schnittstellen ab.
Feste Preise ohne Konzept nennen wir nicht. Wie sich die Kosten einer App zusammensetzen, erklärt der Ratgeber Was kostet eine App-Entwicklung?. Für ein Angebot schreiben Sie über das Kontaktformular.
Kann eine bestehende App auf Flutter umgestellt werden?
Ja, das ist möglich, aber selten ein Selbstzweck. Eine Umstellung lohnt sich, wenn zwei native Apps auseinanderlaufen, die Pflege doppelt Geld kostet oder eine Plattform bisher fehlt.
Flutter lässt sich auch schrittweise einführen: Einzelne Bildschirme können als Flutter-Modul in eine bestehende native App eingebunden werden (Flutter-Dokumentation: Add Flutter to an existing app). So bleibt die App während der Umstellung nutzbar. Ob sich das rechnet, klären wir im ersten Gespräch anhand der vorhandenen App.
Weitere Begriffe rund um App-Entwicklung erklärt das Glossar, den Gesamtüberblick über unsere Leistungen finden Sie unter Leistungen.
Häufige Fragen
Was ist Flutter?
Flutter ist ein quelloffenes Framework von Google. Mit der Programmiersprache Dart entsteht daraus eine App, die auf Android und iOS läuft, außerdem im Browser und auf dem Desktop.
Ist eine Flutter-App langsamer als eine native App?
Für typische Firmen-Apps ist kein spürbarer Unterschied zu erwarten, weil Flutter in Maschinencode übersetzt wird und die Oberfläche selbst zeichnet. Bei sehr rechenintensiven Aufgaben oder speziellen Systemfunktionen kann nativer Code sinnvoll sein, der sich in eine Flutter-App einbinden lässt.
Kann eine Flutter-App auf Kamera, Standort und Benachrichtigungen zugreifen?
Ja, über Erweiterungen, sogenannte Plugins, die die Funktionen von Android und iOS ansprechen. Die eigene App ScanLoot nutzt zum Beispiel die Kamera zur Kartenerkennung.
Lohnt sich Flutter für eine Firmen-App?
Meist ja, wenn die App auf Android und iOS erscheinen soll und vor allem Daten anzeigt, erfasst oder mit einem Server abgleicht. Dann wird jede Funktion nur einmal gebaut und getestet.
Mit welcher Technik entwickelt SaracAI Apps?
Überwiegend mit Flutter (eine Codebasis für Android und iOS), außerdem Kotlin und React Native.