2min

Facebook heeft JavaScript-engine Hermes beschikbaar gemaakt op GitHub, zodat iedere ontwikkelaar het kan gebruiken. De engine moet grote applicaties op Android-apparaten optimaliseren, meldt VentureBeat.  

De introductie van de nieuwe JavaScript-engine is de laatste in een reeks open-source activiteiten van Facebook. Mobiele apps worden steeds groter, wat problemen kan opleveren voor bijvoorbeeld  apparaten met beperkte opslagruimte of rekenkracht. Dit is een van de redenen waarom veel grote bedrijven, waaronder Spotify, Uber en Facebook zelf, de lite-versies van hun apps hebben gelanceerd. Het ontwikkelen van een eigen engine zou dit probleem vanaf een andere kant aanpakken door de apps beter te laten draaien en de downloadgrootte te verminderen doordat de engine geoptimaliseerd is.

Facebook was dit dus al eerder van plan met zijn apps, waarvan de engine nu beschikbaar is. “Om de prestaties van de apps van Facebook te verbeteren, hebben we teams die onze JavaScript-code en -platforms voortdurend verbeteren”, schrijft het bedrijf in een blogbericht. “Toen we de prestatiegegevens van onze apps analyseerden, merkten we dat de JavaScript-engine zelf een belangrijke factor was in de opstartprestatie en downloadgrootte. Door deze gegevens wisten we dat we de JavaScript-prestaties moesten optimaliseren in relatie met de beperkingen van een mobiele telefoon, in plaats van een desktop of laptop”.

React Native

Volgens Facebook helpt Hermes bij het verbeteren van drie belangrijke eigenschappen: time-to-interact (TTI), de tijd van het starten van een app tot aan het moment dat deze volledig geladen en bruikbaar wordt, de downloadgrootte bij het Android .APK-formaat en het geheugengebruik. De voordelen die de engine biedt zou kunnen leiden tot een heropleving van React Native, een mobiel app-framework dat al in 2015 door Facebook is geïntroduceerd, maar tot nog toe niet erg goed werd ontvangen. Een reden hiervoor was onder andere dat native code nog steeds vereist was voor specifieke functies in apps. Hierdoor moesten ontwikkelaars steeds hun native code aan React Native verbinden.