Wat is React Native?

Madelief

Wat is React Native

In frontend ontwikkeling is kennis van React momenteel één van de meest gezochte skills. Als je dan ziet dat er wordt gevraagd om kennis van React Native is het erg verleidelijk om aan te nemen dat React Native hetzelfde is als React. Maar niets is minder waar!

IN HET KORT: WAT IS REACT NATIVE?

React Native maakt gebruik van ReactJS, maar het is een compleet ander beestje. Meta (voorheen Facebook) ontwikkelde React Native als een open-source framework. Het doel was om applicaties te ontwikkelen voor het web, verschillende operating systems (mobiel, pc en tv), en om Virtual Reality applicaties te maken.

Om dit te bereiken gebruikte men tot kortgeleden een zogenaamde bridge die als vertaler tussen de JavaScript-code en het native systeem fungeert. Deze bridge optimaliseert de data die via JavaScript wordt doorgegeven en zet het om in JSON.

In maart 2022 verving men die bridge door de JavaScript Interface (JSI). De JSI is vergelijkbaar met de bridge, maar een groot verschil is dat de code niet langer wordt omgezet in JSON. In plaats daarvan vormt de JSI een laag die ervoor zorgt dat via de JavaScript Engine meteen de native code van het betreffende platform wordt opgeroepen. Het gebruik van de JSI in plaats van de bridge is (nog) niet verplicht en is beschikbaar via opt-in.

 

VOORDELEN 

Nu je weet wat dit framework is, wil je natuurlijk ook weten wat de voordelen zijn van dit framework. Laten we ze op een rijtje zetten:

  • Cross-platform: Met React Native hoef je geen aparte teams meer te hebben voor elk platform waarop een applicatie werkt. Met één codebase ondersteun je ze allemaal.
  • ReactJS: Omdat React Native gebruikmaakt van ReactJS, leren mensen met ervaring in ReactJS het framework eenvoudig.
  • Hot Reload: De applicatie herlaadt meteen bij het maken van veranderingen. De applicatie compileert niet eerst (opnieuw), waardoor je meteen verder kunt ontwikkelen en testen.
  • Onafhankelijkheid: Applicaties op iOS of Android ontvangen OTA (Over-The-Air) updates zonder tussenkomst van de App Store of Play Store. De controle blijft in eigen handen en bugs worden sneller verholpen omdat de update niet door het goedkeuringsproces van Apple of Android hoeft.
  • Uniformiteit: Met React Native zorg je ervoor dat de gebruikerservaring en de UI op elk platform of apparaat gelijk zijn. Of de applicatie nu wordt gebruikt op Android, iOS of het web, de ervaring blijft hetzelfde.
  • Support: Met een grote partij als Meta als ontwikkelaar van React Native, is uitgebreide support beschikbaar.

NADELEN

Nu we de positieve kant hebben uitgelicht is het ook goed om te kijken wat de mogelijke nadelen zijn.. Waar moet je rekening mee houden als je aan de slag gaat?

  • Snelheid: Applicaties die in native code worden geschreven voor Android (Java/Kotlin) of iOS (Swift) zijn nog altijd sneller dan React Native apps. Met Java, Kotlin en Swift kunnen hardware features van mobiele apparaten makkelijker worden aangesproken en gebruikt. Het interne communicatie-lijntje is net wat korter en effectiever en daardoor winnen native applicaties het van React Native.
  • Effectiviteit: In het verlengde van het voorgaande punt ligt de effectiviteit. Een groot nadeel is namelijk dat de prestaties aanzienlijk achteruit gaan als de applicatie groter en complexer wordt. Geen probleem voor kleine simpele applicaties, maar voor de groei van een applicatie kan dit schadelijk zijn. Ook de grootte van de applicaties zelf kan heel snel oplopen. Overigens zouden deze punten (deels) moeten worden verholpen door de nieuwe architectuur met de introductie van JSI. De auteur van deze blog kan echter nog niet bevestigen of ontkennen dat dit zo is.
  • Updaten: Het proces om een bestaande applicatie te updaten naar een nieuwere versie is helaas ook nog een complex proces.

WANNEER IS REACT NATIVE DE BESTE OPTIE?

Als  React Native bestudeerd, wordt het al vrij snel duidelijk wanneer dit framework de beste optie voor je isBouw je eenvoudige applicaties waarbij het belangrijk is om op verschillende apparaten dezelfde look en feel te behouden, dan is React Native mogelijk je allerbeste vriend.Ook als je een eenvoudige applicatie snel op de (verschillende) markten wilt hebben kies je voor deze techniek. Voor grote en complexe projecten is het voor nu nog even beter om naar andere frameworks te kijken.

Lijkt het jou tof om te werken met React Native, bekijk deze of andere frontend vacatures. Advies nodig? Laat je vrijblijvend adviseren door onze Consultants!

Neem contact op!