Facebook-fans og app-utviklingsentusiaster kan til slutt glede seg over: selskapets mye hyped, og nylig annonserte, rammeprosjekt ble avduket i går på Facebooks F8 Developer Conference. Reager Native er en radikal avgang fra hvor mobil, UI app utvikling er vanligvis gjort.

Da dette open source-prosjektet ble annonsert, mottok det glade reaksjoner fra utviklere. React Native er en ny tilnærming fordi det tillater utviklere å skrive kode og deretter se på resultatene i løpet av få sekunder. Dette er selvsagt mer tiltalende for noen enn å først kompilere hele appen, som tradisjonelt sett, for å se utviklingsresultater.

Til tross for sin hype som en radikal endring i app-utviklingen, deler React Native noen likheter med konvensjonelle, beste praksis. For eksempel er det fortsatt basert på JavaScript, akkurat som andre hybridteknikker.

Men hvor dette app-bygningsramme er merkbart forskjellig, er det å fjerne en kryssplattformomslag. Dette er vanligvis hvor utviklere får tilgang til innfødte funksjoner på ulike enheter. I stedet oppfordrer React Native utviklere til å bruke JSX, som er en Facebook JavaScript-variant, til å "kroke" til innfødte widgets. Deretter kan utviklere få tilgang til appene nativt og observere den samme oppførelsen, utseendet, ytelsen og følelsen som "ekte" native apps.

Men hvis du tror at React Native er et fullverdig rammeverk for denne typen apputvikling, tenk igjen. Facebook liker å kaste oss en kurveball: Selskapet liker å referere til dette rammeverket som et verktøy som utviklere kan stole på å faktisk se apper bygget med Model View Controller-arkitekturen. Det er ingen overraskelse da Facebook allerede er hard på jobben og skaper ledsagere som Relé og GraphQL .

En ny designfilosofi

Poenget med React Native er at Facebook vil at designere skal tenke på appskaping på en helt ny måte. React Native gjør dette ved å introdusere et rammeverk som egentlig er basert på ideen om å "lære en gang" og "skrive hvor som helst." Med andre ord kan React Native gi apputviklere mulighet til å bli kjent med det og deretter ta den kunnskapen for å enkelt og effektivt utvikle seg Apper på forskjellige plattformer.

I teorien kan apputviklere lage en app for iOS og deretter bruke det de har lært i den prosessen for å utvikle og bygge en Android-app. I stedet for å bygge en app og deretter tilpasse den til ulike operativsystemer, gir React Native dem mulighet til å få kunnskap om rammen og bygge programmer på forskjellige plattformer fra bunnen av. Facebook mener at denne tilnærmingen vil gjøre hele app-utviklingsprosessen enklere og mer effektiv. Når alt kommer til alt, når utviklere kan lære React Native en gang, vil de alle være på samme side når de flytter fra ett operativsystem til det neste.

Før Android-utviklere begynner å bli for spente, er det en advarsel til denne nyheten, dessverre: For øyeblikket er Android-støtte ennå ikke tilgjengelig. React Native kan bare brukes med iOS, men Facebook jobber med Android-støtte mens jeg skriver; Følg med…

Opprinnelsen til React Native

Hvis du lurer på historien til dette rammeverket, går det tilbake til Facebooks React-teknologi , som er et JavaScript-bibliotek som er ment for oppretting av brukergrensesnitt. Det som er ganske bemerkelsesverdig om React, er at det har eksistert i under to år, selv om det allerede er blitt ganske populært på kort tid. Det som skiller seg fra, denne teknologien er hvordan den imøtekommer logikk og presentasjon samtidig, noe som er et annet dristig trekk på Facebooks del.

Reakteknologi er basert på kodeenheter som oppfører seg som klasser. Disse komponentene absorberer deretter data og lager HTML basert på nevnte data. Videre tilbyr enkelte komponenter også utviklere spesifikk funksjonalitet, noe som gjør at de kan brukes sammen for ulike prosjekter. Dette har den overordnede effekten av å fremme gjenbruk, så vel som å strømlinjeforme tenkningen bak programmeringslogikken.

Hva Facebook sier

Det er både nyttig og lærerikt å lese hva Facebook-folk sier om prosjektlanseringen. React native prosjektleder, Tom Occhino, skrev at rammen gir designere enestående frihet. Fremhever det faktum at komponentene er uavbruttte funksjoner som reflekterer hva utviklere ser på, understreket Occhino hvordan utviklere kan hoppe over det vanlige trinnet for lesing fra grunnleggende, gjengitt visning-implementering før du skriver til den.

På nettsiden React Native, påpekte Facebook også at designere har mulighet til å utnytte grunnleggende plattformskomponenter som UI Navigation Controller for IOS og UI Tab Bar. Som et resultat oppretter dette apper som har et jevnt utseende som er konsistent med hele plattformen. Det øker også baren når det gjelder kvalitet. Designere kan være glad for at komponentene er uten problemer inkludert i en app gjennom sine React Native-motpartskomponenter, nemlig Navigator IOS og Tab Bar IOS.

Første reaksjon på Facebooks nye rammeverk har vært generelt positivt, og det har hjulpet at positiv reaksjon kom fra folk som Mozilla utvikler James Long. Selvfølgelig, nå at React Native er allment tilgjengelig, vil bare tid fortelle hvordan det virkelig er mottatt. På dette punktet har reaksjonen vært ganske mye delt inn i to leirer: de som ønsker velkommen denne nyheten med våpen som er åpne og de som er skeptiske og til og med kritiske for denne ambisiøse endringen i apputviklingen fra Facebook.

Den store takeaway fra dette er hvordan Facebooks React Native ser ut til å forandre JavaScript-utviklingsbransjen, for bedre eller verre. Når du tar denne nyheten med NativeScript prosjekt fra Telerik ser det ut til at JavaScript-utviklere er inne for noen begivenheter.

For å høre Facebook setter det - og ja, vi er oppmerksomme på at de må toot sitt eget horn når de annonserer det nye prosjektets brede utgivelse - de er veldig entusiastiske om hva dette betyr for designindustrien. Occhino doblet ned på sprøytenarkomanen og fortalt verden hvordan "opphisset" selskapet har vært å lage React Native tilgjengelig for alle på GitHub og slipp det som et åpen kildekodeverktøy for iOS.

Han fortsatte å forsikre verden om at Android-støtten kommer snart - hvor snart er noen gjetning, skjønt - og at Facebook planlegger å beholde det med React for the Web-initiativet. Selskapets plan synes å ha vært å frigjøre iOS-støtten så tidlig som mulig for å samle så mye tilbakemelding som mulig fra tidlige brukere av dette rammeverket, og deretter ta den informasjonen og sett den til god bruk for Android-støtte nedover linjen.

Hva fremtiden bringer

Som med alle nye designutgivelser, blir tidlige adopsorer alltid påminnet om at det de får hånden på, er langt fra perfekt. Så når du eksperimenterer med React Native, ikke bli overrasket om noe heller ikke er implementert på den måten du tror det burde være, eller hvis noe er rett og slett som fungerer feil. I begge situasjoner har Facebook dekket deg fordi det inviterer alle tidlige brukere til å gi så mye tilbakemelding som mulig fra farten.