App-Entwicklung mit Flutter

Was ist Flutter und was sind die Vorteile?

Flutter ist ein von Google entwickeltes Open-Source-UI-Framework zur Erstellung hochwertiger nativer Anwendungen für Android, iOS und das Web. Es bietet Entwicklern eine schnelle und einfache Möglichkeit, hochwertige native Anwendungen mit einer einheitlichen Codebasis zu erstellen. Flutter bietet ein reichhaltiges Set an Widgets, die ein konsistentes Look & Feel auf allen Plattformen gewährleisten. Flutter bietet viele Vorteile, darunter eine einfache und intuitive Benutzeroberfläche, eine effiziente Codebasis, schnellere App-Entwicklung und die Möglichkeit, auf verschiedenen Plattformen zu veröffentlichen. Darüber hinaus ermöglicht Flutter die Erstellung plattformübergreifender Apps, was bedeutet, dass Entwickler nur einmal Code schreiben müssen, um auf verschiedenen Plattformen zu veröffentlichen. Das spart Zeit und Kosten.

Sind mit Flutter entwickelte Apps native Apps?

Ja, Apps, die mit Flutter entwickelt werden, sind native Apps, d.h. sie werden direkt auf der Zielplattform ausgeführt. Flutter stellt eine eigene Runtime-Bibliothek zur Verfügung, die die Plattformspezifikationen und den Code ausführt, so dass die App native auf dem Gerät ausgeführt wird.

Kann man mit Flutter eine App für iOS und Android doppelt so schnell entwickeln?

Obwohl der Code nur einmal geschrieben werden muss, muss er auf beiden Plattformen getestet werden. Hinzu kommt, dass es viel mehr Android-Geräte als iOS-Geräte gibt und das Testen auf Android daher länger dauert. Außerdem muss eine mit Flutter erstellte App auch 2x veröffentlicht werden. Wenn die App zusätzlich noch In-App Purchases enthält, müssen diese ebenfalls 2x erstellt und getestet werden.

Ein weiteres Problem ist, dass es für Flutter noch sehr wenige Tools gibt, um die Entwicklung von Apps zu beschleunigen. Für iOS gibt es den Interface-Builder, mit dem man sehr schnell per Drag&Drop Benutzeroberflächen erstellen kann und damit viel Zeit spart.

Es ist daher nicht möglich, eine App für beide Systeme mit Flutter doppelt so schnell zu entwickeln, aber deutlich schneller, als wenn man für jedes System einen eigenen Code schreiben würde. Man spart also nicht 50%, sondern ca. 30-40% der Zeit im Vergleich zu einer rein nativen Lösung, die für iOS und Android getrennt entwickelt wird.

Welche Nachteile hat die App-Entwicklung mit Flutter?

Flutter hat neben all seinen Vorteilen auch einige Nachteile. Das Flutter Framework befindet sich noch im Anfangsstadium, was bedeutet, dass es noch viel Raum zum Wachsen, Erweitern und Verbessern gibt.

Begrenzte Bibliotheken

Obwohl Flutter viele nützliche Bibliotheken bietet, ist das Repository nicht so umfangreich wie bei der nativen Entwicklung. Bei der Entwicklung einer Anwendung kann es vorkommen, dass es keine Bibliothek eines Drittanbieters gibt, die eine bestimmte Funktionalität unterstützt. Dies bedeutet, dass die Entwickler diese Funktionalität von Grund auf neu erstellen müssten, was viel mehr Zeit in Anspruch nehmen würde als die Verwendung eines vorhandenen Pakets. Es sollte jedoch bedacht werden, dass die Anzahl der Flutter-Pakete ständig wächst und viele von ihnen bereits in der Lage sind, alle Anforderungen moderner Anwendungen zu erfüllen.

Große Dateigrößen

Ein großer Nachteil, den man nicht außer Acht lassen sollte, ist die große Dateigröße der mit Flutter entwickelten Apps. In manchen Fällen und für manche Situationen. Diese Dateigrößen können ein erhebliches Problem darstellen, das potenzielle Nutzer dazu veranlasst, sich für eine Alternative zu entscheiden. Während Telefone und Hardware in den Industrieländern oft über genügend Speicherplatz für die App verfügen, ist dies nicht überall auf der Welt der Fall. Viele ältere Geräte sind nicht in der Lage, zusätzliche Apps zu speichern, ohne die Nutzer zu zwingen, sich zwischen einer App und Fotos/Musik auf ihrem Gerät zu entscheiden.

Verzögerte Einführung neuer Funktionen

Neue Updates für Android und iOS werden zuerst in deren nativen SDKs veröffentlicht. Diese neuen Funktionen werden für Flutter mit einer gewissen Verzögerung verfügbar sein, wie es für alle hybriden und plattformübergreifenden Frameworks typisch ist. Obwohl dies ein Nachteil der Flutter App Entwicklung ist, kann dieser leicht behoben werden. Mit Flutter können Entwickler einfach nativen Code zur Lösung hinzufügen, um fehlende Funktionen zu implementieren.

Wann sollte man sich für eine rein native App entscheiden?

Native eignet sich für Kerngeschäftsanwendungen. Wenn Ihre Anwendung das Kerngeschäft ist, sollten Sie so viel wie möglich in sie investieren, denn daraus beziehen Sie Ihre Einnahmen. Wenn das Budget und die begrenzten Entwicklungsressourcen Ihr Anliegen sind, dann wäre Flutter eine Option für Sie.

Zusammengefasst:

Wählen Sie Native, wenn

  • Ihre mobile Anwendung das Herzstück Ihres Unternehmens ist.
  • Ihre mobile Anwendung so gut wie möglich sein muss (hohe Performance, großartige UX/UI);
    wenn Sie Integrationen mit Hardware-Geräten (Drucker, Scanner, POS-Geräte usw.), Wearables oder mit nativen Low-End-APIs benötigen.
  • Ihre Anwendung ist speziell auf eine mobile Plattform ausgerichtet: z.B. Kurieranwendungen, die nur auf Android Smartphones und PDAs mit Android laufen müssen.

Wählen Sie Flutter, wenn

  • Sie ein budgetkritisches Projekt haben.
  • ein einfaches Layout und API-Aufrufe erforderlich sind (z. B. Nachrichten- oder Kataloganwendungen).
  • die App für mehrere Plattformen entwickelt werden soll.

SPRECHEN SIE MIT UNSEREN EXPERTEN FÜR MOBILE ENTWICKLUNG

Mit über 13 Jahren Erfahrung in der Entwicklung mobiler Anwendungen für Unternehmen wie DRK, BMW, Tupperware, Onefootball, LTUR, Universität Göttingen, mail.de und viele andere steht unser Team für die Entwicklung mobiler Anwendungen jederzeit bereit, um Ihr Projekt zu besprechen. Senden Sie uns eine Nachricht, wenn Sie Fragen haben oder mehr über die Entwicklung mobiler Anwendungen erfahren möchten.