**Ռեակտ Նեյթիվ** (անգլ․՝ React Native), բաց կոդով միջպլատֆորմային ծրագրային ապահովում՝JavaScript-ում և TypeScript-ում բջջային և համակարգչային ծրագրեր մշակելու համար, որը ստեղծվել է Facebook, Inc-ի կողմից։ React Native-ը թույլ է տալիս ծրագրավորողներին օգտագործել React գրադարանի հնարավորությունները բրաուզերից դուրս՝  համակարգի API հարթակին լիարժեք մուտք ունեցող ծրագրեր գրելիս։

Պատմություն
-----------

2012 թ.-ին Մարկ Ցուկերբերգն ասել է․ "Ամենամեծ սխալը, որը մենք թույլ ենք տվել՝ որպես ընկերություն, HTML-ի վրա չափազանց մեծ խաղադրույք կատարելն էր՝ native-ի փոխարեն"։ Օգտագործելով HTML5-ը Facebook-ի բջջային տարբերակի համար՝ այն դարձել էր անկայուն ծրագիր, որը դանդաղ էր աշխատում տվյալների հետ։ Ուստի Մարկ Ցուկերբերգը խոսք տվեց, որ շուտով Facebook-ը կտրամադրի բարելավված բջջային հնարավորություններ։

Facebook-ի աշխատակիցներից մեկը՝ Ջորդան Ուոլքը (անգլ․՝ Jordan Walke), գտավ iOS համակարգի համար ֆոնային JavaScript-ի կատարման հոսքից UI տարրեր ստեղծելու միջոց, որոնք դարձան React web framework-ի հիմքը։

Ամիսներ շարունակ ծրագրավորումից հետո՝ 2015թ․-ին Facebook-ը ներկայացրեց React JavaScript Configuration-ի առաջին տարբերակը։ Իր խոսքումՔրիստոդեր Չեդոն (անգլ․՝ Christopher Chedeau) բացատրեց, որ Facebook-ը արդեն իսկ օգտագործում էր React Native-ը արտադրության մեջ՝ իրենց Group App-ի և Ads Manager App-ի համար։

Գործառություն
-------------

React Native-ը աշխատում է մի շարք համակարգերում, որոնց թվում են՝ Android, Android TV, iOS, macOS, Apple tvOS, Web, Windows և UWP։ Այն նաև օգտագործվում է վիրտուալ իրականության ծրագրեր գրելու համար՝ Oculus-ում։

Գործնականում React Native-ի աշխատանքի սկզբունքները նույնական են React-ին, բացառությամբ, որ React Native-ը չի շահարկում DOM-ը Virtual DOM-ի միջոցով։ Այն աշխատում է ֆոնային գործընթացում` ուղղակիորեն վերջնական սարքի վրա, և հաղորդակցվում է բնիկ հարթակի հետ` սերիականացված տվյալների միջոցով։

Թեև React Native-ի ոճը նման է CSS-ի շարահյուսությանը, այն չի օգտագործում HTML կամ CSS: Փոխարենը, JavaScript-ի thread-ի հաղորդագրություններն օգտագործվում են բնիկ դիտումները շահարկելու համար։

React Native-ը նաև թույլ է տալիս ծրագրավորողներին գրել native code այնպիսի լեզուներով, ինչպիսիք են Java-ն կամ Kotlin-ը՝ Android-ի, Objective-C կամ Swift-ը՝ iOS-ի և C++/WinRT կամ C#-ը՝ Windows 10-ի համար, ինչն էլ ավելի ճկուն է դարձնում այն։

Microsoft-ը շարունակում է բարելավվել և պահպանել աջակցությունը React Native for Windows-ի և React Native for macOS-ի համար։

### «Hello World» ծրագրի օրինակ

Hello, World ծրագրի օրինակը React Native-ում նման է հետևյալին՝

```
import { AppRegistry, Text } from 'react-native';
import \* as React from 'react';

const HelloWorldApp = () => {
 return <Text>Hello world!</Text>;
}

export default HelloWorldApp;

AppRegistry.registerComponent('HelloWorld', () => HelloWorldApp);

```

Տես Նաև
-------

* Mobile development framework
* NativeScript
* Apache Cordova
* Flutter (software)

Գրականություն
-------------

* *Բոնի Էյզենման,* Learning React Native: Building Native Mobile Apps with JavaScript, Դեկտեմբերի 3, 2015թ.
* *Ռոյ Դերքս, Ադամ Բոդուհ,* React and React Native: A Complete Hands-on Guide to Modern Web and Mobile Development with React.js, 3rd Edition, Ապրիլի 20, 2020թ․
* *Նադեր Դաբիթ,* React Native in Action: Developing IOS and Android Apps with JavaScript, Մարտի 7, 2019թ․
* *Ադամ Բոդուհ,* React and React Native, Փետրվարի 7, 2017թ․
* *Frank W. Zammetti,* Practical React Native: Build Two Full Projects and One Full Game Using React Native, Նոյեմբերի 12, 2018թ․

Ծանոթագրություններ
------------------

1. ↑  «1. What Is React Native? - Learning React Native [Book]»։ *www.oreilly.com* (անգլերեն)։ Վերցված է 2021-10-23
2. ↑  «React Native for Android: How we built the first cross-platform React Native app»։ *Facebook Engineering* (en-US)։ 2015-09-14։ Վերցված է 2021-10-23
3. ↑  «React Native · Learn once, write anywhere»։ *reactnative.dev* (անգլերեն)։ Վերցված է 2021-10-23
4. ↑  «React Native for Windows + macOS · Build native Windows & macOS apps with Javascript and React»։ *microsoft.github.io*։ Վերցված է 2021-10-23
5. ↑  Gallagher, Nicolas (2021-10-23), *React Native for Web*, վերցված է 2021-10-23

Արտաքին Հղումներ
----------------

* React Native Dev
* Orielly, Chapter 1: What is React Native?
* React Native Tutorial for Beginners - Build a React Native App [2020]