Gespräch vereinbaren
Start / Ratgeber / Flutter oder native App: Was passt zu deinem Projekt?

Flutter oder native App: Was passt zu deinem Projekt?

Flutter passt oft zu Geschäfts-Apps für iOS und Android. Bei besonderen Gerätefunktionen kann native Entwicklung sinnvoller sein. Entscheidend sind deine Abläufe.

Veröffentlicht 6 Min. Lesezeit
Smartphone neben einem tragbaren Bluetooth-Lautsprecher auf einem Tisch
Foto: Viralyft, Pexels

Ob Flutter oder native App besser passt, hängt von deinen Funktionen und den eingesetzten Geräten ab. Für Buchungen, Kundenkonten und interne Abläufe auf iOS und Android ist Flutter oft die bessere Wahl. Native Entwicklung lohnt sich besonders, wenn spezielle Gerätefunktionen den Kern deiner App bilden.

Kurz gesagt: Mit Flutter lassen sich große Teile einer App für iOS und Android gemeinsam entwickeln. Native Entwicklung bietet direkten Zugang zu den Funktionen des jeweiligen Betriebssystems. Lass die technisch schwierigste Funktion testen, bevor du dich festlegst.

Was unterscheidet Flutter von einer nativen App?

Flutter ist ein Entwicklungswerkzeug, mit dem Apps für verschiedene Betriebssysteme aus weitgehend gemeinsamem Programmcode entstehen. Bei nativer Entwicklung wird die App gezielt für ein Betriebssystem gebaut, etwa mit Swift für iOS oder Kotlin für Android.

Nehmen wir ein Buchungsformular: Du möchtest nachträglich ein Feld für die Kundennummer ergänzen. Bei Flutter lässt sich diese Änderung meist gemeinsam für beide Systeme umsetzen. Bei getrennt entwickelten nativen Apps muss die jeweilige Oberfläche angepasst werden.

Eine Flutter-App wird auf dem Gerät installiert und kann über die App-Stores verteilt werden. Sie ist keine Website in einer App-Hülle. Ihre Oberfläche zeichnet Flutter überwiegend selbst, statt die fertigen Oberflächenbausteine des Betriebssystems zu verwenden.

Native Apps greifen typischerweise auf diese Bausteine zurück. Das erleichtert eine Bedienung nach den Gewohnheiten der jeweiligen Plattform. Bei Flutter lassen sich solche Unterschiede ebenfalls berücksichtigen, sie müssen aber bewusst eingeplant werden.

Gemeinsamer Code ersetzt keine Tests auf beiden Systemen. Ob die Tastatur ein Eingabefeld verdeckt oder eine Kameraberechtigung korrekt abgefragt wird, muss auch bei Flutter getrennt geprüft werden.

Flutter oder native App: Welche Anforderungen sprechen wofür?

Flutter passt gut, wenn auf iPhone und Android-Geräten dieselben Geschäftsabläufe funktionieren sollen. Native Entwicklung wird interessanter, wenn deine App eng mit bestimmten Fähigkeiten eines Betriebssystems arbeitet.

Entscheidend ist, was die App tatsächlich leisten muss. Ein Foto zu einem Reparaturauftrag hochzuladen ist technisch etwas anderes als die fortlaufende Auswertung eines Kamerabilds.

AnforderungFlutterNative Entwicklung
Kundenkonto, Formulare und Buchungen auf iOS und AndroidOft passend, weil sich Oberfläche und Abläufe gemeinsam entwickeln lassenMöglich, aber mit getrennter Umsetzung vieler Teile
Gleiches Erscheinungsbild auf beiden PlattformenDurch die gemeinsame Oberfläche gut umsetzbarMuss je Plattform umgesetzt und abgestimmt werden
Einsatz ausschließlich auf firmeneigenen iPhonesMöglich, der Vorteil mehrerer Plattformen fällt jedoch wegHäufig sinnvoll, besonders bei enger Geräteintegration
Neue Betriebssystemfunktionen unmittelbar nutzenKann ergänzenden nativen Code erfordernDirekter Zugang über die Entwicklungswerkzeuge der Plattform
Dauerhafte Verbindung zu einem MessgerätVorab testen, möglicherweise mit nativen ErgänzungenOft eine direktere Grundlage, Betriebssystemgrenzen gelten trotzdem
Anspruchsvolle Kamera- oder AudioverarbeitungEignung anhand der konkreten Aufgabe testenKann mehr direkte Kontrolle über gerätenahe Abläufe bieten

Ein einzelnes Häkchen entscheidet noch nicht über die Technik. Wenn deine App aus Auftragsformularen und einem einfachen Barcode-Scan besteht, ist der Scanner allein kein Grund für native Entwicklung.

Wann ist Flutter für eine Geschäfts-App sinnvoll?

Flutter ist häufig sinnvoll, wenn Kunden oder Mitarbeiter dieselben Aufgaben auf unterschiedlichen Smartphones erledigen. Besonders viel lässt sich teilen, wenn die Geschäftsregeln unabhängig vom Gerät gelten.

Angenommen, du betreibst einen Wartungsdienst. Kunden melden einen Defekt, hängen Fotos an und fragen einen Termin an. Dein Team bearbeitet den Auftrag, während die Kunden den aktuellen Stand in der App sehen.

Die schwierigen Fragen betreffen hier den Ablauf: Wer darf einen Auftrag ändern? Wann ist ein Termin verbindlich bestätigt? Was passiert, wenn jemand eine Meldung versehentlich doppelt abschickt?

Diese Regeln sind auf einem iPhone dieselben wie auf einem Android-Gerät. Flutter erlaubt, große Teile davon gemeinsam zu entwickeln. Ändert sich später der Buchungsablauf, müssen diese Teile nicht getrennt gepflegt werden.

Bei mawu bauen wir Apps mit Flutter und Firebase. Firebase ist eine Plattform für Dienste wie Benutzeranmeldung und Datenspeicherung. Diese Kombination passt zu vielen Geschäfts-Apps, ist aber kein Grund, jedes Projekt damit umzusetzen.

Flutter setzt Firebase nicht voraus. Eine App kann auch auf bestehende Unternehmenssysteme zugreifen. Eine Schnittstelle ist der technische Zugang, über den Programme Daten austauschen.

Ob deine Warenwirtschaft eine brauchbare Schnittstelle hat, kann wichtiger sein als die Wahl zwischen Flutter und nativer Entwicklung. Soll eine Bestellung direkt dort landen, gehört diese Verbindung früh in die Planung deiner App oder deines Kundenportals.

Wann würden wir native Entwicklung empfehlen?

Wir würden native Entwicklung bevorzugen, wenn der Kern der App ohnehin viel plattformspezifischen Code braucht. Dann kann eine gemeinsame Oberfläche weniger Arbeit sparen, als die zusätzliche Verbindung zwischen den Techniken verursacht.

Die Geräteanbindung ist das eigentliche Produkt

Soll eine App laufend Messwerte über Bluetooth empfangen, reicht ein erfolgreicher Verbindungsaufbau nicht als Nachweis. Was passiert bei gesperrtem Display? Verbindet sich die App nach einem Abbruch zuverlässig erneut?

Flutter kann solche Geräte einbinden. Besteht jedoch ein großer Teil der Anwendung aus gerätenaher Steuerung, muss viel davon womöglich nativ geschrieben werden. Eine vollständig native App kann dann leichter zu pflegen sein.

Auch native Entwicklung erlaubt keinen unbegrenzten Betrieb im Hintergrund. Das Betriebssystem entscheidet mit, wann eine App weiterarbeiten darf. Diese Grenzen müssen im geplanten Ablauf berücksichtigt werden.

Neue Plattformfunktionen müssen sofort verfügbar sein

Flutter nutzt für Gerätefunktionen häufig Plugins. Ein Plugin ist ein Zusatzpaket, das beispielsweise den Zugriff auf die Kamera ermöglicht.

Für eine neue Betriebssystemfunktion gibt es möglicherweise noch kein geeignetes Plugin. Dann muss das Entwicklungsteam die Anbindung selbst schreiben und später pflegen. Wenn dein Produkt regelmäßig von solchen Funktionen abhängt, spricht das für native Entwicklung.

Die App läuft bewusst nur auf einem Betriebssystem

Arbeitet dein Außendienst ausschließlich mit firmeneigenen iPhones, bringt eine Android-Version zunächst keinen Nutzen. Native iOS-Entwicklung ist dann eine naheliegende Option, besonders bei enger Einbindung in Gerätefunktionen.

Flutter kann trotzdem passen, etwa wenn das zuständige Team damit arbeitet oder eine Android-Version bereits geplant ist. Die bloße Möglichkeit, irgendwann weitere Geräte zu unterstützen, sollte aber nicht allein entscheiden.

Ist eine native App automatisch schneller?

Eine native App ist nicht automatisch schneller als eine Flutter-App. Bei typischen Geschäfts-Apps entstehen Wartezeiten oft durch Datenübertragung oder die Verarbeitung auf dem Server.

Lädt deine Auftragsliste langsam, hilft ein Wechsel der App-Technik nicht gegen eine langsame Datenbankabfrage. Ebenso wenig behebt er zu große Bilder, die bei jedem Öffnen erneut geladen werden. Zuerst muss das Team messen, wo die Zeit verloren geht.

Anders sieht es bei anspruchsvoller Bildverarbeitung oder zeitkritischen Geräteabläufen aus. Hier kann native Entwicklung Vorteile bieten. Ein Test mit der tatsächlichen Aufgabe ist aussagekräftiger als eine Vorführung ohne echte Daten.

Auch gute Bedienung kommt nicht automatisch mit der Technik. Lange Kundennamen müssen in die Auftragsansicht passen. Die App muss bei vergrößerter Schrift bedienbar bleiben und mit einer Vorlesefunktion funktionieren.

Solche Anforderungen gehören zur Barrierefreiheit, also zur Nutzbarkeit für Menschen mit unterschiedlichen Einschränkungen. Beide Entwicklungswege bieten dafür Werkzeuge. Eingesetzt und getestet werden müssen sie trotzdem.

Was bestimmt den Aufwand für Entwicklung und Wartung?

Den Aufwand bestimmen der Funktionsumfang, die angeschlossenen Systeme und die Sonderlösungen je Plattform. Flutter spart vor allem dort Arbeit, wo Code tatsächlich gemeinsam genutzt werden kann.

Ein gemeinsam entwickeltes Buchungsformular ist ein klarer Vorteil. Viele selbst geschriebene Geräteanbindungen verkleinern diesen Vorteil wieder. Sie müssen bei Änderungen von iOS und Android weiter funktionieren.

Die Aussage „Wir bauen mit Flutter“ reicht deshalb als Begründung für ein Angebot nicht aus. Frag konkret nach:

  • Welche Teile der App werden gemeinsam entwickelt, welche getrennt?
  • Welche Funktionen hängen von Plugins ab, und was passiert bei fehlender Wartung?
  • Auf welchen Geräten werden die wichtigsten Abläufe getestet?
  • Wer übernimmt Anpassungen nach Betriebssystemänderungen?

Unterschätze außerdem den Offline-Betrieb nicht. Wenn Mitarbeiter Aufträge ohne Internet bearbeiten, müssen ihre Änderungen später übertragen werden. Ändert das Büro währenddessen denselben Auftrag, braucht die Software eine Regel für diesen Konflikt.

Solche Anforderungen verursachen unabhängig von Flutter oder nativer Entwicklung Arbeit. Halte sie schriftlich fest, bevor du Angebote vergleichst. Der Ratgeber zum Ablauf einer App-Entwicklung erklärt, wie daraus eine Grundlage für Entwicklung und Abnahme wird.

Wie entscheidest du dich vor dem Projektstart?

Beschreibe zuerst den wichtigsten Nutzerablauf und lass dessen größte technische Unsicherheit prüfen. Bei einer unverzichtbaren Spezialfunktion sollte dieser Test vor der vollständigen Beauftragung stattfinden.

Ein technischer Prototyp ist eine kleine Testanwendung für eine konkrete Frage. Bei einer Bluetooth-Anbindung sollte er zeigen, wie Verbindungsabbrüche behandelt werden. Für eine Offline-App muss er den späteren Datenabgleich abbilden.

Eine fertig gestaltete Anmeldung hilft bei diesen Fragen wenig. Der Test muss genau den Teil prüfen, an dem das Vorhaben scheitern könnte.

Prüfe vorher auch, ob eine installierte App überhaupt nötig ist. Für gelegentliche Terminanfragen kann eine mobil gut bedienbare Website reichen. Deckt eine Branchenlösung deinen Ablauf bereits ab, hilft zunächst die Entscheidung zwischen Eigenentwicklung und Standardsoftware.

Schreib deinen wichtigsten Nutzerablauf samt Zielgeräten und unverzichtbaren Gerätefunktionen auf eine Seite. Lass dir daraufhin eine begründete Technikwahl geben, einschließlich der Funktionen, die vorab getestet werden müssen.

Häufige Fragen

Ist Flutter für eine Firmen-App geeignet?
Flutter eignet sich für viele Firmen-Apps, besonders bei gemeinsamen Abläufen auf iOS und Android. Auftragslisten, Kundenkonten und Buchungen lassen sich damit gut umsetzen. Bei speziellen Geräteverbindungen sollte ein technischer Test die Eignung klären.
Kann eine Flutter-App auf Kamera und Bluetooth zugreifen?
Eine Flutter-App kann Kamera und Bluetooth nutzen, häufig über zusätzliche Softwarepakete. Für besondere Funktionen kann ergänzender nativer Code nötig sein. Ob eine Verbindung auch bei gesperrtem Bildschirm funktioniert, hängt zudem von den Regeln des Betriebssystems ab.
Braucht eine Flutter-App Firebase?
Eine Flutter-App braucht Firebase nicht. Sie kann über Schnittstellen auch andere Serverdienste oder bestehende Unternehmenssoftware anbinden. Wo Daten gespeichert und verarbeitet werden, lässt sich getrennt von der App-Oberfläche entscheiden.
Ist Flutter weniger aufwendig als native Entwicklung?
Flutter kann weniger Aufwand verursachen, wenn große Teile der App auf iOS und Android gemeinsam verwendet werden. Zahlreiche plattformspezifische Funktionen können diesen Vorteil verkleinern. Vergleiche deshalb Angebote mit demselben Funktionsumfang und denselben Testanforderungen.
Kann man später von Flutter zu nativer Entwicklung wechseln?
Ein Wechsel von Flutter zu nativer Entwicklung ist möglich, erfordert aber meist eine weitgehende Neuentwicklung der App. Vorhandene Serverdienste können häufig bestehen bleiben. Für eine einzelne Spezialfunktion reicht unter Umständen bereits eine native Ergänzung innerhalb der Flutter-App.
Porträt von Pascal Klingspohn
Geschrieben von

Pascal Klingspohn

Geschäftsführer, MAWU Software GmbH

Pascal Klingspohn ist Geschäftsführer der MAWU Software GmbH und entwickelt seit über zehn Jahren Apps, Websites und Individualsoftware. Er verantwortet jedes Projekt von der Anforderungsanalyse über Konzeption und Entwicklung bis zum Betrieb nach dem Launch.

Sprechen wir über dein Vorhaben.

15 Minuten, kostenfrei und ohne Vertriebsschleife. Danach weißt du, ob wir passen.