Titelaufnahme

Titel
Code-Sharing zwischen React und React Native
Weitere Titel
Code-Sharing between React and React Native
AutorInnenPatsch, Richard
GutachterMiladinovic, Igor
Erschienen2018
Datum der AbgabeJuni 2018
SpracheEnglisch
DokumenttypBachelorarbeit
Schlagwörter (DE)Code-Sharing / React Native / React / native modules / Javascript / GraphQL / SQL / react-native-web / Redux
Schlagwörter (EN)Code-Sharing / React Native / React / native modules / Javascript / GraphQL / SQL / react-native-web / Redux
Zugriffsbeschränkung
 _
Klassifikation
Zusammenfassung (Deutsch)

Diese Arbeit konzentriert sich auf die gemeinsame Nutzung von Code zwischen React und React Native. Eine genaue Untersuchung

wird einige Ansätze aufzeigen, die eine gemeinsame Nutzung von Code zwischen diesen beiden Frameworks auf effiziente Art und Weise ermöglichen. Entweder durch die Einrichtung einer “universal application” oder durch den Einsatz des npm

Pakets react-native-web. Die Möglichkeit, Code und Logik über mehrere Plattformen hinweg zu teilen

ist beeindruckend und ermöglicht eine effiziente Wartung und schnellere Entwicklungszyklen. Obwohl die Logik

gesteilt werden kann, kann das Layout je nach Plattform variieren, weil die Zielplattformen auf unterschiedlichen Bildschirmgrößen dargestellt werden. Um die Theorie hinter dieser These zu beweisen, werden einige Implementierungsdetails einer Timetracking-Anwendung beschrieben. Diese Timetracking-Anwendung verwendet Redux, einen “state container”, und GraphQL, eine Abfragesprache für APIs, um

die maximale Menge an Code zu teilen. Die Nutzbarkeit dieser Ansätze hängt stark vom Anwendungsfall ab, da native Module nicht geteilt werden können, weil sie in verschiedenen Programmiersprachen geschrieben sind. Es werden jedoch grundlegende Anwendungsfälle abgedeckt.

Zusammenfassung (Englisch)

This thesis focuses on code sharing between React and React Native. A narrow inspection

will reveal some approaches that are possible to share code between those two frameworks in

the most efficient way. Either by setting up a universal application or making use of the npm

package react-native-web. The opportunity to share code and logic across multiple platforms

is impressive and allows efficient maintenance and faster development cycles. Although logic

can be shared, the layout may vary depending on the platform, because of different screen

sizes of the target platform. To prove the theory behind this thesis, some specifics of a

timetracking application are described in the main section. This timetracking application

utilizes Redux, a predictable state container, and GraphQL, a query language for APIs to

share the maximum amount of code. The usability of those approaches depends heavily on

the use-case, because native modules, which have to be written natively, cannot be shared,

as they are written in different programming languages. However basic use-cases are covered.