Sie sind hier
E-Book

React Native

Native Apps parallel für Android und iOS entwickeln

AutorErik Behrends
VerlagO'Reilly Verlag
Erscheinungsjahr2018
ReiheAnimals 
Seitenanzahl260 Seiten
ISBN9783960102021
FormatePUB
KopierschutzWasserzeichen
GerätePC/MAC/eReader/Tablet
Preis32,90 EUR
Mit dem Open-Source-Framework React Native entwickeln Sie plattformübergreifend vollwertige native Apps mit JavaScript. Der Einstieg in die App-Entwicklung ist durch dieses Framework so einfach wie nie zuvor. Dieses Buch zeigt Ihnen, wie Apps parallel für Android und iOS mit einer weitgehend einheitlichen Codebasis umgesetzt werden. Sie benötigen dazu lediglich grundlegende Programmiererfahrung, idealerweise in JavaScript. - Schneller Einstieg: Testen Sie schon nach wenigen Minuten Ihre erste App auf dem Smartphone. Mit dem App-Entwicklungstool Expo können Sie iOS-Apps sogar ohne einen eigenen Mac entwickeln. - Praxisnahe Beispiel-App: Entwickeln Sie schrittweise parallel für Android und iOS eine Tagebuch-App mit typischen Features wie dem Einbinden von Fotos und dem Abfragen und Darstellen aktueller Wetterdaten für den Standort des Users. - Relevantes Basiswissen: Verstehen Sie die Grundlagen: Das Buch beschreibt alle relevanten Features neuerer JavaScript-Versionen und grundlegende Konzepte des Frameworks. - Aufbau und Darstellung von Apps: Lernen Sie wichtige APIs und UI-Komponenten wie Listen kennen und erfahren Sie, wie Sie mit dem Flexbox-Layout ein Styling realisieren, das sich verschiedenen Displaygrößen anpasst. - Besonderheiten mobiler Apps: Fassen Sie mehrere Screens durch react-navigation in einer geeigneten Navigationsstruktur zusammen und erhalten Sie Einblick in den Umgang mit Touch-Gesten und Animationen.Für jedes Kapitel stehen die relevanten Codebeispiele als Download auf der Webseite zum Buch bereit.

Erik Behrends ist Professor für Informatik an der DHBW Lörrach (Duale Hochschule Baden-Württemberg). Dort befasst er sich hauptsächlich mit Themen der praktischen Softwareentwicklung. Mehr als 15 Jahre hat er als Programmierer und Teamleiter Erfahrungen in unterschiedlichen Softwareprojekten gesammelt, z.B. bei IBM in Irland.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

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 auf GitHub.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

 

Android

iOS

Programmiersprache

Java oder Kotlin

Objective-C oder Swift

Entwicklungsumgebung

Android Studio

XCode

Unterstützte Betriebssysteme

Linux, macOS, Windows

macOS

Erstellung von UIs

deklarativ mit XML-Layout oder programmatisch mit Java

hauptsächlich durch grafische Tools in XCode (Interface Builder)

Soll nun eine native App für Android und iOS mit den herkömmlichen Ansätzen der Hersteller entwickelt werden, ist es offensichtlich, dass dies in der Regel nur mit eigenständigen Teams möglich sein wird, die sich auf die jeweilige Plattform spezialisieren. Dadurch werden nicht bloß hohe Kosten verursacht, sondern es wird auch ein erhöhter Aufwand in Bezug auf die Projektkoordination erforderlich sein. Dies ist die größte Herausforderung, wenn eine native App für beide Plattformen auf herkömmliche Weise entwickelt werden soll.

Ein weiterer Nachteil der herkömmlichen Ansätze entsteht aus der Tatsache, dass jede Änderung an einer App dazu führt, dass die App kompiliert werden muss. Bevor die Änderung auf dem Smartphone getestet werden kann, vergehen für eine Android-App mindestens einige Sekunden und in einem iOS-Projekt oftmals sogar deutlich mehr Zeit (von den häufig berichteten Abstürzen von XCode ganz zu schweigen). Je komplexer die App wird, desto mehr Zeit verbringt ein Programmierer mit Warten. Den meisten Programmierern ist sicherlich bewusst, dass sich dies negativ auf ihre Produktivität auswirken und eine Belastungsprobe für ihre Gelassenheit darstellen kann.

React Native bietet Abhilfe und reduziert sowohl den Entwicklungsaufwand als auch die Reaktionszeiten bei der Entwicklung nativer Apps. Es ist einerseits ein plattformübergreifendes Framework für Android und iOS, wodurch ein Team in die Lage versetzt wird, eine App für beide Plattformen parallel mit nur einer Codebasis zu entwickeln. So werden wir auch in diesem Buch bei der Entwicklung der App MyJournal ab Kapitel 4 vorgehen. Andererseits wird bei der Programmierung mit React Native jede Änderung am Code fast augenblicklich in der App sichtbar. Ermöglicht wird dies durch Features wie Live Reload und Hot Reloading, die Sie im Laufe des Buchs kennenlernen werden. Neben diesen wichtigen Eigenschaften hat React Native weitere Vorteile, auf die ich kurz eingehen möchte:

Native Benutzeroberflächen

React Native erzeugt performante Apps mit nativen UI-Elementen für Android und iOS. Dies ist ein großer Vorteil gegenüber hybriden Frameworks wie z.B. Cordova und Ionic, deren Anwendungscode in einem WebView ausgeführt wird. Die Benutzeroberfläche wird dort mit Webtechnologien erstellt, wodurch UI-Elemente lediglich nachgebildet werden, was sich negativ auf das Erscheinungsbild und die Performance einer App auswirken kann.

Die Basis: JavaScript und React

Da JavaScript die Programmiersprache für React Native ist, können Webentwickler mit weniger Aufwand Apps erstellen, als wenn sie zuerst eine andere Programmiersprache lernen müssten. Durch JavaScript wird es prinzipiell möglich, allgemeine Geschäftslogik ohne spezifischen Code für die App in Webprojekten wiederzuverwenden. Zusätzlich profitiert React Native von dem deklarativen Programmiermodell in React, das einen eleganten und produktiven Ansatz zur Erstellung von Benutzeroberflächen bietet. Gerade dieser Vorteil ist ein Grund für die wachsende Popularität von React Native in den letzten Jahren.

Aktives Umfeld mit vielen Erweiterungen und Werkzeugen

React Native wird von vielen Entwicklern und mehreren Unternehmen aktiv weiterentwickelt. Es stehen viele nützliche Erweiterungen und Bibliotheken zur Verfügung, die z.B. UI-Komponenten implementieren, die nicht direkt von React Native angeboten werden. Hervorzuheben ist hierbei das Start-up Expo (expo.io), das verschiedene nützliche quelloffene Werkzeuge für React Native bereithält. Um nur ein Beispiel zu nennen: Die Expo-App ermöglicht es in Kombination mit React Native, native Apps für das iPhone ohne Apple-Rechner zu entwickeln. Diese App werden wir daher auch in diesem Buch vorstellen und verwenden.

Weitere Plattformen neben Android und iOS

Apps plattformübergreifend mit einer Codebasis für Android und iOS programmieren zu können, ist bereits ein großer Produktivitätsgewinn. Es gibt jedoch zusätzliche Plattformen, für die Apps mit React Native entwickelt werden können. Dazu gehören z.B. Apple TV und Microsofts Universal Windows Platform. Architektur und Funktionsweise von React und React Native erlauben es sogar, Anwendungen im zukunftsträchtigen Bereich der virtuellen Realität umzusetzen (siehe React VR unter facebook.github.io/react-vr).

Nativer Code kann eingebettet werden

In React Native kann einerseits nativer Code für Android und iOS eingebettet werden, sodass native Bestandteile anderer Projekte oder Bibliotheken wiederverwendet werden können. Umgekehrt ist es möglich, React Native in bestehenden App-Projekten einzusetzen, die bisher mit den herkömmlichen Ansätzen von Google bzw. Apple entwickelt wurden. Somit ist es möglich, neue Funktionalitäten in diesen Projekten prototypisch und plattformübergreifend mit React Native umzusetzen.

Meines Erachtens ist React Native das einzige Framework für die plattformübergreifende Entwicklung nativer Apps, das solch eine Fülle von Möglichkeiten und Funktionen bietet. Es gibt aber auch Einschränkungen bei dem Framework, die es zu beachten gilt.

Manche Rahmenbedingungen erfordern nativen Code

Es kann Situationen geben, in denen es nicht möglich ist, bestimmte Funktionalitäten einer App mit React Native umzusetzen. Dies könnte ein besonderes Bedienelement sein, für das es (noch) keine Komponente im Framework gibt. Auch decken die APIs von React Native nicht alle Gerätefunktionen ab, sodass z.B. bestimmte Sensordaten nicht abgefragt werden können. In diesen Fällen kann zwar nativer Code eingebettet werden, aber es bedeutet auch, dass mindestens ein Teammitglied sich mit den nativen Aspekten der App-Entwicklung auskennen sollte. Dieses Wissen wird außerdem dann relevant,...

Blick ins Buch

Weitere E-Books zum Thema: Software - Betriebssysteme - Anwenderprogramme

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Statistische Grafiken mit Excel

E-Book Statistische Grafiken mit Excel
Format: PDF

Die grafische Veranschaulichung von Sachverhalten oder Entwicklungsverläufen spielt in allen empirisch orientierten Bereichen eine besondere Rolle. Empirische Informationen grafisch aufzubereiten,…

Statistische Grafiken mit Excel

E-Book Statistische Grafiken mit Excel
Format: PDF

Die grafische Veranschaulichung von Sachverhalten oder Entwicklungsverläufen spielt in allen empirisch orientierten Bereichen eine besondere Rolle. Empirische Informationen grafisch aufzubereiten,…

Computergrafik und OpenGL

E-Book Computergrafik und OpenGL
Format: PDF

Das Lehrbuch stellt die theoretischen Grundlagen zu den wichtigsten Themenbereichen der Computergrafik, wie Rastergrafik, Modellierung, Transformation, Projektion, Clipping, Sichtbarkeit, Farbe und…

Computergrafik und OpenGL

E-Book Computergrafik und OpenGL
Format: PDF

Das Lehrbuch stellt die theoretischen Grundlagen zu den wichtigsten Themenbereichen der Computergrafik, wie Rastergrafik, Modellierung, Transformation, Projektion, Clipping, Sichtbarkeit, Farbe und…

Computergrafik und OpenGL

E-Book Computergrafik und OpenGL
Format: PDF

Das Lehrbuch stellt die theoretischen Grundlagen zu den wichtigsten Themenbereichen der Computergrafik, wie Rastergrafik, Modellierung, Transformation, Projektion, Clipping, Sichtbarkeit, Farbe und…

Citrix Presentation Server

E-Book Citrix Presentation Server
Format: PDF

Der Citrix MetaFrame Presentation Server ist unangefochtener Marktführer unter den Terminalservern für Windows-Systeme. Unternehmen setzen ihn ein, um die Systemverwaltung von Windows-Netzwerken…

Citrix Presentation Server

E-Book Citrix Presentation Server
Format: PDF

Der Citrix MetaFrame Presentation Server ist unangefochtener Marktführer unter den Terminalservern für Windows-Systeme. Unternehmen setzen ihn ein, um die Systemverwaltung von Windows-Netzwerken…

Weitere Zeitschriften

Menschen. Inklusiv leben

Menschen. Inklusiv leben

MENSCHEN. das magazin informiert über Themen, die das Zusammenleben von Menschen in der Gesellschaft bestimmen -und dies konsequent aus Perspektive der Betroffenen. Die Menschen, um die es geht, ...

Baumarkt

Baumarkt

Baumarkt enthält eine ausführliche jährliche Konjunkturanalyse des deutschen Baumarktes und stellt die wichtigsten Ergebnisse des abgelaufenen Baujahres in vielen Zahlen und Fakten zusammen. Auf ...

cards Karten cartes

cards Karten cartes

Die führende Zeitschrift für Zahlungsverkehr und Payments – international und branchenübergreifend, erscheint seit 1990 monatlich (viermal als Fachmagazin, achtmal als ...

Computerwoche

Computerwoche

Die COMPUTERWOCHE berichtet schnell und detailliert über alle Belange der Informations- und Kommunikationstechnik in Unternehmen – über Trends, neue Technologien, Produkte und Märkte. IT-Manager ...

küche + raum

küche + raum

Internationale Fachzeitschrift für Küchenforschung und Küchenplanung. Mit Fachinformationen für Küchenfachhändler, -spezialisten und -planer in Küchenstudios, Möbelfachgeschäften und den ...

Der Steuerzahler

Der Steuerzahler

Der Steuerzahler ist das monatliche Wirtschafts- und Mitgliedermagazin des Bundes der Steuerzahler und erreicht mit fast 230.000 Abonnenten einen weitesten Leserkreis von 1 ...

DGIP-intern

DGIP-intern

Mitteilungen der Deutschen Gesellschaft für Individualpsychologie e.V. (DGIP) für ihre Mitglieder Die Mitglieder der DGIP erhalten viermal jährlich das Mitteilungsblatt „DGIP-intern“ ...