Տեսակ | JavaScript framework? և ծրագրային ապահովում |
---|---|
Առաջացել է | 2015 |
Ստեղծող | Meta Platforms |
ՕՀ | բազմապլատֆորմ |
Ներշնչվել է | React |
Արտոնագիր | MIT արտոնագիր[1] |
Կայք | reactnative.dev և github.com/facebook/react-native#readme |
Ելակոդ | github.com/facebook/react-native |
Ռեակտ Նեյթիվ (անգլ․՝ React Native), բաց կոդով միջպլատֆորմային ծրագրային ապահովում՝JavaScript-ում և TypeScript-ում բջջային և համակարգչային ծրագրեր մշակելու համար, որը ստեղծվել է Facebook, Inc-ի կողմից[2]։ 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[3], Android TV[4], iOS, macOS[5], Apple tvOS, Web[6], 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 ծրագրի օրինակը 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);