Was ist React Native?
Eine React Native App ist eine echte mobile App. Mit React Native, baut man keine „mobile Web – App“, eine „HTML5 App“ oder eine „Hybrid – App“. React Native nutzt die gleichen grundlegenden UI – Bausteine wie reguläre iOS- und Android – Apps. Diese Bausteine werden einfach mit Hilfe von Javascript und React Native zusammengesetzt.
React Native ist ein JavaScript-Framework für das Schreiben von echten, nativ-rendernden mobilen Anwendungen für iOS und Android. Es basiert auf React, Facebooks JavaScript-Bibliothek für den Aufbau von Benutzeroberflächen, aber anstatt auf den Browser ist es für mobile Plattformen geschaffen. Mit anderen Worten: Web-Entwickler können jetzt mobile Anwendungen schreiben, die aussehen und sich anfühlen wie wirkliche native Anwendungen. Alles mit dem Komfort einer JavaScript-Bibliothek, welche die meisten bereits kennen und lieben.
Ein weiterer Vorteil ist, dass der geschriebene Code zwischen mehreren Plattformen geteilt werden kann, sodass man problemlos gleichzeitig für Android und iOS entwickeln kann.
Wie auch bei React für Webentwicklungen nutzt React Native eine Mischung aus JavaScript und einem XML ähnlichen Markup, welches als JSX bekannt ist. Die React Native „Bridge“ ruft die nativen Rendering APIs in Objective-C (für iOS) oder Java (für Android) auf. Somit verwendet Ihre Anwendung echte mobile UI – Komponenten, und keine WebViews. Sie wird deshalb wie jede andere mobile Anwendung aussehen und sich bedienen lassen.
Ebenso stellt React Native auch JavaScript-Schnittstellen für Plattform-APIs zur Verfügung, sodass Ihre React Native Apps auf Plattform-Features wie die Telefonkamera oder den Standort des Benutzers zugreifen können, wenn Sie dies wünschen.
React Native unterstützt derzeit sowohl iOS als auch Android und hat das Potenzial, auch auf zukünftige Plattformen zu expandieren.
Vorteile von React Native
Die Tatsache, dass React Native tatsächlich mit den Standard-Rendering-APIs seiner Host-Plattform rendert, ermöglicht es, sich von den meisten existierenden Methoden der plattformübergreifenden Anwendungsentwicklung wie Cordova oder Ionic abzuheben. Bestehende Verfahren mobile Anwendungen zu schreiben wie z.B. Kombinationen von JavaScript, HTML und CSS verwenden normalerwise WebViews. Während dieser Ansatz funktionieren kann, bedeutet dies oft auch Nachteile, vor allem bezüglich der Leistung. Darüber hinaus haben Sie normalerweise keinen Zugriff auf die Vielzahl der nativen UI-Elemente der Host-Plattform.
Wenn diese Frameworks nun versuchen, native UI-Elemente zu imitieren, sind die Ergebnisse in der Regel meist nicht komplett zufriedenstellend. Dieses Reverse-Engineering aller feinen Details, wie z.B. Animationen, etc. benötigt eine enorme Menge an Aufwand, und kann schnell veraltet sein.
Im Gegensatz hierzu, übersetzt React Native Ihr Markup auf echte, native UI-Elemente, wobei es die Mittel der jeweiligen Plattform mit derer Sie arbeiten nutzt. Darüber hinaus arbeitet React separat vom Haupt-UI-Thread, so dass Ihre Anwendung eine kontinuierlich hohe Leistung beibehalten kann, ohne die Gesamtleistungsfähigkeit zu beeinträchtigen.