React Native vs Native

Wer heute in die App-Entwicklung einsteigen will, wird sicherlich auf React Native stoßen, das sich immer höherer Beliebtheit erfreut. Ich möchte euch hier einen kurzen Überblick geben und dabei abdecken, wann man React Native nutzen sollte und wann die nativen Sprachen besser passen.

 

React Native?

Noch nie davon gehört? Kein Stress! Ich fasse es zusammen:

React Native ist ein von Facebook entwickeltes Framework, basierend auf dem populären React.js – was wiederum auf Javascript basiert. Es erlaubt, seine Apps über cross-platform und mit Web-Syntax zu schreiben. Das besondere: es ist einfach Javascript. Der geschriebene Code wird dann in die nativen Sprachen kompiliert, was die unglaublich schnelle und einfache Entwicklung von komplexen nativen Apps erlaubt.

 

React Native – Pro und Contra

Pro

Eine Codebase

Das beste an React Native ist die geteilte Codebase. Man schreibt es also einmal in Javascript und erhält automatisch zwei native Versionen der App. So ist die Wartung der App einfacher und Bugs sind schneller gefixt, da man nur einmal den Code ändern muss.

Schnelle Entwicklungszeit

Durch die geteilte Codebase spart man sich 50% der eigentlich Entwicklungszeit. Die gewonnene Zeit kann man nun in weiteres Testing, Bugfixing und Refactoring stecken.

Einfacher Einstieg für Web-Developer

Wie oben beschrieben basiert React Native auf React, einem populären Framework in der Web-Entwicklung. Durch die bekannte Syntax wird Web-Developern der Start mit einer eigenen App also ziemlich leicht fallen.

Open Source

Die Vor- und Nachteile sind wohl weit bekannt, daher muss ich die hier nicht nochmal aufführen. Des Weiteren existieren viele Third-Party Libraries, welche wir in zukünftige Apps integrieren können.

Hot Reloading

Im Alltag ist das hier mein Lieblingsvorteil. Man ändert etwas… puff… deine View im Simulator wird sofort aktualisiert. In der Web-Entwicklung ist es zwar normal, jedoch muss man in der Nativen Entwicklung immer auf die Kompilierung des Codes warten. Und das dauert manchmal.

Contra

Nicht alle nativen APIs unterstützt

Wenn Apple ein heißes neues Feature für iOS veröffentlicht, kann man es nicht direkt in React Native nutzen. Natürlich kann man es direkt in die native Version deiner App einbinden, dann ist es aber schon gegen das Prinzip der geteilten Codebase. Man muss warten, bis das Feature von React Native unterstützt wird.

Nicht viele Third-Party Libraries (noch!)

Da React Native noch recht jung ist, existieren noch nicht viele Third-Party Libraries. In Zukunft sollte das allerdings kein Problem mehr darstellen.

 

Pro & Contra der nativen Entwicklung

Pro

Robuste und erprobte Sprachen

Java, Kotlin, Swift und Objective C sind robuste Programmiersprachen, welche über Jahre benutzt, getestet und erprobt wurden. Außerdem gibt es hierfür viele Ressourcen.

Volle Nutzung der Hardware 

React Native nutzt lediglich einen Kern des Prozessors. Mit nativer Entwicklung hat man jedoch Zugriff auf die gesamte Hardware-Leistung des Gerätes. In normalen Apps wird man den Unterschied wohl nicht merken; für performance-intensive Apps empfiehlt sich jedoch die native Entwicklung.

Contra

Doppelte Entwicklung

Man muss zwei Plattform-spezifische Applikationen entwickeln.

Viel Aufwand

Letztlich führt all dies zu mehr zeitlichem Aufwand. Diese Zeit könnte man beispielsweise besser in sauberen Code stecken.

Wartung und Bugfixing sind schwieriger

Bugs müssen zweimal gefixt werden. Änderungen müssen doppelt vollzogen werden. Features müssen zweifach implementiert werden. Man merkt, worauf es hinaus läuft.

 

Wann nutze ich React Native? 

  • Wenn man durch den Kunden limitiert ist (geringes Budget oder wenig Zeit)
  • Wenn kurze Entwicklungszeit für dich wichtig ist
  • Wenn eure Entwickler hauptsächlich web-orientiert sind
  • Wenn es okay oder gewünscht ist, dass die App auf beiden Plattformen gleich ist

 

Wann nutze ich native Entwicklung?

  • Wenn ich nur für eine Plattform entwickeln will (Android oder iOS)
  • Wenn du eine App entwickeln willst, die viele Plattform-spezifische APIs nutzen soll (z.B. Banking-App)
  • Wenn die Entwicklungszeit nicht so wichtig ist und die App über einen langen Zeitraum gewartet werden soll
  • Wenn man neue OS-Updates nutzen will

 

Firmen, die React Native nutzen

Es lohnt sich also, sich vor Entwicklungsstart zu entscheiden, worauf man setzen will. Ein Blick auf React Native ist viel wert. Man sollte hierbei jedoch nicht vergessen, dass es weiterhin in Entwicklung steht und die native Entwicklung bis heute der Standardweg war.

Autor: Shayan Nosratzadegan

Veröffentlichungsdatum: 02.04.2020

Kontakt

Sie wollen mit uns zusammen arbeiten?

Telefon:
0251 / 91 79 86 10
Email:
info@lean-ocean.com
Adresse :
Johann-Krane-Weg 46 - 48149 Münster

Geschätzte Antwortzeit:

Innerhalb von 24 Stunden