Tokie skaitytojai kaip jūs padeda palaikyti MUO. Kai perkate naudodami nuorodas mūsų svetainėje, galime uždirbti filialų komisinius.

Išleista „React Native 0.70“, o „Hermes“ yra naujas numatytasis „JavaScript“ variklis, pristatomas kartu su šiuo atnaujinimu. Štai ko tikėtis iš „Hermes“ ir kai kurių funkcijų, kurios turės įtakos jūsų „React Native“ programos veikimui.

Kas yra Hermesas?

„Hermes“ yra atvirojo kodo „JavaScript“ variklis, optimizuojantis našumą naudojant „iOS“ ir „Android“. programa paleidžiama iš anksto sukompiliuojant „JavaScript“ kodą į efektyvų baitinį kodą ir sumažinant taikomąją programą atminties naudojimas.

Atnaujinkite senesnes „React“ vietines versijas, kad palaikytumėte „Hermes“.

„React Native“ programose, veikiančiose 0.70, pagal numatytuosius nustatymus bus įjungtas „Hermes“. Senesnėms „React Native“ programoms „Hermes“ versija pristatoma su kiekviena „React Native“ versija, pradedant nuo 0.60.4 versijos, skirtos „Android“ versijos, ir 0.64.0, skirtos „iOS“. Atitinkamos versijos pašalina jūsų „React Native“ programos priklausomybės neatitikimo riziką.

instagram viewer

Norėdami įgalinti „Hermes“ šiose senesnėse „React Native“ versijose, turėsite pridėti tam tikrą „Android“ ir „iOS“ programų konfigūraciją.

Jei naudojate „Android“, redaguokite savo android/app/build.gradle failas:

project.ext.react = [
įrašo failas: "index.js",
įgalinti Hermes: tiesa// išvalykite ir pakeiskite iš naujo
]

Jei naudojate „iOS“, turite atlikti toliau nurodytus pakeitimus „ios“ / „Podfile“.:

use_react_native!(
:path => config[:reactNativePath],
:hermes_enabled => tiesa
)

„iOS“ reikalauja, kad sukonfigūravus nustatymus įdiegtumėte „Hermes pods“.

Vykdykite šią komandą, kad įdiegtumėte ankštis:

cd ios && pod įdiegti

„Hermes“ įgalinimas naudojant „Expo“.

Taip pat galite naudoti „Hermes“ variklį „React Native“ programoms, sukurtoms arba paleistoms naudojant „Expo“. „Expo“ biblioteka palaiko „Hermes“ nuo 42 SDK versijos „Android“ ir SDK 43 versijos „iOS“ iki dabartinės 0.70 versijos. Svarbu pažymėti, kad atskiros programos negali paleisti „Hermes“, nebent jos sukurtos naudojant „Expo Application Services Build“.

Norėdami įjungti „Hermes“ programoje „React Native“, redaguokite savo app.json failas:

{
"paroda": {
"jsVariklis": "hermes"
}
}

Dabar jūsų programoje, sukurtoje naudojant „Expo Application Services“, bus įjungtas „Hermes“ kaip „JavaScript“ variklis.

„Hermes“ našumo optimizavimas „React“ vietinėms programoms

Dauguma „JavaScript“ variklių analizuoja visą „JavaScript“ šaltinio kodą naudodami JIT (Just in Time) kompiliavimo sistemą. JIT sistema sulėtina vykdymą, nes jūsų įrenginys turi palaukti, kol bus baigtas visas kompiliavimo procesas. „Hermes“ naudoja išankstinio kompiliavimo (AOT) metodą, perkeldamas didžiąją dalį sunkaus „JavaScript“ variklio darbo į kūrimo laiką.

„Hermes“ daugiausia paveikia tris programos našumo metriką: programos TTI (laiką iki interaktyvumo), dvejetainį dydį ir atminties naudojimą.

Laikas interaktyviai

TTI – tai laikas, per kurį programa įkeliama ir palaikoma vartotojo sąveika, pvz., slinkimas ar spausdinimas. „Hermes“ pagerina vidutinį „React Native“ programų TTI, palyginti su kitais „JavaScript“ varikliais.

Šis TTI sumažinimas atsirado dėl to, kad Hermes nepaleidžia JIT kompiliatoriaus.

Dvejetainis dydis

Dvejetainis dydis yra susietos „React Native“ programos dydis. Android programos naudoja APK failo formatas, o iOS programos naudoja formatą, kurį Apple vadina IPA. Naudojant „Hermes“ žymiai sumažėja programos dydis „Android“ įrenginiuose.

Atminties naudojimas

Atminties naudojimas yra dar viena svarbi metrika, kurią reikia optimizuoti programose. Programos naudotojo patirtis neigiamai paveiktų, jei ji naudos per daug atminties. „Hermes“ įdiegia šiukšlių rinkimo sistemą, kuri pagal poreikį reguliuoja atminties naudojimą, užtikrindama, kad programa naudotų tik reikiamą atminties vietą veikiant.

„Hermes“ pristato naują „React Native“ programų, veikiančių emuliatoriuje, simuliatoriuje ar fiziniame įrenginyje, derinimo patirtį naudojant „Expo“. „Hermes“ palaiko „React Native“ programų derinimą naudojant „Chrome DevTools“ inspektoriaus protokolą. Jūs neturėtumėte to painioti su tradiciniu „JavaScript“ derinimas naudojant naršyklės konsolę.

Norėdami sukonfigūruoti „Chrome“ derinti „Hermes“ programas, atlikite šiuos veiksmus.

  1. Eikite į chrome://apžiūrėti „Chrome“ naršyklėje.
  2. Spustelėkite ant Konfigūruoti mygtuką.
  3. Ekrano modale įveskite metro rinktuvo, kuriame veikia jūsų „React Native“ programa, serverio adresą ir spustelėkite padaryta.

Dabar galite derinti „React Native“ programą naudodami „Hermes“ tikslinės patikros nuorodą.

Kodėl Hermes yra optimizuotas tik „React Native“.

Optimalus „Hermes“ kaip „React Native JavaScript“ variklio veikimas iš dalies priklauso nuo jo vykdymo aplinkos. Programoje „React Native“ sujungiate visą „JavaScript“ kodą programos aplinkoje. Dėl šios sistemos siuntimo baito kodas yra efektyvus.

Kitas veiksnys, į kurį reikia atsižvelgti, yra „JavaScript“ kompiliavimo metu atliktas darbas. „Hermes“ valdo dažną vartotojo sąveiką, kurios tikimasi naudojant mobiliąsias programas, vengdamas agresyvaus baitinio kodo optimizavimo. JIT kompiliatoriaus „JavaScript“ variklis tokiu būdu neatliktų užduočių.