„React Native“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
Aka (Diskussion | Beiträge) K doppelten Link entfernt, Links normiert, Kleinkram |
InternetArchiveBot hat 1 Archivlink(s) ergänzt und 0 Link(s) als defekt/tot markiert.) #IABot (v2.0.9.5 |
||
Zeile 13: | Zeile 13: | ||
}} |
}} |
||
'''React Native''' ist ein [[Open Source|quelloffenes]] [[Benutzerschnittstelle|UI]]-[[Framework]] zur Erstellung von Anwendungen für [[Android (Betriebssystem)|Android]],<ref>{{Internetquelle |titel=Android Release for React Native |datum=2015-09-14|abruf=2023-09-09|url=https://code.facebook.com/posts/1189117404435352/react-native-for-android-how-we-built-the-first-cross-platform-react-native-app/|sprache=en}}</ref><ref name="CNET">{{Internetquelle |autor=Stephen Shankland|titel=Mozilla's radical open-source move helped rewrite rules of tech |datum=2018-03-29 |url=https://www.cnet.com/culture/mozilla-open-source-firefox-move-helped-rewrite-tech-rules-anniversary/ |abruf=2023-09-09|werk=[[CNET]]|sprache=en}}</ref> [[Android TV]],<ref>{{Internetquelle |titel=Building For TV Devices · React Native |sprache=en |url=https://reactnative.dev/docs/building-for-tv |werk=reactnative.dev |abruf=2023-09-09}}</ref> [[IOS (Betriebssystem)|iOS]],<ref name="CNET" /> [[macOS]],<ref name="react-native-windows">{{Internetquelle |titel=React Native for Windows + macOS · Build native Windows & macOS apps with Javascript and React |url=https://microsoft.github.io/react-native-windows/ |werk=microsoft.github.io |abruf=2023-09-09|sprache=en}}</ref> [[tvOS]],<ref>{{Internetquelle |titel=React Native for Apple TV |sprache=en|url=https://dlowder-salesforce.github.io/react-native-apple-tv/ |abruf=2023-09-09}}</ref> [[Website|Web]],<ref>{{Internetquelle |titel=React Native for Web |url=https://github.com/necolas/react-native-web/ |werk=[[GitHub]] |abruf=2023-09-09|sprache=en}}</ref> [[Microsoft Windows|Windows]]<ref name="react-native-windows" /> und [[Universal Windows Platform|UWP]]<ref>{{Internetquelle |autor=Windows Apps Team |titel=React Native on the Universal Windows Platform |datum=13. April 2016|url=https://blogs.windows.com/buildingapps/2016/04/13/react-native-on-the-universal-windows-platform/ |werk=blogs.windows.com |abruf=2023-09-09|sprache=en}}</ref>, welches von [[Meta Platforms|Meta Platforms, Inc.]]<ref>{{Internetquelle |titel=Chapter 1. What Is React Native? |hrsg=[[O’Reilly Verlag|O’Reilly Media, Inc.]] |url=https://www.oreilly.com/library/view/learning-react-native/9781491929049/ch01.html |werk=oreilly.com |abruf=2023-09-09|sprache=en}}</ref> entwickelt wird. Es ermöglicht Entwicklern, native Systemfunktionen bei der Entwicklung mit dem [[React|React-Framework]] zu verwenden.<ref>{{Internetquelle |titel=Out-of-Tree Platforms |hrsg=Facebook, Inc. |url=https://reactnative.dev/docs/out-of-tree-platforms |werk=reactnative.dev |abruf=2023-09-09|sprache=en}}</ref> Es wird unter anderem bei Facebook, Microsoft und Shopify zur Entwicklung der eigenen Android- und iOS-Apps verwendet.<ref>{{Internetquelle |titel=React Native Showcase |sprache=en |url=https://reactnative.dev/showcase.html |werk=reactnative.dev |abruf=2023-09-09}}</ref> |
'''React Native''' ist ein [[Open Source|quelloffenes]] [[Benutzerschnittstelle|UI]]-[[Framework]] zur Erstellung von Anwendungen für [[Android (Betriebssystem)|Android]],<ref>{{Internetquelle |titel=Android Release for React Native |datum=2015-09-14|abruf=2023-09-09|url=https://code.facebook.com/posts/1189117404435352/react-native-for-android-how-we-built-the-first-cross-platform-react-native-app/|sprache=en}}</ref><ref name="CNET">{{Internetquelle |autor=Stephen Shankland|titel=Mozilla's radical open-source move helped rewrite rules of tech |datum=2018-03-29 |url=https://www.cnet.com/culture/mozilla-open-source-firefox-move-helped-rewrite-tech-rules-anniversary/ |abruf=2023-09-09|werk=[[CNET]]|sprache=en}}</ref> [[Android TV]],<ref>{{Internetquelle |titel=Building For TV Devices · React Native |sprache=en |url=https://reactnative.dev/docs/building-for-tv |werk=reactnative.dev |abruf=2023-09-09}}</ref> [[IOS (Betriebssystem)|iOS]],<ref name="CNET" /> [[macOS]],<ref name="react-native-windows">{{Internetquelle |titel=React Native for Windows + macOS · Build native Windows & macOS apps with Javascript and React |url=https://microsoft.github.io/react-native-windows/ |werk=microsoft.github.io |abruf=2023-09-09|sprache=en}}</ref> [[tvOS]],<ref>{{Internetquelle |titel=React Native for Apple TV |sprache=en |url=https://dlowder-salesforce.github.io/react-native-apple-tv/ |abruf=2023-09-09 |archiv-url=https://web.archive.org/web/20200921042522/https://dlowder-salesforce.github.io/react-native-apple-tv/ |archiv-datum=2020-09-21 |offline=ja |archiv-bot=2024-04-23 15:05:44 InternetArchiveBot }}</ref> [[Website|Web]],<ref>{{Internetquelle |titel=React Native for Web |url=https://github.com/necolas/react-native-web/ |werk=[[GitHub]] |abruf=2023-09-09|sprache=en}}</ref> [[Microsoft Windows|Windows]]<ref name="react-native-windows" /> und [[Universal Windows Platform|UWP]]<ref>{{Internetquelle |autor=Windows Apps Team |titel=React Native on the Universal Windows Platform |datum=13. April 2016|url=https://blogs.windows.com/buildingapps/2016/04/13/react-native-on-the-universal-windows-platform/ |werk=blogs.windows.com |abruf=2023-09-09|sprache=en}}</ref>, welches von [[Meta Platforms|Meta Platforms, Inc.]]<ref>{{Internetquelle |titel=Chapter 1. What Is React Native? |hrsg=[[O’Reilly Verlag|O’Reilly Media, Inc.]] |url=https://www.oreilly.com/library/view/learning-react-native/9781491929049/ch01.html |werk=oreilly.com |abruf=2023-09-09|sprache=en}}</ref> entwickelt wird. Es ermöglicht Entwicklern, native Systemfunktionen bei der Entwicklung mit dem [[React|React-Framework]] zu verwenden.<ref>{{Internetquelle |titel=Out-of-Tree Platforms |hrsg=Facebook, Inc. |url=https://reactnative.dev/docs/out-of-tree-platforms |werk=reactnative.dev |abruf=2023-09-09|sprache=en}}</ref> Es wird unter anderem bei Facebook, Microsoft und Shopify zur Entwicklung der eigenen Android- und iOS-Apps verwendet.<ref>{{Internetquelle |titel=React Native Showcase |sprache=en |url=https://reactnative.dev/showcase.html |werk=reactnative.dev |abruf=2023-09-09}}</ref> |
||
== Geschichte == |
== Geschichte == |
Version vom 23. April 2024, 17:05 Uhr
React Native
| |
---|---|
![]() | |
Basisdaten
| |
Entwickler | Meta und die Open Source Community |
Erscheinungsjahr | 26. März 2015[1] |
Aktuelle Version | 0.79.2 |
Betriebssystem | Android, Android TV, iOS, macOS, tvOS, Web, Windows, UWP, und VR |
Programmiersprache | JavaScript, Java, C++, Objective-C, Python |
Kategorie | Application Framework |
Lizenz | MIT-Lizenz |
reactnative.dev |
React Native ist ein quelloffenes UI-Framework zur Erstellung von Anwendungen für Android,[2][3] Android TV,[4] iOS,[3] macOS,[5] tvOS,[6] Web,[7] Windows[5] und UWP[8], welches von Meta Platforms, Inc.[9] entwickelt wird. Es ermöglicht Entwicklern, native Systemfunktionen bei der Entwicklung mit dem React-Framework zu verwenden.[10] Es wird unter anderem bei Facebook, Microsoft und Shopify zur Entwicklung der eigenen Android- und iOS-Apps verwendet.[11]
Geschichte
In 2012 kommentierte Mark Zuckerberg: „Der größte Fehler, den wir als Unternehmen gemacht haben, war zu sehr auf HTML5 statt auf native Entwicklung zu setzen“. Die Nutzung von HTML5 in der mobilen Facebook-App sorgte laut eigener Aussage für Instabilität und eine insgesamt langsamere Anwendung.[12][13] Er versprach zugleich, Facebook würde bald eine bessere mobile Nutzungserfahrung schaffen.
Jordan Walke, ein Softwareentwickler bei Facebook, fand einen Weg, UI-Elemente in iOS aus einem JavaScript-Thread, welcher im Hintergrund läuft, zu erzeugen. Dies wurde zur Basis für das React-Framework. Facebook entschied sich dazu, einen internen Hackathon abzuhalten, um aus dem Prototypen ein produktiv einsetzbares Framework zu machen und künftig native Mobile-Apps mit der Technologie entwickeln zu können.[14]
Nach Monaten der Entwicklung veröffentlichte Facebook 2015 die erste Version auf der React JavaScript Configuration Konferenz. Während einer technischen Keynote[15] erklärte Christopher Chedeau, dass Facebook React Native bereits produktiv in einigen der eigenen Apps, namentlich der Group App und der Ads Manager App, verwendete.[1]
Implementierung
Die Funktionsweise von React Native ist quasi identisch zu React, mit der Ausnahme, dass React Native nicht den DOM über den „Virtual DOM“ manipuliert. Der vom Entwickler geschriebene JavaScript-Code wird in einem Hintergrundprozess direkt auf dem Endgerät interpretiert. Die Kommunikation zwischen dem JavaScript-Code und dem Betriebssystem erfolgt über serialisierte Daten, welche gestapelt über eine asynchrone Brücke ausgetauscht werden.[16][17]
React-Komponenten abstrahieren den nativen Code und interagieren mit System-APIs mittels dem deklarativem UI-Programmierparadigma von React sowie JavaScript. TypeScript wird bei der Entwicklung moderner React Native Apps aufgrund der erhöhten Typsicherheit jedoch oft gegenüber JavaScript bevorzugt.[18]
Obwohl das Styling in React Native eine ähnliche Syntax zu CSS nutzt, verwendet es kein HTML oder CSS. [19] Stattdessen werden den React-Komponenten die Styling-Regeln direkt im JavaScript-Code in Form eines Attributs zugewiesen.
React Native ist auch für Windows und macOS verfügbar. Die entsprechenden Entwicklungswerkzeuge werden jeweils von Microsoft entwickelt.[5]
„Hello World!“ Beispiel
Ein „Hello World!“ Programm mit einem einfachen Zähler kann in React Native wie folgt implementiert werden:
import { AppRegistry, Text, View, Button } from 'react-native';
import * as React from 'react';
const HelloWorldApp = () => {
const [count, setCount] = React.useState(0);
const incrementCount = () => {
setCount(count + 1);
};
return (
<View>
<Text>Hello World!</Text>
<Text>{count}</Text>
<Button onPress={incrementCount} title="Zähler erhöhen" />
</View>
);
}
export default HelloWorldApp;
AppRegistry.registerComponent('HelloWorld', () => HelloWorldApp);
Siehe auch
Literatur
- Bonnie Eisenman: Learning React Native. Hrsg.: O'Reilly. 2016, ISBN 978-1-4919-2900-1 (englisch).
Einzelnachweise
- ↑ a b React Native: Bringing modern web techniques to mobile. 26. März 2015, abgerufen am 9. September 2023 (englisch).
- ↑ Android Release for React Native. 14. September 2015, abgerufen am 9. September 2023 (englisch).
- ↑ a b Stephen Shankland: Mozilla's radical open-source move helped rewrite rules of tech. In: CNET. 29. März 2018, abgerufen am 9. September 2023 (englisch).
- ↑ Building For TV Devices · React Native. In: reactnative.dev. Abgerufen am 9. September 2023 (englisch).
- ↑ a b c React Native for Windows + macOS · Build native Windows & macOS apps with Javascript and React. In: microsoft.github.io. Abgerufen am 9. September 2023 (englisch).
- ↑ React Native for Apple TV. Archiviert vom (nicht mehr online verfügbar) am 21. September 2020; abgerufen am 9. September 2023 (englisch). Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.
- ↑ React Native for Web. In: GitHub. Abgerufen am 9. September 2023 (englisch).
- ↑ Windows Apps Team: React Native on the Universal Windows Platform. In: blogs.windows.com. 13. April 2016, abgerufen am 9. September 2023 (englisch).
- ↑ Chapter 1. What Is React Native? In: oreilly.com. O’Reilly Media, Inc., abgerufen am 9. September 2023 (englisch).
- ↑ Out-of-Tree Platforms. In: reactnative.dev. Facebook, Inc., abgerufen am 9. September 2023 (englisch).
- ↑ React Native Showcase. In: reactnative.dev. Abgerufen am 9. September 2023 (englisch).
- ↑ Christina Warren: Zuckerberg's Biggest Mistake? 'Betting on HTML5'. Mashable, 11. September 2012, abgerufen am 9. September 2023 (englisch).
- ↑ Jürgen Vielmeier: Mark Zuckerberg kündigt Facebook-Suchmaschine an, nennt HTML 5 einen strategischen Fehler. BASIC thinking, 12. September 2012, abgerufen am 9. September 2023.
- ↑ React Native: A year in review. 13. April 2016, abgerufen am 9. September 2023 (englisch).
- ↑ Christopher Chadeau: A Deep Dive into React Native. In: YouTube. Abgerufen am 9. September 2023 (englisch).
- ↑ Tadeu Zagallo: Bridging in React Native. 14. Oktober 2015, abgerufen am 9. September 2023 (englisch).
- ↑ How we build React Native app: 7 things which save your development time. Part 2. Abgerufen am 9. September 2023 (englisch).
- ↑ Using TypeScript. In: reactnative.dev. Meta Platforms, Inc., abgerufen am 9. September 2023 (englisch).
- ↑ React Native Style. In: reactnative.dev. Abgerufen am 9. September 2023 (englisch).