React Native

React Native on avatud lähtekoodiga mobiilirakenduste raamistik, mille on loonud Facebook. Sellega on võimalik luua mobiilirakendusi platvormidele Android, iOS, Web ja UWP ning arendajatel on võimalik kasutada Reacti ja Native'i programmeerimiskeele funktsioone. Samuti eksisteerib ka Qt jaoks mittetäielik port.

Ajalugu 
Aastal 2012 kommenteeris Mark Zuckerberg: "HTML5 eelistamine Native keelele oli suurim viga, mida tema firma tegi." Ta lubas, et Facebook annab välja parema lahenduse mobiilsete kasutajakogemuste jaoks.

Facebookis töötav Jordan Walke leidis mooduse, kuidas taustal töötavast JavaScripti lõimest genereerida iOS-i jaoks kasutajaliidese elemente. Facebook otsustas korraldada firmasisese häkatoni, et täiustada oma prototüüpi, millel oleks võimekus ehitada Native'i rakendusi.

Pärast kuudepikkust arendust andis Facebook välja esimese React Native'i versiooni aastal 2015. Tehnilise tutvustuse ajal  selgitas Christopher Chedeau, et Facebook kasutab React Native'it oma grupi rakenduses ja Ads Manageri rakenduses.

Teostus 
React Native töötab väga sarnaselt Reactiga. Erinevus seisneb selles, et React Native ei kontrolli DOM-i virtuaalse DOM-i kaudu, vaid jookseb tausta protsessis otse lõppseadmesse ja suhtleb selle seadme Native platvormiga.

See võimaldab kirjutada oma rakenduse ning käitada seda eri platvormidel (Android, iOS). Selle kaudu on võimalik kirjutada rakendusi palju kiiremini, õppides ära ainult React Native'i, mitte mitut erinevat Native'i keelt.

React Native ei kasuta üldse HTML-i. Selle asemel kasutatakse ära info liikumisi JavaScripti lõimes, et kontrollida Native vaateid. Võrreldes Native rakendustega on väikeste muudatuste tegemine ja projekti uuesti ehitamine React Native'is muutunud palju kiiremaks.

Piisab ainult koodifaili salvestamisest ja uuendamisest ning muudatused saadetakse kohe Native'i platvormile. Komponente ja kasutajaliidese elemente on võimalik vastavalt platvormile visuaalselt isikupärastada.

"Hello, world!" 
Programmi "Hello, world!" näide:

Viited 

Facebook
Mobiilitarkvara