Facebookfans en liefhebbers van app-ontwikkeling kunnen eindelijk blij zijn: het veel gehypte en onlangs aangekondigde framework-project van het bedrijf werd gisteren onthuld op Facebook's F8 Developer Conference. Reageer Native is een radicale afwijking van hoe de ontwikkeling van mobiele UI-apps gewoonlijk wordt uitgevoerd.

Toen dit opensourceproject voor het eerst werd aangekondigd, kreeg het enthousiaste reacties van ontwikkelaars. React Native is een nieuwe benadering omdat het ontwikkelaars toestaat om code te schrijven en vervolgens in een paar seconden naar de resultaten te kijken. Dit is natuurlijk aantrekkelijker voor sommigen dan dat je eerst de hele app opnieuw moet compileren, zoals traditioneel het geval is, om ontwikkelingsresultaten te zien.

Ondanks zijn hype als een radicale verandering in de ontwikkeling van apps, heeft React Native enkele overeenkomsten met conventionele, best practices. Het is bijvoorbeeld nog steeds gebaseerd op JavaScript, net als andere hybride technieken.

Waar dit app-opbouwende framework echter duidelijk anders is, is het verwijderen van een cross-platform-wrapper. Dit is meestal waar ontwikkelaars native functies op verschillende apparaten gebruiken. In plaats daarvan moedigt React Native ontwikkelaars aan om JSX, een Facebook JavaScript-variant, te gebruiken om te "hooken" met native widgets. Vervolgens kunnen ontwikkelaars native toegang krijgen tot de apps en hetzelfde gedrag, uiterlijk, prestaties en gevoel als 'echte' native apps waarnemen.

Maar als je denkt dat React Native een volledig kader is voor dit soort app-ontwikkeling, denk dan nog eens goed na. Facebook geeft ons graag een curveball: het bedrijf verwijst graag naar dit framework als een hulpmiddel waarop ontwikkelaars kunnen vertrouwen om daadwerkelijk apps te zien die zijn gebouwd met de Model View Controller-architectuur. Het is dan ook geen verrassing dat Facebook al druk bezig is met het maken van begeleidende tools zoals Relay en GraphQL .

Een nieuwe ontwerpfilosofie

Het punt van React Native is dat Facebook wil dat ontwerpers nadenken over app-creatie op een hele nieuwe manier. React Native doet dit door een raamwerk te introduceren dat echt gebaseerd is op het idee van "eenmalig leren" en "overal schrijven." Met andere woorden, React Native kan app-ontwikkelaars de mogelijkheid geven om ermee vertrouwd te raken en vervolgens die kennis gemakkelijk en efficiënt ontwikkelen apps op verschillende platforms.

In theorie kunnen app-ontwikkelaars een app voor iOS maken en vervolgens gebruiken wat ze in dat proces hebben geleerd om behendig een Android-app te ontwikkelen en te bouwen. In plaats van een app te bouwen en vervolgens aan te passen aan verschillende besturingssystemen, stelt React Native hen in staat hun kennis van het framework op te nemen en apps vanaf het begin op verschillende platforms te bouwen. Facebook gelooft dat deze aanpak het hele app-ontwikkelingsproces eenvoudiger en effectiever zal maken. Immers, wanneer ontwikkelaars React Native eenmaal kunnen leren, zullen ze allemaal op dezelfde pagina staan ​​als ze van het ene besturingssysteem naar het andere gaan.

Voordat Android-ontwikkelaars te enthousiast beginnen te worden, is helaas een voorbehoud bij dit nieuws: Android-ondersteuning is momenteel nog niet beschikbaar. React Native kan alleen met iOS worden gebruikt, maar Facebook werkt op Android-ondersteuning terwijl ik schrijf; blijf kijken…

De oorsprong van React Native

Als je je afvraagt ​​over de geschiedenis van dit raamwerk, gaat het terug naar Facebook's React-technologie , een JavaScript-bibliotheek die is bedoeld voor het maken van gebruikersinterfaces. Wat opmerkelijk is aan React, is dat het al bijna twee jaar bestaat, hoewel het in die korte tijd al behoorlijk populair is geworden. Wat deze technologie onderscheidt, is hoe deze tegelijkertijd logica en presentatie accommodeert, wat een andere gewaagde zet is op Facebook.

React-technologie is gebaseerd op code-eenheden die zich als klassen gedragen. Deze componenten absorberen vervolgens gegevens en creëren HTML op basis van de genoemde gegevens. Bovendien bieden afzonderlijke componenten zelfs ontwikkelaars specifieke functionaliteit, waardoor ze samen voor verschillende projecten kunnen worden gebruikt. Dit heeft het algemene effect van het bevorderen van hergebruik en het stroomlijnen van het denken achter programmeerlogica.

Wat Facebook zegt

Het is zowel nuttig als leerzaam om te lezen wat de Facebook-mensen zeggen over hun projectlancering. React Native projectleider, Tom Occhino, schreef dat het raamwerk ontwerpers ongekende vrijheid biedt. Met de nadruk op het feit dat de componenten ononderbroken functies zijn die weerspiegelen waar ontwikkelaars naar kijken, benadrukte Occhino hoe ontwikkelaars de gebruikelijke stap van het lezen van de basisweergave met gerenderde weergave kunnen overslaan voordat ze er naartoe schrijven.

Op de React Native website wees Facebook er ook op dat ontwerpers gemachtigd zijn om fundamentele platformcomponenten zoals UI Navigation Controller voor iOS en UI Tab Bar te gebruiken. Hierdoor worden apps gemaakt met een uniform uiterlijk en gevoel dat consistent is met het volledige platform. Het verhoogt ook de lat in termen van kwaliteit. Ontwerpers kunnen blij zijn dat componenten moeiteloos in een app worden opgenomen via hun tegenhangercomponent React Native, namelijk Navigator IOS en Tab Bar IOS.

De eerste reactie op het nieuwe kader van Facebook was over het algemeen positief, en het heeft geholpen dat positieve reactie kwam van mensen zoals Mozilla-ontwikkelaar James Long. Natuurlijk, nu React Native overal beschikbaar is, zal alleen de tijd vertellen hoe het echt wordt ontvangen. Op dit punt is de reactie vrijwel verdeeld in twee kampen: degenen die dit nieuws met open armen ontvangen en degenen die sceptisch zijn en zelfs kritisch staan ​​tegenover deze ambitieuze verandering in app-ontwikkeling van Facebook.

De grote afhaalbaarheid hiervan is hoe Facebook's React Native de ontwikkeling van JavaScript-ontwikkelingen aanzienlijk wil verbeteren, voor beter of slechter. Wanneer u dit nieuws neemt met de NativeScript-project van Telerik, het lijkt er zeker op dat JavaScript-ontwikkelaars enkele spannende tijden in de weg zitten.

Om Facebook te horen zeggen - en, ja, we zijn ons bewust van het feit dat ze hun eigen toeter moeten gebruiken bij het aankondigen van de brede release van hun nieuwe project - ze zijn erg enthousiast over wat dit betekent voor de ontwerpindustrie. Occhino dubbelde op de hype en vertelde de wereld hoe 'enthousiast' het bedrijf was om React Native beschikbaar te maken voor iedereen op GitHub en het uit te geven als een open-source tool voor iOS.

Hij ging door om de wereld gerust te stellen dat Android-ondersteuning binnenkort komt - hoe snel is er toch iemand gissing - en dat Facebook van plan is om dit te blijven doen met het React voor het Web-initiatief. Het plan van het bedrijf lijkt om iOS-ondersteuning zo vroeg mogelijk vrij te geven om zoveel mogelijk feedback van vroege gebruikers van dit framework te verzamelen en vervolgens die informatie te gebruiken en goed te gebruiken voor Android-ondersteuning langs de lijn.

Wat de toekomst in petto heeft

Zoals met alle nieuwe ontwerpreleases, worden early adoptors er altijd aan herinnerd dat wat ze in handen krijgen, verre van perfect is. Dus als je aan het experimenteren bent met React Native, wees dan niet verbaasd als iets nog niet is geïmplementeerd zoals je denkt dat het zou moeten zijn of als er iets niet goed werkt. In beide situaties, Facebook heeft je gedekt omdat het alle vroege gebruikers uitnodigt om zoveel mogelijk feedback te geven vanaf het begin.