React Native
Some of this article's listed sources may not be reliable. (February 2019) (Learn how and when to remove this template message) |
| Developer(s) | Facebook and community |
|---|---|
| Initial release | March 26, 2015[1] |
| Stable release | 0.63.3
/ September 29, 2020[2] |
| Repository | https://github.com/facebook/react-native |
| Written in | JavaScript, Java, C++, Objective-C, Objective-C++, Python |
| Platform | Android, Android TV, iOS, macOS, tvOS, Web and Windows |
| Type | Application framework |
| License | MIT License |
| Website | reactnative |
React Native is an open-source mobile application framework created by Facebook, Inc.[3] It is used to develop applications for Android[4], Android TV[5], iOS, macOS[6], tvOS[7], Web[8], Windows[6] and UWP[9] by enabling developers to use React's framework along with native platform capabilities[10].
History[edit]
In 2012 Mark Zuckerberg commented, "The biggest mistake we made as a company was betting too much on HTML as opposed to native".[11] Using HTML5 for Facebook's mobile version resulted in an unstable application that retrieved data slowly.[12][13] He promised Facebook would soon deliver a better mobile experience.
Inside Facebook, Jordan Walke found a way to generate UI elements for iOS from a background JavaScript thread.[14][circular reference] They decided to organize an internal Hackathon to perfect this prototype in order to be able to build native apps with this technology.[15]
After months of development, Facebook released the first version for the React JavaScript Configuration in 2015. During a technical talk,[16] Christopher Chedeau explained that Facebook was already using React Native in production for their Group App and their Ads Manager App.[17]
Implementation[edit]
The working principles of React Native are virtually identical to React except that React Native does not manipulate the DOM via the Virtual DOM. It runs in a background process (which interprets the JavaScript written by the developers) directly on the end-device and communicates with the native platform via a serialisation, asynchronous and batched Bridge.[18][19][20]
React components wrap existing native code and interact with native APIs via React’s declarative UI paradigm and JavaScript. This enables native app development for whole new teams of developers, and can let existing native teams work much faster.[21]
React Native does not use HTML or CSS. Instead, messages from the JavaScript thread are used to manipulate native views. React Native also allows developers to write native code in languages such as Java for Android and Objective-C or Swift for iOS which make it even more flexible.
Hello World example[edit]
A Hello, World program in React Native looks like this:
1 import React from 'react';
2 import { AppRegistry, Text } from 'react-native';
3
4 const HelloWorldApp = () => <Text>Hello world!</Text>;
5 export default HelloWorldApp;
6
7 // Skip this line if using Create React Native App
8 AppRegistry.registerComponent('HelloWorld', () => HelloWorldApp);
9
10 // The React native code can also be imported from another component with the following code:
11 import HelloWorldApp from './HelloWorldApp';
See also[edit]
- List of rich Internet application frameworks
- Multiple phone web-based application framework
- NativeScript
- Xamarin
- Appcelerator Titanium
- Apache Cordova
- Flutter (software)
References[edit]
- ^ "React Native: Bringing modern web techniques to mobile".
- ^ "Releases – Facebook/React". GitHub.
- ^ "Chapter 1. What Is React Native?". oreilly.com. O’Reilly Media, Inc. Retrieved 30 July 2020.
- ^ "Android Release for React Native".
- ^ "Building For TV Devices · React Native". reactnative.dev. Retrieved 2020-10-02.
- ^ a b "React Native for Windows + macOS · Build native Windows & macOS apps with Javascript and React". microsoft.github.io. Retrieved 2020-10-02.
- ^ "React Native for Apple TV". React Native for Apple TV. Retrieved 2020-10-02.
- ^ "React Native for Web". Retrieved 2019-11-06.
- ^ Windows Apps Team (April 13, 2016). "React Native on the Universal Windows Platform". blogs.windows.com. Retrieved 2016-11-06.
- ^ "Out-of-Tree Platforms". reactnative.dev. Facebook, Inc. Retrieved 30 July 2020.
- ^ "Zuckerberg's Biggest Mistake? 'Betting on HTML5'". Mashable. Retrieved 7 April 2018.
- ^ Warren, Christina. "Zuckerberg's Biggest Mistake? 'Betting on HTML5'". Mashable. Retrieved 2020-10-29.
- ^ "Can You Use React for Mobile App Development?". NarraSoft. 2020-10-10. Retrieved 2020-10-29.
- ^ "React (JavaScript library)".
- ^ "A short Story about React Native". Retrieved 16 January 2018.
- ^ Christopher, Chedeau. "A Deep Dive into React Native". YouTube. Retrieved 16 January 2018.
- ^ "React Native: Bringing modern web techniques to mobile".
- ^ "Bridging in React Native". 14 October 2015. Retrieved 16 January 2018.
- ^ "React Native vs Flutter: Which Cross-Platform Framework is Better?". Retrieved 2019-11-06.
- ^ "How we build React Native app: 7 things which save your development time. Part 2". Retrieved 2019-11-06.
- ^ "How React Native can Empower App Development Process?". Retrieved 15 February 2019.

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
