Facebook-fans och app-utvecklingsentusiaster kan äntligen glädjas: företagets mycket hyped och nyligen tillkännagede ramprojekt presenterades igår på Facebook: s F8 Developer Conference. React native är en radikal avvikelse från hur mobil, UI app utveckling är vanligtvis gjort.

När det här öppna källprojektet först annonserade, fick det glada reaktioner från utvecklare. React Native är ett nytt tillvägagångssätt, eftersom det gör att utvecklare kan skriva kod och sedan titta på resultaten på några sekunder. Det här är naturligtvis mer tilltalande för någon än att först kompilera hela appen, som traditionellt sett, för att se utvecklingsresultat.

Trots sin hype som en radikal förändring av apputveckling delar React Native vissa likheter med konventionella, bästa praxis. Till exempel är det fortfarande baserat på JavaScript, precis som andra hybridtekniker.

Men där den här app-byggnadsramen är markant annorlunda är dess borttagning av en plattformsförpackning. Det är vanligtvis där utvecklare har tillgång till inbyggda funktioner på olika enheter. I stället uppmuntrar React Native utvecklare att använda JSX, som är en Facebook JavaScript-variant, att "krok" till inbyggda widgets. Därefter kan utvecklare komma åt programmen individer och observera samma beteende, utseende, prestanda och känsla som "sanna" inhemska appar.

Men om du tycker att React native är en fullfjädrad ram för denna typ av apputveckling, tänk igen. Facebook gillar att kasta oss en curveball: Företaget tycker om att referera till denna ram som ett verktyg som utvecklare kan lita på att faktiskt se appar som byggts med Model View Controller-arkitekturen. Det är ingen överraskning då Facebook redan är hård på jobbet och skapar kompanionsverktyg som Relä och GraphQL .

En ny designfilosofi

Poängen med React Native är att Facebook vill att designers tänker på skapandet av appar på ett helt nytt sätt. React Native gör det genom att införa en ram som verkligen bygger på tanken att "lära sig en gång" och "skriva var som helst." Med andra ord kan React Native ge apputvecklare möjlighet att bekanta sig med det och sedan ta den kunskapen för att enkelt och effektivt utveckla appar på olika plattformar.

I teorin kan apputvecklare skapa en app för iOS och sedan använda vad de har lärt sig i den processen för att utveckla och bygga en Android-app. I stället för att bygga en app och sedan anpassa den till olika operativsystem tillåter React Native dem att ta del av sina kunskaper om ramverket och bygga program på olika plattformar från början. Facebook anser att detta tillvägagångssätt kommer att göra hela app-utvecklingsprocessen enklare och effektivare. När allt kommer omkring, när utvecklare kan lära sig React Native en gång, kommer de alla att vara på samma sida när de flyttar från ett operativsystem till nästa.

Innan Android-utvecklarna börjar bli alltför upphetsade, är det ett tillvägagångssätt för dessa nyheter, tyvärr: Just nu är Android-support ännu inte tillgängligt. React Native kan bara användas med iOS, men Facebook arbetar med Android-support när jag skriver; håll dig stämd ...

Ursprunget till React native

Om du undrar om historien om denna ram går den tillbaka till Facebook React-teknik , vilket är ett JavaScript-bibliotek som är avsett för att skapa användargränssnitt. Det som är ganska anmärkningsvärt om React är att det har funnits under knappt två år, men det har redan blivit ganska populärt under den korta tiden. Vad som skiljer sig från denna teknik är hur det rymmer logik och presentation samtidigt, vilket är ett annat djärvt drag på Facebooks del.

Reaktionstekniken är grundad på kodenheter som beter sig som klasser. Dessa komponenter absorberar sedan data och skapar HTML baserat på nämnda data. Vidare erbjuder enskilda komponenter även utvecklare specifik funktionalitet, vilket gör att de kan användas tillsammans för olika projekt. Detta har den övergripande effekten av att främja återanvändning samt effektivisera tanken bakom programmeringslogiken.

Vad Facebook säger

Det är både användbart och lärorikt att läsa vad Facebook-personerna säger om deras projektlansering. React native projektledare, Tom Occhino, skrev att ramverket ger designers en aldrig tidigare skådad frihet. Med tanke på att dess komponenter är oavbrutna funktioner som återspeglar vilka utvecklare tittar på, betonade Occhino hur utvecklarna kan hoppa över det vanliga läsningssteget från den grundläggande implementeringen utan att skriva till den.

På den React native-webbplatsen påpekade Facebook också att designers har befogenhet att använda grundläggande plattformskomponenter som UI Navigation Controller för IOS och UI Tab Bar. Som ett resultat skapar detta appar som har en enhetlig utseende som överensstämmer med hela plattformen. Det höjer också baren när det gäller kvalitet. Designers kan vara glada att komponenterna enkelt ingår i en app via deras React native-komponentkomponenter, det vill säga Navigator IOS och Tab Bar IOS.

Initial reaktion på Facebook: s nya ramverk har varit generellt positiv, och det har hjälpt till att positiv reaktion kom från människor som Mozilla utvecklare James Long. Självklart, nu som React Native är allmänt tillgänglig, kommer bara tiden att berätta hur det verkligen mottagits. Vid denna tidpunkt har reaktionen varit ganska indelad i två läger: de som välkomnar den här nyheten med öppna vapen och de som är skeptiska och till och med kritiska för denna ambitiösa förändring av apputveckling från Facebook.

Den stora takeawayen från detta är hur Facebooks React Native ser ut att väsentligt förändra JavaScript-utvecklingsbranschen, för bättre eller sämre. När du tar denna nyhet med NativeScript-projektet från Telerik verkar det verkligen som att JavaScript-utvecklare är inne för några händelserika tider.

För att höra Facebook sätta det - och ja, vi är medvetna om att de måste toot sitt eget horn när de meddelar sitt nya projektets stora utgåva - de är mycket entusiastiska över vad det betyder för designbranschen. Occhino fördubblades på hype och berättade för världen hur "upphetsad" företaget har gjort React Native tillgängligt för alla på GitHub och släppt det som ett open-source-verktyg för iOS.

Han fortsatte att försäkra världen om att Android-support kommer snart - hur snart är någons gissning, men -och Facebook planerar att fortsätta med React for the Web-initiativet. Företagets plan verkar ha varit att frigöra iOS-support så tidigt som möjligt för att samla in så mycket feedback som möjligt från tidiga användare av denna ram och sedan ta den informationen och använda den till bra hjälp för Android-stöd nerför linjen.

Vad framtiden har att erbjuda

Som med alla nya designutgåvor, är tidiga adopterare alltid påminde om att vad de tar hand om är långt ifrån perfekt. Så när du experimenterar med React Native, bli inte förvånad om någonting inte har implementerats på ett sätt som du tycker att det borde vara eller om något är rättvist att fungera felaktigt. I båda situationer har Facebook täckt dig eftersom det uppmanar alla tidiga användare att ge så mycket feedback som möjligt från start.