Sollte man React Native für die Hybrid App Entwicklung nutzen?

Sollte man React Native für die Hybrid App Entwicklung nutzen?

Die Thematik “Einmal Code schreiben” und dann “überall verwenden” (dass heisst, auf der Webversion, in Android und iOS ist der gleiche Code verwendbar) ist nicht neu. Einfach gesagt: Anstatt dreimal programmieren, kann man alles in einer Codebasis unterbringen.

Ansätze wie PhoneGap oder Ionic, basierend auf HTML, CSS, JavaScript werden bereits vielseitig verwendet.

Die grosse Herausforderung bei solchen Hybrid App Entwicklungen ist jedoch, dass die Performance eher mässig ist. Besonders die Android Versionen solcher Anwendungen sind oftmals etwas langsam.

Facebook hatte auch versucht in den ersten Schritten, die mobile Versionen für Android und iOS via einer Hybriden App umzusetzen. Das Social Media Unternehmen entschied sich jedoch dann rasch um, und entwickelte separate Apps für die beiden Betriebssysteme.

Eine Firma wie Facebook kann es sich einfach leisten, mehrere Teams zu haben, welche die jeweiligen Anwendungen schreiben, warten, updaten und betreuen.

Der Wunsch nach dem Hybriden Ansatz blieb jedoch. So entwickelte FB ein eigenes Cross Mobile App Framework namens React Native.

Facebook selbst nutzt React nur in Teilbereichen seiner Apps

Obwohl das Unternehmen die Lösung React Native hoch anpreist, selbst verwendet es jedoch Native Entwicklungen. Nur Teilbereiche wie der Facebook Ads Manager werden mit React Native abgebildet. Die Nutzerberichte sind jedoch eher verhalten und nicht überwiegend positiv.

Besser auf iOS als auf Android

Zudem gibt es viele Berichte, dass die Lösungen basierend auf RN gut auf iOS laufen und weniger gut auf Android. Das liegt sicherlich auch an den unterschiedlichen Gerätetypen und Anbietern von Android Smartphones. iOS Geräte sind dagegen stärker uniform und im Schnitt auch leistungsstärker

Einfacherer Einstieg in die Mobile App Entwicklung und das Erreichen von Webnutzern

Für ein kleines Startup oder Entwicklerteam ist es meistens keine Option, eine Webentwicklung (zum Beispiel mit PHP) eine Android App (mit Java) und iOS (mit Objective-C) zu entwickeln.

Das würde nämlich bedeuten, dass man drei unterschiedliche Codebasen verwalten muss, alle drei müssen separat getestet werden. Zudem braucht man natürlich unterschiedliche Entwickler, denn die wenigsten können alle drei Programmiersprachen (PHP, Java, Objective-C). Die meisten Programmierer können jeweils nur eine davon richtig gut.

Und so kann die Entwicklung mit React Native ein guter Startpunkt sein.

Einmal entwickelt kann es auf allen Plattformen gelauncht werden. Somit kann man die maximale Anzahl von Nutzern erreichen (Webnutzer, Android-Nutzer, iOS-Nutzer). Es lässt sich auch die Lösung für Windows daraus erstellen.

Code nicht wiederverwendbar für Native Apps

Wenn sich ein Erfolg der Web- und App-Lösung abzeichnet, dann entscheiden sich die meisten Teams, auf Native Apps umzusteigen. Denn die letzten 10 Prozent an Performance lassen sich oftmals nur über solche Anwendungen aus den Smartphones und den Apps herausholen. Das merkt auch der Nutzer.

Jedoch kann man zu diesem Zeitpunkt nur die Weblösung weiterverwenden oder entsprechend umschreiben. Die Android oder iOS Version, muss komplett neu geschrieben werden.

Das sollte man beachten, wenn man mit React Native arbeitet und später auf eine Native Option umsteigt.

Auf die Anforderungen kommt es an

Zudem sollte man darauf achten, welche Anforderungen man hat. Eine App wie Snapchat hätte man von Anfang an nicht mit einem React Native Ansatz umsetzen sollen. Dafür sind die Funktionalitäten viel zu Smartphone-Ressourcenintensive, zum Beispiel die Nutzung der Kamera oder des CPU. Hier können Hybride Ansätze oftmals mit einer Nativen Lösung nicht mithalten.

Auch Spiele wie Temple Run würden sich damit wohl nicht umsetzen lassen.

Wenn es jedoch weniger komplexe Anwendungen sind, wo nur Gallerien, Texte, etc. angezeigt werden, dann kann RN die richtige Wahl sein.

Flutter eventuell besser?

Auch Google hat jetzt ein neues Hybrid App Framework namens Flutter herausgebracht. Einige React Native Entwickler loben bereits die gute Performance, besonders auf iOS Geräten, solcher Apps.

Die Herausforderung hier ist wiederum, dass man sich eine neue Programmiersprache namens Dart aneignen muss.

Zudem steckt Flutter noch etwas in den Kinderschuhen, da es erst vor einer kurzen Zeit auf den Markt gekommen ist.

Was sind Eure Erfahrungen? Wann sollte man was verwenden?

Bilderquelle: Canva.com/ kostenfreie Lizenz


Keine Beiträge verpassen?






War dieser Artikel hilfreich?
Please wait...
Fragen oder Anregungen?
Zu den Kommentaren ( 3 )
Passende Themen
Kommentare (3)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Ich akzeptiere

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

  1. Haeme Ulrich vor 3 Wochen

    Wie positionierst du PWA in diesem Kontext?

    Please wait...
    • Sascha Thattil vor 3 Wochen

      Hallo Haeme, Danke für Deine Frage. Mit Nativer Entwicklung und Cross Mobile Apps habe ich mich bereits tiefergehend beschäftigt. Mit PWA’s habe ich ehrlich gesagt eher weniger Erfahrungen.

      Eventuell hast Du hier einen besseren Einblick? Wo siehst Du die Vorteile von Progressive Web Apps gegenüber Technologien wie PhoneGap, Ionic, React Native oder Flutter?

      Please wait...
    • Haeme Ulrich vor 3 Wochen

      Hallo Sascha – leider kenne ich «deine Technologien» viel zu wenig für den Vergleich 😉

      Merci für deinen Bericht und deine Antwort!

      lg Haeme

      Please wait...