@@ -8,7 +8,7 @@ title: React Native
8
8
by Facebook. While it is really popular among mobile platforms, developers can also target Windows
9
9
and macOS (more about this later).
10
10
React Native is used not only at Facebook, but also at other large companies such as
11
- [ Microsoft] [ MS RN ] , [ Shopify] [ Shopify RN ] , and [ Pinterest] [ Pinterest RN ] .
11
+ [ Microsoft] [ ms rn ] , [ Shopify] [ shopify rn ] , and [ Pinterest] [ pinterest rn ] .
12
12
13
13
To better understand how React Native works we should look at [ React] , a JavaScript library
14
14
developed by Facebook for building user interfaces. React uses a Virtual DOM (VDOM), a
@@ -18,7 +18,7 @@ maps the elements of the UI to platform controls instead of the browser DOM. Thi
18
18
to reuse their React web skills to create applications. Its moto is “Learn once, write anywhere”.
19
19
20
20
::: info
21
- The [ Document Object Model (DOM)] [ DOM ] is a concept from the web browsers. The DOM treats an HTML
21
+ The [ Document Object Model (DOM)] [ dom ] is a concept from the web browsers. The DOM treats an HTML
22
22
document as a tree structure wherein each node is an object representing a part of the document.
23
23
While React Native uses the concept of VDOM, there is no "real" DOM in React Native.
24
24
:::
@@ -31,20 +31,20 @@ can use [Grid] and [Flexbox] for layout on the web, but only the later on React
31
31
32
32
## Summary
33
33
34
- | Characteristic | |
35
- | -------------- | :----: |
36
- | Website | [ {{technologies.react-native.url}}] ( {{technologies.react-native.url}} ) |
37
- | Platforms | Mobile, Desktop |
38
- | Rendering strategy | [ Platform controls] |
39
- | Code License | [ {{technologies.react-native.codeLicense}}] |
40
- | Copyright | Facebook |
41
- | Documentation | [ {{technologies.react-native.documentation}}] ( {{technologies.react-native.documentation}} ) |
42
- | Community | [ {{technologies.react-native.community}}] ( {{technologies.react-native.community}} ) |
43
- | Latest version | {{technologies.react-native.releases.0.version}} |
44
- | Release cadence | N/A |
45
- | Release support | Latest version |
46
- | Update model | Developer driven |
47
- | Governance model | Facebook is the ultimate decission maker |
34
+ | Characteristic | |
35
+ | ------------------ | :----------------------------------------------------------------------------------------- ----: |
36
+ | Website | [ {{technologies.react-native.url}}] ( {{technologies.react-native.url}} ) |
37
+ | Platforms | Mobile, Desktop |
38
+ | Rendering strategy | [ Platform controls] |
39
+ | Code License | [ {{technologies.react-native.codeLicense.name }}] ( {{technologies.react-native.codeLicense.url}} ) |
40
+ | Copyright | Facebook |
41
+ | Documentation | [ {{technologies.react-native.documentation}}] ( {{technologies.react-native.documentation}} ) |
42
+ | Community | [ {{technologies.react-native.community}}] ( {{technologies.react-native.community}} ) |
43
+ | Latest version | {{technologies.react-native.releases.0.version}} |
44
+ | Release cadence | N/A |
45
+ | Release support | Latest version |
46
+ | Update model | Developer driven |
47
+ | Governance model | Facebook is the ultimate decission maker |
48
48
49
49
** Platform support:**
50
50
@@ -53,7 +53,7 @@ can use [Grid] and [Flexbox] for layout on the web, but only the later on React
53
53
::: caution
54
54
Windows and macOS are considered out-of-tree platforms React Native platforms. Developers need to
55
55
download the packages ` react-native-windows ` and/or ` react-native-macos ` (developed
56
- by Microsoft) to target them. You can learn more in [ React Native for Windows + macOS] [ RN desktop] .
56
+ by Microsoft) to target them. You can learn more in [ React Native for Windows + macOS] [ rn desktop] .
57
57
:::
58
58
59
59
** Language support:**
@@ -80,8 +80,9 @@ can have breaking changes.
80
80
81
81
## Governance
82
82
83
- While React Native is OSS ([ MIT] licensed) and has contributors from different companies, the
84
- ultimate decission maker is Facebook.
83
+ While React Native is OSS
84
+ [ {{technologies.react-native.codeLicense.name}}] ( {{technologies.react-native.codeLicense.url}} )
85
+ licensed) and has contributors from different companies, the ultimate decission maker is Facebook.
85
86
86
87
## Internals
87
88
@@ -124,44 +125,44 @@ again over the bridge.
124
125
<!-- Diagram of messages being sent -->
125
126
126
127
To address some of the concerns lined out earlier, the React Native Core team is working on removing
127
- the “bridge” and replace it with a [ new renderer] [ Fabric ] , called Fabric, and a new mechanism to
128
+ the “bridge” and replace it with a [ new renderer] [ fabric ] , called Fabric, and a new mechanism to
128
129
communicate the JavaScript thread with native modules, called TurboModules.
129
130
This will allow, among other things, opt-in synchronous actions between the JavaScript thread and
130
131
the UI and native modules.
131
132
132
133
::: tip
133
- In [ July 2021] [ Facebook fabric] Facebook announced that all its screens are using Fabric already. It
134
+ In [ July 2021] [ facebook fabric] Facebook announced that all its screens are using Fabric already. It
134
135
is expected this feature will be enabled in the React Native's open source version in the near
135
136
future.
136
137
:::
137
138
138
139
::: note
139
140
The following sources where used for this section:
140
141
141
- * [ React Native Guide]
142
- * [ The New React Native Architecture Explained: Part Three] by [ Lorenzo Sciandra]
143
- * [ React Native Reanimated]
144
- :::
142
+ - [ React Native Guide]
143
+ - [ The New React Native Architecture Explained: Part Three] by [ Lorenzo Sciandra]
144
+ - [ React Native Reanimated]
145
+ :::
145
146
146
147
<!-- Ref links -->
147
148
148
- [ DOM ] : https://en.wikipedia.org/wiki/Document_Object_Model
149
- [ Embedded browser engine] : ./browser-engine.md#embedded-browser-engine
150
- [ Facebook Fabric ] : https://twitter.com/joshuaisgross/status/1415099495285608453
151
- [ Fabric ] : https://reactnative.dev/blog/2018/06/14/state-of-react-native-2018
152
- [ Flexbox ] : https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/GridsS_layout/Flexbox
153
- [ Grid ] : https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Grids
154
- [ JSX ] : https://reactjs.org/docs/introducing-jsx.html
155
- [ Lorenzo Sciandra ] : https://twitter.com/Kelset
156
- [ {{technologies.react-native.codeLicense }} ] : https://github.com/facebook/react-native/blob/main/LICENSE
157
- [ MS RN ] : https://twitter.com/safaiyeh/status/1219294459298344961
158
- [ Pinterest RN ] : https://medium.com/pinterest-engineering/supporting-react-native-at-pinterest-f8c2233f90e6
159
- [ Platform controls] : ./platform-controls.md
160
- [ React ] : https://reactjs.org/
161
- [ React Native ] : https://reactnative.dev
162
- [ React Native Guide ] : https://www.reactnative.guide/3-react-native-internals/3.1-react-native-internals.html
163
- [ React Native Reanimated ] : https://docs.swmansion.com/react-native-reanimated/docs/
164
- [ RN desktop] : https://microsoft.github.io/react-native-windows/
165
- [ RN code] : https://github.com/facebook/react-native
166
- [ Shopify RN ] : https://engineering.shopify.com/blogs/engineering/react-native-future-mobile-shopify
167
- [ The New React Native Architecture Explained: Part Three ] : https://formidable.com/blog/2019/fabric-turbomodules-part-3/
149
+ [ dom ] : https://en.wikipedia.org/wiki/Document_Object_Model
150
+ [ embedded browser engine] : ./browser-engine.md#embedded-browser-engine
151
+ [ facebook fabric ] : https://twitter.com/joshuaisgross/status/1415099495285608453
152
+ [ fabric ] : https://reactnative.dev/blog/2018/06/14/state-of-react-native-2018
153
+ [ flexbox ] : https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/GridsS_layout/Flexbox
154
+ [ grid ] : https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Grids
155
+ [ jsx ] : https://reactjs.org/docs/introducing-jsx.html
156
+ [ lorenzo sciandra ] : https://twitter.com/Kelset
157
+ [ {{technologies.react-native.codelicense }} ] : https://github.com/facebook/react-native/blob/main/LICENSE
158
+ [ ms rn ] : https://twitter.com/safaiyeh/status/1219294459298344961
159
+ [ pinterest rn ] : https://medium.com/pinterest-engineering/supporting-react-native-at-pinterest-f8c2233f90e6
160
+ [ platform controls] : ./platform-controls.md
161
+ [ react ] : https://reactjs.org/
162
+ [ react native ] : https://reactnative.dev
163
+ [ react native guide ] : https://www.reactnative.guide/3-react-native-internals/3.1-react-native-internals.html
164
+ [ react native reanimated ] : https://docs.swmansion.com/react-native-reanimated/docs/
165
+ [ rn desktop] : https://microsoft.github.io/react-native-windows/
166
+ [ rn code] : https://github.com/facebook/react-native
167
+ [ shopify rn ] : https://engineering.shopify.com/blogs/engineering/react-native-future-mobile-shopify
168
+ [ the new react native architecture explained: part three ] : https://formidable.com/blog/2019/fabric-turbomodules-part-3/
0 commit comments