Ռեակտ Նեյթիվ

Ռեակտ Նեյթիվ (անգլ․՝ 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թ․

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

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

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