Teiesugused lugejad aitavad MUO-d toetada. Kui teete ostu meie saidil olevate linkide abil, võime teenida sidusettevõtte komisjonitasu.

React Native 0.70 on väljas ja Hermes on selle värskendusega uus JavaScripti vaikemootor. Siin on, mida oodata Hermeselt ja mõnelt funktsioonilt, mis mõjutavad teie rakenduse React Native jõudlust.

Mis on Hermes?

Hermes on avatud lähtekoodiga JavaScripti mootor, mis optimeerib jõudlust iOS-i ja Androidi ajal rakendus käivitub JavaScripti koodi eelkompileerimisega tõhusaks baitkoodiks ja rakenduse vähendamisega mälukasutus.

Vanemate Reacti algversioonide värskendamine Hermese toetamiseks

React Native'i rakendustes, mis töötavad versiooniga 0.70, on Hermes vaikimisi lubatud. Vanemate React Native'i rakenduste puhul tarnitakse Hermese järgus iga React Native'i versiooniga alates versioonist 0.60.4 Androidi versioonide jaoks ja versioonist 0.64.0 iOS-i jaoks. Sobivad versioonid välistavad teie React Native'i rakenduse sõltuvuse mittevastavuse ohu.

Hermese lubamiseks nendes React Native'i vanemates versioonides peate lisama nii Androidi kui ka iOS-i rakendustele konfiguratsiooni.

Androidis muutke oma android/app/build.gradle fail:

project.ext.react = [
kirjefail: "index.js",
lubage Hermes: tõsi// puhastada ja muutmise korral uuesti ehitada
]

iOS-is teete järgmised muudatused ios/Podfile:

use_react_native!(
:path => config[:reactNativePath],
:hermes_enabled => tõsi
)

iOS nõuab pärast seadete konfigureerimist Hermes podide installimist.

Podide installimiseks käivitage järgmine käsk:

cd ios && pod install

Hermese lubamine Expoga

Saate kasutada ka Hermesi mootorit React Native'i rakenduste jaoks, mis on ehitatud või käitatud Expo abil. Expo teek toetab Hermesi SDK versioonist 42 Androidis ja SDK versioonist 43 iOS-is kuni praeguse versioonini 0.70. Oluline on märkida, et eraldiseisvad rakendused ei saa Hermesit käitada, kui need pole loodud Expo Application Services Buildi abil.

Hermese lubamiseks React Native'i rakenduses muutke oma app.json fail:

{
"ekspo": {
"jsMootor": "hermes"
}
}

Nüüd on teie Expo Application Servicesiga loodud rakendusel JavaScripti mootorina lubatud Hermes.

Hermesi toimivuse optimeerimine Reacti kohalike rakenduste jaoks

Enamik JavaScripti mootoreid sõeluvad kogu JavaScripti lähtekoodi JIT (Just in Time) kompileerimissüsteemi abil. JIT-süsteem aeglustab täitmist, kuna teie seade peab ootama, kuni kogu kompileerimisprotsess lõpeb. Hermes kasutab ennetähtaegse kompileerimise (AOT) lähenemist, kandes suurema osa raskeveokite JavaScripti mootori tööst üle ehitamise ajale.

Hermes mõjutab peamiselt kolme rakenduse jõudluse mõõdikut: rakenduse TTI (Time to Interactive), binaarsuurust ja mälukasutust.

Aeg interaktiivseks

TTI on aeg, mis kulub rakendusel laadimiseks ja kasutaja interaktsiooni (nt kerimise või tippimise) toetamiseks. Hermes parandab React Native'i rakenduste keskmist TTI-d võrreldes teiste JavaScripti mootoritega.

See TTI vähenemine tuleneb sellest, et Hermes ei käita JIT-kompilaatorit.

Binaarne suurus

Binaarne suurus on komplekteeritud React Native rakenduse suurus. Androidi rakendused kasutavad APK failivorming, samas kui iOS-i rakendused kasutavad vormingut, mida Apple nimetab IPA-ks. Hermese kasutamine vähendab oluliselt rakenduse mahtu Android-seadmetes.

Mälu kasutamine

Mälukasutus on veel üks kriitiline mõõdik, mida rakendustes optimeerida. Kui see kasutab liiga palju mälu, mõjutab see negatiivselt rakenduse kasutajakogemust. Hermes rakendab prügikogumissüsteemi, mis reguleerib mälukasutust nõudmisel, tagades, et rakendus kasutab töötamise ajal ainult vajalikku mäluruumi.

Hermes pakub Expo abil emulaatoris, simulaatoris või füüsilises seadmes töötavate React Native'i rakenduste silumiseks uut kogemust. Hermes toetab React Native'i rakenduste silumist, kasutades Chrome DevToolsi inspektori protokolli. Te ei tohiks seda segi ajada traditsioonilisega JavaScripti silumine brauseri konsooli abil.

Chrome'i konfigureerimiseks Hermesi rakendusi siluma järgige neid samme.

  1. Navigeerige chrome://inspect Chrome'i brauseris.
  2. Klõpsake nuppu Seadistage nuppu.
  3. Sisestage ekraanil kuvatavas modaalis teie React Native'i rakendust käitava metroo komplekteerija serveri aadress ja klõpsake Valmis.

Nüüd saate oma React Native'i rakendust siluda, kasutades Hermesi sihtkontrolli linki.

Miks on Hermes optimeeritud ainult React Native jaoks?

Hermese optimaalne jõudlus React Native JavaScripti mootorina on osaliselt tingitud selle käituskeskkonnast. React Native'is koondate kogu JavaScripti koodi rakenduskeskkonnas. See süsteem muudab baitkoodi saatmise tõhusaks.

Teine tegur, mida tuleb arvestada, on JavaScripti koostamisel tehtud töö maht. Hermes haldab mobiilirakenduste sagedast kasutajasuhtlust, vältides samal ajal agressiivset baitkoodi optimeerimist. JIT-i kompilaatori JavaScripti mootor ei täidaks sel viisil ülesandeid.