Flutter vs. React

Die Cross-Plattformen im Vergleich
By appsoluts 2 Jahren ago1 Comment
flutter vs react I appsoluts

Flutter vs. React? Das ist wohl aktuell die brisanteste Frage unter Entwicklern, wenn es um Cross- Plattform Entwicklung geht. – Die einen schwören auf React, die andere Seite wiederum möchte den Schritt ins neuartige Flutter wagen. Wir zeigen dir jeweils die Vor- und Nachteile!

Flutter:

Bei Flutter handelt es sich um ein UI-Framework. „UI“ steht dabei für User Interface, was so viel bedeutet wie die Oberfläche der App; also alles, was der Nutzer am Ende im Vordergrund, bzw. „Front-End“, sieht. Das beinhaltet beispielsweise jegliche Buttons, Textfelder, Bilder, etc. Flutter versucht die Unterschieden zwischen den jeweiligen Plattformen zu abstrahieren und so eine uniforme Schnittstelle zu bieten, welche es dem Entwickler ermöglicht, eine einzige Codebasis für alle Plattformen zu benutzen. Das Rendering macht Flutter dann mit der beliebten 2D-Grafik-Bibliothek Skia, welche unter Anderem auch in fast allen bekannten Browsern verwendet wird. Da es sich um ein Framework handelt, ist es somit keine eigene Programmiersprache. Flutter baut im Endeffekt auf der, ebenfalls von Google stammenden, Sprache Dart auf. Diese wurde ursprünglich dazu entwickelt die führende Programmiersprache im Web, JavaScript, abzulösen. Vom Aufbau, bzw. der Syntax her, ähnelt sich Dart mit den bekannten objektorientierten Sprachen wie Java oder C#.

Pro:

  • „Hot Reload“ sorgt für ein schnelles Updaten der Preview und damit für eine schnellere Entwicklung
  • Flutter Applikationen funktionieren ebenfalls als Web-App.
  • Viele Anpassungsmöglichkeiten und schnelles Rendering dank mehrschichtiger Architektur

Con: 

  • Noch unausgereift → nicht ganz stabil; Plug-Ins fehlen, um alle Möglichkeiten des Betriebssystems zu nutzen
  • Communityabhängig, da Plug-Ins von der Community entwickelt werden müssen
  • Flutter Apps sind zu Beginn recht groß und „schwer“. Sie brauchen länger zum Herunterladen und Aktualisieren
  • Look und Feel entspricht nicht der nativen Lösung → User ist womöglich verwirrt vom App- Verhalten
  • Framework, wie auch die Sprache Dart, ändert sich regelmäßig → Macht Maintenance problematisch

React Native:

React Native unterscheidet sich auf den ersten Blick nicht besonders von dem neuartigen Flutter. Die Open- Source-Plattform wurde von Facebook in JavaScript entwickelt und ermöglicht es dem Entwickler wie bei Flutter auf Grundlage einer Codebasis zu arbeiten. Wo liegen jetzt aber die Vor- und Nachteile?

Pro:

  • Ein Team – zwei Plattformen: Cross-Plattform Entwicklung sorgt dafür, dass das Team kleiner
    ist, die Kosten niedriger sind und das Projekt einfacher zu verwalten ist.
  • 100% natives UI: Die Benutzeroberfläche besteht aus nativen Komponenten, die das Markenzeichen der Plattformen sind. Aus diesem Grund können selbst native Entwickler RN-Apps kaum von nativen Lösungen unterscheiden.
  • Hot Reload

Con: 

  • Abhängigkeit von Facebook
  • Performance: React Native Apps verzeichnen oft großen Performance Verlust
  • Wenige Komponenten von Drittanbietern
  • Bedarf an nativen Entwicklern: Einige der oben genannten Probleme können mit Hilfe von
    nativen Modulen gelöst werden. Die Implementierung erfordert jedoch Java/Objective-C/Swift-
    Kenntnisse. Daher werden  gelegentlich noch Hilfe von nativen Entwicklern benötigt
  • Funktionsrückstand: Neue Funktionen seitens Google oder Apple müssen in React Native
    implementiert werden. Das braucht oft seine Zeit.

Der Vergleich in „a Nutshell“:

Themen Flutter React Native
Entwickelt von Google Facebook
Release Mai 2007 Juni 2015
Programmiersprache Dart JavaScript
Architektur Business Logic Component (BLoC) architecture Flux und Redux
UI Anpassbare Widgets, um das UI der App zu bauen Native UI-Controller
Dokumentation Die Flutter-Dokumentation ist gut, übersichtlich und informativ. Wir können alles, was wir wollen, an einem Ort geschrieben werden. Benutzerfreundlich aber unorganisiert.
Performance Kompiliert die Anwendung unter Verwendung der Arm C/C++-Bibliothek, die sie näher an den Maschinencode bringt und der Anwendung eine bessere native Leistung verleiht. Die Leistung der React Native-App ist im Vergleich zur Flutter-App langsam. Hier stehen Entwickler manchmal vor Problemen bei der Ausführung der hybriden Anwendungsarchitektur.
Testen Flutter bietet eine Vielzahl von Testfunktionen. Diese Funktion ermöglicht es dem Entwickler, Unit-Tests, Integrationstests und Widget-Tests durchzuführen. Third-Party Tools
Community Weniger Community Support als React Native Starker Support aus der Community; Fehler können schnell behoben werden.
Hot Reload
Bekannte Apps Google Ads, Hamiliton, My BMW, Alibaba Facebook, Instagram, LinkedIn, Skype

Abschließend lässt sich sagen, dass das modernere Flutter den Markt wohl zukünftig auf Cross-Plattform Ebene dominieren wird. Das liegt insbesondere an der besseren Performance und der einfacheren Entwicklung mit dem UI-Framework. Allerdings wird auch React Native zukünftig seine Nutzer finden. Features wie die nativen UI-Controller gibt es in Flutter nämlich so noch nicht. Für welche Plattform man sich am Ende entscheidet, muss man natürlich immer den eigenen Vorlieben nach entscheiden. Fest steht: Beide ermöglichen eine sehr schnelle Entwicklung der eigenen App und eignen sich zur Cross-Plattform Entwicklung.

Categories:
  Allgemein, App, App Entwicklung
this post was shared 0 times
 600

One Comment

Leave a Reply

Your email address will not be published.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.