Facebook JavaScript Engine (Hermes) stimulează React Native pe Android
Publicat: 2019-11-18Introducerea noului instrument JavaScript Facebook pentru dispozitive Android poate îmbunătăți timpul de pornire, poate reduce utilizarea RAM și poate duce la o dimensiune mai mică a aplicației. În acest moment, instrumentul este o funcție de înscriere în React Native. Majoritatea produselor Facebook reaction Native Android ultima versiune au început să utilizeze acest instrument JavaScript.
- Mai multe informații despre motorul JavaScript Facebook pentru dispozitive Android
- Caracteristicile noului motor JavaScript Android
- Cum să obțineți Hermes
- Reacţiona
- Principala decizie arhitecturală a motorului Facebook JavaScript pentru dispozitivele Android
- 1. Pre-compilare cod octet
- 2. Fără JIT
- 3. Tehnica de colectare a deșeurilor
- Concluzie
Mai multe informații despre motorul JavaScript Facebook pentru dispozitive Android
Instrumentul JavaScript Facebook pentru dispozitive Android a fost creat pentru a îmbunătăți funcționarea aplicațiilor mari Android. Aplicațiile pentru telefon continuă să crească în dimensiune, ceea ce este foarte capabil să aducă probleme, cum ar fi atunci când descărcați aplicația Facebook în gadgeturi cărora le lipsește spațiu suficient sau capacitate mare de procesare. Acesta este, de asemenea, principalul motiv pentru care Facebook și alte companii au dezvoltat versiuni Android „lite” pentru aplicațiile lor.
Acum este posibil ca creatorii de aplicații Android să îmbunătățească funcționarea oricăror aplicații cu ajutorul instrumentului JavaScript. Acest instrument reduce dimensiunea unei descărcări și îmbunătățește funcția de pornire. Aceasta este ceea ce Facebook Update intenționează să facă pentru aplicațiile sale care utilizează JavaScript Facebook pentru motorul de dispozitive Android.
Echipa Facebook a analizat informații despre performanță și a descoperit că instrumentul JavaScript Facebook pentru dispozitive Android a fost crucial în dimensiunea descărcărilor și funcționarea generală a pornirii. Știind acest lucru, ei au simțit că trebuie să optimizeze modul în care JavaScript funcționează în mod normal în mediile cu dispozitive portabile extrem de reprimate. Mediul desktop, pe de altă parte, este bine, iar versiunea desktop Facebook pentru Android funcționează excelent.
Instrumentul JavaScript Facebook pentru dispozitive Android ajută la îmbunătățirea a 3 caracteristici principale. Sunt:
- TTI (timp de interacțiune): Acesta este timpul necesar lansării aplicațiilor până în momentul în care acestea se încarcă complet.
- Dimensiunea descărcărilor.
- Utilizarea memoriei.
Recomandat pentru tine: React Native vs Flutter vs PWA: Battle of Trending Mobile App Frameworks.
Caracteristicile noului motor JavaScript Android
- Lucrările se vor desfășura în timpul construirii, în loc să analizeze și să combine JavaScript pe gadget în timp ce o persoană așteaptă.
- Compilarea anticipată la timp permite optimizări mai îmbunătățite. Activități similare pot fi văzute într-un program și deduplicate. Șirurile de cod JavaScript vor fi adunate într-un mod bine stocat, fără suprasarcină de rulare.
- O dimensiune mică a APK-ului Android care face posibilă instalarea unei aplicații Facebook sau a oricăror alte aplicații pe dispozitive cu memorie mai mică.
- Bytecode poate fi mapat de memorie și poate fi încărcat din memoria flash din ce în ce mai mult, după cum este necesar.
- Zona de adrese virtuale este atribuită în bucăți ori de câte ori este necesar. Acest lucru previne necesitatea de a determina dimensiunea grămezii și, de asemenea, minimizează supraîncărcarea.
- Implementarea standardelor JavaScript folosind Hermes care vizează ECMAScript2015, care este denumit și ES6. Caracteristicile JavaScript care nu sunt adesea aplicate în aplicațiile React Native au fost eliminate.
Cum să obțineți Hermes
Motorul JavaScript Facebook pentru dispozitive Android este disponibil pentru descărcare. Nu puteți descărca de pe Facebook, deocamdată este disponibil pe GitHub. Îndrumări privind modul de utilizare sunt disponibile pe site-ul React Native.
Reacţiona
Dar React Native are câteva dezavantaje, motiv pentru care majoritatea oamenilor nu le place. De exemplu: aplicațiile de jocuri online și alte funcții ale aplicațiilor Android au nevoie de cod nativ, cum ar fi atunci când trebuie să facă backup pentru integrarea dintre cameră și senzor. De asemenea, dezvoltatorii Android trebuie întotdeauna să proiecteze punți pentru a conecta spațiile dintre structură și codul nativ. Acesta a fost și motivul pentru care Airbnb a decis să renunțe.
Dar motorul JavaScript Facebook pentru dispozitive Android ar putea fi un mijloc al Facebook de a aduce mai multă viață React Native și de a convinge mai mulți oameni să-l accepte.
Având în vedere că motorul JavaScript Facebook pentru dispozitive Android se concentrează doar pe aplicații, Facebook a dezvăluit că nu intenționează să-l integreze cu servere sau motoarele de căutare.

Motorul JavaScript Facebook pentru dispozitive Android este cel mai nou proiect open-source venit de la Facebook. Mai multe proiecte Android actuale includ:
- Pythia: Un cadru pentru învățarea profundă.
- DLRM: Un model de învățare profundă.
- Spectrum: Un proiect menit să facă procesul de încărcare a imaginilor în mod eficient.
S-ar putea să vă placă: Introducere în programare: un scurt despre Node JS, Laravel, React, Ruby, Vue și Python.
Principala decizie arhitecturală a motorului Facebook JavaScript pentru dispozitivele Android
Limitările gadgeturilor mobile, de exemplu flash lent și cantitatea mică de RAM, au făcut ca Facebook să ia unele decizii arhitecturale. Mai jos sunt lucrurile pe care le-au implementat:
1. Pre-compilare cod octet
Pentru a evita acest lucru, motorul JavaScript pentru dispozitivele Android aplicației Facebook a folosit compilatorul din timp care rulează în cadrul procesului de creare a aplicației. Acest lucru are ca rezultat al petrecerii mai mult timp în optimizarea bytecode. Acest lucru implică faptul că codul octet este mic și mai util.
Optimizarea întregului program poate avea loc. Aceasta include deduplicarea operațiunii și împachetarea tabelului de șiruri.
Codul octet este construit într-o manieră care, în timpul rulării, va fi mapat în memorie și va fi interpretat fără a fi nevoie să parcurgeți întregul fișier. Memoria flash îmbunătățește latența pe majoritatea gadgeturilor mobile de calitate medie și slabă. Deci, acesta încarcă cod de octet din flash atunci când este necesar, iar optimizarea codului de octet pentru dimensiune aduce îmbunătățiri mari TTI.
În plus, din moment ce memoria este mapată doar citită și acceptată de un fișier, sistemul de operare care nu schimbă poate elimina acele pagini sub presiunea memoriei. Acest lucru va minimiza uciderea procesului din memorie în cazul gadgeturilor care au mai puțină memorie.
Un cod octet care este comprimat este puțin mai mare decât un cod JavaScript care este, de asemenea, comprimat. Acest lucru se datorează faptului că codul de motor JavaScript Facebook pentru dispozitivele Android este de dimensiuni mici. Motorul JavaScript Facebook pentru dispozitive Android reduce dimensiunea aplicațiilor Android.
2. Fără JIT
Aplicația Facebook pentru dispozitive Android Motorul JavaScript nu are instrumentul JIT, ceea ce implică faptul că nu funcționează bine, mai ales în benchmark-urile care se bazează pe CPU. Decizia a fost globală. În general, reperele nu reprezintă volumul de lucru al aplicațiilor.
Facebook a făcut chiar diverse teste cu JIT-uri și sunt convinși că niciodată nu va fi ușor să atingă viteză mare fără a-și înrăutăți valorile principale. JTI-urile trebuie să se pregătească mai întâi de fiecare dată când se lansează o aplicație, ceea ce face dificilă îmbunătățirea TTI, poate chiar dăuna TTI. Pe lângă asta, JIT contribuie la dimensiunea codului nativ și la consumul de memorie. Acest lucru distruge principalele valori ale Facebook. Acesta este motivul pentru care Facebook Android a decis să-l ignore și, în schimb, a acordat atenție performanței interpretului ca fiind cel mai bun compromis pentru JavaScript Facebook pentru motorul de dispozitive Android.
3. Tehnica de colectare a deșeurilor
În timpul testelor inițiale Facebook Android, s-a descoperit că spațiul de adrese virtuale poate fi limitat în aplicațiile mari de pe gadgeturile pe 32 de biți.
Pentru a reduce memoria și spațiul de adrese virtuale utilizate de motor, Facebook a proiectat un colector de deșeuri cu caracteristicile de mai jos.
- Alocarea la cerere: spațiul de adrese virtuale este alocat în bucăți atunci când este necesar.
- Necontiguu: spațiul de adrese virtuale ar trebui să fie într-un interval de memorie pentru a elimina limitele de resurse.
- Mutarea: mutarea obiectelor implică faptul că memoria se poate fragmenta în timp ce bulgări inutile sunt reluate la un sistem de operare.
S-ar putea să vă placă și: Angular vs React: ce cadru să alegeți în 2019.
Concluzie
Proiectul JavaScript Facebook pentru dispozitive Android se numără printre numeroasele proiecte la care lucrează echipa Facebook. Echipa așteaptă cu nerăbdare să creeze, de asemenea, moduri de analiză a memoriei și a timpului. Acest lucru va face mai ușor pentru experții Android să-și îmbunătățească aplicațiile. Testați JavaScript Facebook pentru motoarele de dispozitive Android și vedeți funcțiile acestuia. Împărtășiți-vă experiențele cu noi și, de asemenea, ne puteți pune întrebări dacă aveți.
Acest articol este scris de Thomas Miller. Este un expert în tehnologie Android căruia îi place să informeze oamenii despre cele mai noi tehnologii. De asemenea, lui Thomas iubește ideea JavaScript Facebook pentru motorul de dispozitive Android și l-a folosit și i-a plăcut cum funcționează. De asemenea, el compila cele mai bune recenzii ale experților pentru sectorul auto la autoexpertguides.com.