రియాక్ట్ నేటివ్ 0.70 ముగిసింది మరియు ఈ నవీకరణతో హెర్మేస్ కొత్త డిఫాల్ట్ జావాస్క్రిప్ట్ ఇంజిన్ షిప్పింగ్. హీర్మేస్ నుండి ఏమి ఆశించాలో మరియు మీ రియాక్ట్ నేటివ్ అప్లికేషన్ పనితీరును ప్రభావితం చేసే కొన్ని ఫీచర్లు ఇక్కడ ఉన్నాయి.
హీర్మేస్ అంటే ఏమిటి?
హీర్మేస్ అనేది ఓపెన్ సోర్స్ జావాస్క్రిప్ట్ ఇంజిన్, ఇది జావాస్క్రిప్ట్ కోడ్ను సమర్థవంతమైన బైట్కోడ్గా ముందస్తుగా కంపైల్ చేయడం ద్వారా మరియు అప్లికేషన్ మెమరీ వినియోగాన్ని తగ్గించడం ద్వారా iOS మరియు Android అప్లికేషన్ లాంచ్ల సమయంలో పనితీరును ఆప్టిమైజ్ చేస్తుంది.
రోజు యొక్క వీడియోను తయారు చేయండి
హీర్మేస్కు మద్దతు ఇవ్వడానికి పాత రియాక్ట్ స్థానిక సంస్కరణలను నవీకరిస్తోంది
0.70పై నడుస్తున్న రియాక్ట్ నేటివ్ అప్లికేషన్లు డిఫాల్ట్గా హెర్మేస్ని ఎనేబుల్ చేస్తుంది. పాత రియాక్ట్ నేటివ్ అప్లికేషన్ల కోసం, Android బిల్డ్ల కోసం వెర్షన్ 0.60.4 మరియు iOS కోసం వెర్షన్ 0.64.0 నుండి ప్రారంభమయ్యే ప్రతి రియాక్ట్ నేటివ్ వెర్షన్తో హెర్మేస్ బిల్డ్ షిప్లను అందిస్తుంది. సరిపోలే సంస్కరణలు మీ రియాక్ట్ నేటివ్ అప్లికేషన్లో డిపెండెన్సీ అసమతుల్యత ప్రమాదాన్ని తొలగిస్తాయి.
రియాక్ట్ నేటివ్ యొక్క ఈ పాత వెర్షన్లలో హీర్మేస్ని ఎనేబుల్ చేయడానికి, మీరు మీ Android మరియు iOS అప్లికేషన్లకు కొంత కాన్ఫిగరేషన్ని జోడించాలి.
ఇన్స్టాగ్రామ్లో మిమ్మల్ని ఎవరు బ్లాక్ చేశారో ఎలా చూడాలి
Androidలో, మీది సవరించండి android/app/build.gradle ఫైల్:
project.ext.react = [
entryFile: "index.js",
enableHermes: true // clean and rebuild if changing
]
iOSలో, మీరు మీలో ఈ క్రింది మార్పులను చేస్తారు iOS/Podfile :
use_react_native!(
:path => config[:reactNativePath],
:hermes_enabled => true
)
సెట్టింగ్లను కాన్ఫిగర్ చేసిన తర్వాత మీరు హెర్మేస్ పాడ్లను ఇన్స్టాల్ చేయడం iOSకి అవసరం.
పాడ్లను ఇన్స్టాల్ చేయడానికి కింది ఆదేశాన్ని అమలు చేయండి:
cd ios && pod install
ఎక్స్పోతో హీర్మేస్ని ప్రారంభిస్తోంది
మీరు ఎక్స్పోను ఉపయోగించి నిర్మించిన లేదా అమలు చేసే రియాక్ట్ నేటివ్ అప్లికేషన్ల కోసం హెర్మేస్ ఇంజిన్ను కూడా ఉపయోగించవచ్చు. Expo లైబ్రరీ Androidలో SDK వెర్షన్ 42 నుండి మరియు iOSలో SDK వెర్షన్ 43 నుండి ప్రస్తుత వెర్షన్ 0.70 వరకు హీర్మేస్కు మద్దతు ఇస్తుంది. ఎక్స్పో అప్లికేషన్ సర్వీసెస్ బిల్డ్ని ఉపయోగించి నిర్మించకపోతే స్వతంత్ర అప్లికేషన్లు హీర్మేస్ని అమలు చేయలేవని గమనించడం ముఖ్యం.
రియాక్ట్ నేటివ్ అప్లికేషన్లో హీర్మేస్ని ప్రారంభించడానికి, మీది సవరించండి app.json ఫైల్:
{
"expo": {
"jsEngine": "hermes"
}
}
ఇప్పుడు మీ అప్లికేషన్ ఎక్స్పో అప్లికేషన్ సర్వీసెస్తో రూపొందించబడింది, దాని జావాస్క్రిప్ట్ ఇంజిన్గా హెర్మేస్ ప్రారంభించబడుతుంది.
నా ఐఫోన్ ఆపిల్ లోగోపై చిక్కుకుంది
రియాక్ట్ స్థానిక యాప్ల కోసం హెర్మేస్ పనితీరు ఆప్టిమైజేషన్
చాలా జావాస్క్రిప్ట్ ఇంజిన్లు JIT (జస్ట్ ఇన్ టైమ్) కంపైలేషన్ సిస్టమ్ని ఉపయోగించి అన్ని జావాస్క్రిప్ట్ సోర్స్ కోడ్ను అన్వయిస్తాయి. JIT సిస్టమ్ ఎగ్జిక్యూషన్ను నెమ్మదిస్తుంది ఎందుకంటే మీ పరికరం మొత్తం కంపైలేషన్ ప్రక్రియ పూర్తయ్యే వరకు వేచి ఉండాలి. హీర్మేస్ ముందస్తు-సమయ సంకలన (AOT) విధానాన్ని ఉపయోగిస్తుంది, హెవీ-డ్యూటీ జావాస్క్రిప్ట్ ఇంజిన్ పనిని సమయాన్ని నిర్మించడానికి బదిలీ చేస్తుంది.
హీర్మేస్ ప్రధానంగా అప్లికేషన్ పనితీరు యొక్క మూడు మెట్రిక్లను ప్రభావితం చేస్తుంది: అప్లికేషన్ TTI (టైమ్ టు ఇంటరాక్టివ్), బైనరీ పరిమాణం మరియు మెమరీ వినియోగం.
ఇంటరాక్టివ్ చేయడానికి సమయం
TTI అనేది స్క్రోలింగ్ లేదా టైపింగ్ వంటి వినియోగదారు పరస్పర చర్యను లోడ్ చేయడానికి మరియు మద్దతు ఇవ్వడానికి ఒక యాప్ పట్టే సమయం. హీర్మేస్ ఇతర జావాస్క్రిప్ట్ ఇంజిన్లతో పోలిస్తే రియాక్ట్ నేటివ్ అప్లికేషన్ల కోసం సగటు TTIని మెరుగుపరుస్తుంది.
హీర్మేస్ JIT కంపైలర్ను అమలు చేయనందున TTIలో ఈ తగ్గింపు.
బైనరీ పరిమాణం
బైనరీ పరిమాణం అనేది బండిల్ చేయబడిన రియాక్ట్ నేటివ్ అప్లికేషన్ యొక్క పరిమాణం. ఆండ్రాయిడ్ అప్లికేషన్లు దీనిని ఉపయోగిస్తాయి APK ఫైల్ ఫార్మాట్ , iOS యాప్లు Apple IPA కాల్స్ ఫార్మాట్ని ఉపయోగిస్తుండగా. హీర్మేస్ని ఉపయోగించడం వలన Android పరికరాలలో అప్లికేషన్ పరిమాణాన్ని గణనీయంగా తగ్గిస్తుంది.
మెమరీ వినియోగం
అప్లికేషన్లలో ఆప్టిమైజ్ చేయడానికి మెమరీ వినియోగం మరొక ముఖ్యమైన మెట్రిక్. అప్లికేషన్ ఎక్కువ మెమరీని ఉపయోగిస్తే దాని వినియోగదారు అనుభవం ప్రతికూలంగా ప్రభావితమవుతుంది. హీర్మేస్ ఒక గార్బేజ్ కలెక్టర్ సిస్టమ్ను అమలు చేస్తుంది, ఇది డిమాండ్పై మెమరీ వినియోగాన్ని నియంత్రిస్తుంది, అప్లికేషన్ నడుస్తున్నప్పుడు అవసరమైన మెమరీ స్థలాన్ని మాత్రమే ఉపయోగిస్తుందని నిర్ధారిస్తుంది.
డీబగ్గింగ్ హీర్మేస్ మరియు Chrome DevToolsతో స్థానికంగా స్పందించడం
ఎక్స్పోను ఉపయోగించి ఎమ్యులేటర్, సిమ్యులేటర్ లేదా ఫిజికల్ డివైజ్లో రన్ అవుతున్న రియాక్ట్ నేటివ్ అప్లికేషన్లను డీబగ్గింగ్ చేయడానికి హెర్మేస్ కొత్త అనుభవంతో వస్తుంది. Chrome DevTools ఇన్స్పెక్టర్ ప్రోటోకాల్ని ఉపయోగించి రియాక్ట్ నేటివ్ అప్లికేషన్లను డీబగ్గింగ్ చేయడానికి హెర్మేస్ మద్దతు ఇస్తుంది. మీరు దీన్ని సాంప్రదాయంతో కంగారు పెట్టకూడదు బ్రౌజర్ కన్సోల్ని ఉపయోగించి జావాస్క్రిప్ట్ డీబగ్గింగ్ .
హెర్మేస్ అప్లికేషన్లను డీబగ్ చేయడానికి Chromeని కాన్ఫిగర్ చేయడానికి, ఈ దశలను అనుసరించండి.
- నావిగేట్ చేయండి chrome://inspect మీ Chrome బ్రౌజర్ లోపల.
- పై క్లిక్ చేయండి కాన్ఫిగర్ చేయండి బటన్.
- ఆన్-స్క్రీన్ మోడల్ లోపల, మీ రియాక్ట్ నేటివ్ అప్లికేషన్ను అమలు చేస్తున్న మెట్రో బండ్లర్ కోసం సర్వర్ చిరునామాను ఇన్పుట్ చేసి, క్లిక్ చేయండి పూర్తి .
మీరు ఇప్పుడు హీర్మేస్ టార్గెట్ ఇన్స్పెక్ట్ లింక్ని ఉపయోగించి మీ రియాక్ట్ నేటివ్ అప్లికేషన్ను డీబగ్ చేయవచ్చు.
ఫ్రెండ్ రిక్వెస్ట్ పంపిన తర్వాత ఫ్రెండ్ యాడ్ బటన్ కనిపించకుండా పోయింది
హీర్మేస్ రియాక్ట్ స్థానికంగా మాత్రమే ఎందుకు ఆప్టిమైజ్ చేయబడింది
రియాక్ట్ నేటివ్ జావాస్క్రిప్ట్ ఇంజిన్గా హెర్మేస్ యొక్క సరైన పనితీరు పాక్షికంగా దాని రన్టైమ్ ఎన్విరాన్మెంట్కు తగ్గింది. రియాక్ట్ నేటివ్లో, మీరు అప్లికేషన్ వాతావరణంలో మొత్తం జావాస్క్రిప్ట్ కోడ్ను బండిల్ చేస్తారు. ఈ సిస్టమ్ షిప్పింగ్ బైట్కోడ్ని సమర్థవంతంగా చేస్తుంది.
పరిగణించవలసిన మరో అంశం ఏమిటంటే జావాస్క్రిప్ట్ సంకలనం సమయంలో చేసిన పని మొత్తం. హెర్మేస్ దూకుడు బైట్కోడ్ ఆప్టిమైజేషన్ను నివారించేటప్పుడు మొబైల్ అప్లికేషన్ల యొక్క తరచుగా ఊహించిన వినియోగదారు పరస్పర చర్యను నిర్వహిస్తుంది. JIT కంపైలర్ JavaScript ఇంజిన్ ఈ విధంగా విధులను నిర్వహించదు.