App Entwicklung mit React Native

React Native wird immer beliebter um App Anwendungen zu programmieren. Im Beitrag mehr dazu.

Einführung

Der Klassiker ist immer noch die Entwicklung einer sogenannten Nativen App, basierend auf iOS, mit Programmiersprachen wie Objective-C oder Swift, oder basierend auf Android, mit Programmierungen auf Basis von Java oder Kotlin.

Der Aufwand ist jedoch hoch, da man zwei Code Basen betreiben muss. Zudem kann ein Android Entwickler meistens keine iOS App Programmierung vornehmen. Und umgekehrt.

Zudem braucht es nicht selten eine dritte Code Basis für die Webanwendung, wo die Daten gespeichert werden und auch eine Website zur Verfügung gestellt werden kann.

Mit React Native (kurz RN) kann man man alles nur einmal entwickeln und hat dann eine App für Android und iOS. Es braucht theoretisch also nur einen Entwickler. RN basiert auf JavaScript. Im Grunde genommen kann sich ein JavaScript Programmierer, RN sehr schnell aneignen.

Mobile Application Framework

Das Besondere ist jedoch auch, dass es in den letzten Jahren sehr viele Mobile App Frameworks gab. Hier einige davon:

PhoneGap

PhoneGap hatte eine sehr grosse Verbreitung vor einigen Jahren. Das Konzept war, dass man mit HTML, CSS und JavaScript baut, um Hybride Apps, welche auf den Nativen Plattformen (Android und iOS, aber auch Web) laufen.

Schaut man sich Google Trends an, dann sieht man den Anstieg in Popularität, um das Jahr 2013 herum. Danach nahm es bis zum Jahr 2019 extremst ab.

Der Grund liegt sicherlich auch an der relativ schlechten Performance, mit in PhoneGap entwickelten Apps.

Xamarin

Ein anderer Ansatz ist Xamarin. Hierbei nutzt man die Programmiersprache C#, um für alle mobilen Plattformen zu entwickeln.

Xamarin wurde von Microsoft übernommen, was auch Sinn macht, da C# von Microsoft erfunden wurde.

Auch Xamarin hat in den letzten Jahren an Popularität verloren.

Flutter

Flutter kann man als Alternative zu React Native sehen. Hinter Flutter steht Google. (Hinter RN steht Facebook)

Die Problematik bei Flutter ist jedoch, dass man die neue Programmiersprache Dart erlernen muss. Dies ist zwar möglich, da es ähnlich zu C#, JavaScript oder Java ist. Dennoch ist das eine Hürde.

Denn es gibt sehr viele JavaScript Programmierer, die sich lieber in RN einarbeiten, da die Überschneidung höher ist.

Wie beliebt ist es?

React Native Apps sind beliebt. Auch weil man mit React.JS ein Frontend Framework hat, welches man in vielen Webprojekten nutzen kann.

Es kann also sinnvoll sein, den JavaScript Experten, der die Webanwendung programmiert, auch die App Entwicklung mit RN machen zu lassen.

Die Entscheidung ist derzeit meistens zwischen Flutter, RN oder einer Nativen Entwicklung mit zum Beispiel Java (Android) oder Objective-C (iOS).

Sehr grosse Softwareentwicklungen werden immer noch auf Nativer Basis erstellt.

Es gibt aber viele kleine und mittlere Unternehmen, oder aber auch Agenturen und IT Dienstleister, welche gerne auf RN setzen.

Der Aufwand verringert sich und auch kleine bis mittelgrosse Web- und App-Projekte lassen sich damit realisieren, bei überschaubarem Budget.

Zudem kann man vermeiden ein grosses Team an iOS Codern, Java Experten, Webentwicklern, Frontend Designer, etc. aufbauen zu müssen. Mit einem PHP Experten und einem React Native Frontend Mitarbeiter lässt sich bereits die komplette Infrastruktur aufbauen.

Nachfrage und Angebot

Stand heute, ist die Nachfrage nach solchen Experten sehr hoch. Fast jeder Arbeitgeber im IT Bereich möchte App Entwicklung und Webanwendungen basierend auf React vornehmen.

Auch weil es – der – Ansatz ist, welcher den grössten Erfolg verspricht.

Gleichzeitig gibt es den Trend, hin zu RN erst seit wenigen Jahren. Entsprechend gering ist der Bestand an Programmierern mit Kenntnissen in dieser Technologie.

Am Besten ist immer noch, dass man einen JavaScript Experten einstellt, der sich dann in die Technologie einarbeitet. Oder jemanden der sich in anderen JavaScript Technologien wie Vue.JS auskennt. Auch für solche Personen ist es einfacher sich darin einzuarbeiten.

Wird es auch in grossen Anwendungen verwendet?

Wie bereits erwähnt, wurde RN von Facebook erstellt. Das Unternehmen hat sich daraufhin auch entschieden seine Mobile App darauf zu entwickeln. Diese ist heute auch im Live Ansatz.

Nicht nur Facebook ist diesen Weg gegangen.

Auch andere Unternehmen wie LinkedIn, Instagram oder Skype nutzen es für ihre Mobile App Entwicklung.

Es kommt jedoch auch in kleineren Mobilen Anwendungen zum Einsatz.

Was kosten solche Programmierungen?

Die Vorteile von RN sind wie folgt:

  • Einmal programmieren, auf allen Nativen Plattformen verwenden: Alleine dadurch spart man sich schon einen grossen Teil der Softwareentwicklung ein.
  • JavaScript basierend: Es gibt viele JavaScript (JS) Experten, die sich darin einarbeiten können. Die JS Community ist sehr gross und man kann dafür Unterstützung im World Wide Web finden, in Form von Foren und ähnlichen Hilfestellungen. Das reduziert auch den Aufwand, als alles mit Trial & Error herauszufinden.
  • Frontendentwickler können für die App Entwicklung eingesetzt werden: In traditionellen IT Projekten werden Frontend Entwickler, Backend Entwickler und App Experten eingesetzt. Bei RN kann der Frontend Mensch, die gleiche Person wie der App Experte sein, und auch hier erhält man eine Ersparnis.

Die Kosten einer App Entwicklung mit React Native reduzieren sich damit also stark.

Jedoch sollte man nicht davon ausgehen, dass solche Projekt simple sind. Im Gegenteil, eine hohe Expertise ist erforderlich, besonders wenn es sich um grosse Anwendungen handelt, welche viele Nutzer haben und viele Funktionalitäten hat.

Wie sieht die Zukunft aus?

Man kann davon ausgehen, dass es in den nächsten Jahren eine spannende Technologie sein wird. Auch Flutter gilt es hier zu erwähnen, da es immer mehr Projekte auf dieser Basis gibt. Es ist jedoch nicht so ausgereift wie RN.

Xamarin und PhoneGap werden höchstwahrscheinlich an Popularität verlieren.

Gleichzeitig lässt sich nicht vorhersehen, ob es nicht in Zukunft noch viele weitere Hybride App Technologien geben wird. Neben PhoneGap gab es zum Beispiel auch Ionic, Kendo UI und andere, welche man heutzutage nicht mehr so oft nutzt.

Das kann auch bei React Native geschehen.

Man sollte daher immer ein offenes Ohr für die neuesten Technologien haben. Eventuell kann es sein das Flutter im Rennen schneller vorankommt oder es gar ein komplett neues Framework auf den Markt kommt, welches von der Performance her mit einer Nativen Programmierung basierend auf Java oder Kotlin mithält.

Was sind Ihre Erfahrungen?

Interessant Links:

Ein kritischer Beitrag von fluidmobile zum Thema React Native

Einstieg in Mobile Apps mit React

Bilder: Canva


Der Autor: Sascha Thattil arbeitet bei YUHIRO und hilft Unternehmern und Unternehmen beim einfachen Aufbau von Programmier-Teams in Indien. YUHIRO ist ein deutsch-indisches Unternehmen welches IT Firmen, Agenturen und IT Abteilungen Softwareentwickler bereitstellt.

Schreibe einen Kommentar