KAPITEL 1
React Native kurz vorgestellt
React Native ist ein Framework zur plattformübergreifenden Entwicklung nativer Apps mit JavaScript. Es wurde im Frühjahr 2015 zunächst für iOS als Open-Source-Projekt veröffentlicht. Seit 2015 wird auch Android als Zielplattform unterstützt. Zwar wurde React Native von Facebook initiiert, aber seit seiner Veröffentlichung hat sich eine große Gemeinschaft von Programmierern und Unternehmen gebildet, die an der Weiterentwicklung des Frameworks arbeitet.
React Native basiert auf der Webbibliothek React und folgt im Wesentlichen den gleichen Prinzipien zur Erstellung deklarativer Benutzeroberflächen mit JavaScript, wodurch der Zugang zur Entwicklung nativer Apps insbesondere für Webentwickler attraktiv und relativ einfach ist. Nicht zuletzt deswegen hat React Native ähnlich wie React in den letzten Jahren eine große Beliebtheit und eine kritische Masse von Nutzern erreicht. Sowohl React als auch React Native gehören zu den 20 populärsten Projekten aufGitHub.com.1 Es gibt einige Beispiele von bekannten und viel genutzten Apps, die mit React Native entwickelt wurden. Dazu gehören unter anderem Apps von Facebook, Instagram, Airbnb, Tesla, Uber und Walmart.2
Weshalb begeistert und fasziniert React Native? Die wichtigsten Gründe werde ich im Folgenden skizzieren. Anschließend beschreibe ich, wie das Framework prinzipiell funktioniert und wie es dadurch möglich wird, native Apps mit JavaScript zu programmieren.
React Native: viele Vorteile, wenige Einschränkungen
Es gibt verschiedene Vorgehensweisen, um mobile Apps für die beiden wesentlichen Plattformen Android und iOS zu entwickeln. Für die Entwicklung nativer Apps stellen Google und Apple mächtige Werkzeuge zur Verfügung. Die Unterschiede zwischen den beiden herkömmlichen Ansätzen, eine native App für Android bzw. iOS zu entwickeln, sind jedoch beträchtlich. Dies illustriert folgende Auflistung, die allerdings keinen Anspruch auf Vollständigkeit erhebt:
Tabelle 1-1: Unterschiede in der nativen App-Entwicklung zwischen Android und iOS
Programmiersprache | Java oder Kotlin | Objective-C oder Swift |
Entwicklungsumgebung | Android Studio | XCode |