Il motore JavaScript di Facebook (Hermes) aumenta la reazione nativa su Android
Pubblicato: 2019-11-18L'introduzione del nuovo strumento JavaScript Facebook per dispositivi Android può aumentare i tempi di avvio, ridurre l'utilizzo della RAM e ridurre le dimensioni dell'applicazione. Al momento, lo strumento è una funzione di attivazione in React Native. La maggior parte dei prodotti di Facebook che reagiscono con l'ultima versione di Android nativo ha iniziato a utilizzare questo strumento JavaScript.
- Maggiori informazioni su Facebook per dispositivi Android Motore JavaScript
- Funzionalità del nuovo motore JavaScript Android
- Come ottenere Hermes
- Reagire
- La principale decisione architettonica del motore JavaScript di Facebook per dispositivi Android
- 1. Precompilazione del codice byte
- 2. Nessun JIT
- 3. Tecnica di raccolta dei rifiuti
- Conclusione
Maggiori informazioni su Facebook per dispositivi Android Motore JavaScript

Lo strumento JavaScript Facebook per dispositivi Android è stato creato per migliorare il funzionamento di grandi applicazioni Android. Le applicazioni telefoniche continuano ad aumentare di dimensioni, il che è altamente in grado di causare problemi, come quando scarichi l'app di Facebook in gadget che non dispongono di spazio sufficiente o di una grande capacità di elaborazione. Questo è anche il motivo principale per cui Facebook e altre aziende hanno sviluppato versioni Android "lite" per le loro applicazioni.
Ora è possibile per i creatori di applicazioni Android migliorare il funzionamento di qualsiasi applicazione attraverso l'aiuto dello strumento JavaScript. Questo strumento riduce le dimensioni di un download e migliora la funzione di avvio. Questo è ciò che l'aggiornamento di Facebook intende fare per le sue applicazioni utilizzando JavaScript Facebook per il motore di dispositivi Android.
Il team di Facebook ha analizzato le informazioni sulle prestazioni e ha scoperto che lo strumento JavaScript Facebook per dispositivi Android era fondamentale per la dimensione dei download e il funzionamento generale dell'avvio. Sapendo questo, hanno ritenuto di dover ottimizzare il modo in cui JavaScript si comporta normalmente negli ambienti dei dispositivi portatili altamente repressi. L'ambiente desktop, invece, va bene e la versione desktop di Facebook per Android funziona in modo eccellente.
Lo strumento JavaScript Facebook per dispositivi Android aiuta a migliorare 3 funzionalità principali. Sono:
- TTI (tempo di interazione): questo è il tempo impiegato per avviare le applicazioni fino al momento in cui vengono caricate completamente.
- La dimensione dei download.
- Utilizzo della memoria.
Consigliato per te: React Native vs Flutter vs PWA: Battle of Trending Mobile App Frameworks.
Funzionalità del nuovo motore JavaScript Android

- Il lavoro verrà eseguito in fase di compilazione invece di analizzare e mettere insieme JavaScript sul gadget mentre una persona è in attesa.
- La compilazione anticipata consente ottimizzazioni più avanzate. Attività simili possono essere viste in un programma e deduplicate. Le stringhe di codice JavaScript verranno assemblate in modo corretto senza sovraccarico di runtime.
- Una piccola dimensione dell'APK Android che consente di installare un'app di Facebook o qualsiasi altra app su dispositivi con meno memoria.
- Il bytecode può essere mappato dalla memoria e caricato dalla memoria flash sempre più come richiesto.
- L'area degli indirizzi virtuali viene assegnata in blocchi ogni volta che è necessario. Ciò evita la necessità di determinare la dimensione dell'heap e riduce anche il sovraccarico.
- Implementazione degli standard di JavaScript utilizzando Hermes per ECMAScript2015, noto anche come ES6. Le funzionalità di JavaScript che non sono spesso applicate nelle applicazioni React Native sono state rimosse.
Come ottenere Hermes

Il motore JavaScript Facebook per dispositivi Android è disponibile per il download. Non puoi scaricare da Facebook, per ora è disponibile su GitHub. Le linee guida su come usarlo sono disponibili sul sito React Native.
Reagire

Ma React Native ha alcuni inconvenienti, motivo per cui alla maggior parte delle persone non piace. Ad esempio: le app di gioco online e le altre funzioni delle app Android necessitano di codice nativo come quando è necessario eseguire il backup dell'integrazione tra la fotocamera e il sensore. Inoltre, gli sviluppatori Android hanno sempre bisogno di progettare ponti per collegare gli spazi tra la struttura e il codice nativo. Questo è stato anche il motivo per cui Airbnb ha deciso di abbandonarlo.
Ma il motore JavaScript Facebook per dispositivi Android potrebbe essere un mezzo di Facebook per dare più vita a React Native e convincere più persone ad accettarlo.
Considerando che il motore JavaScript di Facebook per dispositivi Android si concentra solo sulle app, Facebook ha rivelato che non ha intenzione di integrarlo con server o motori di ricerca.

JavaScript Il motore di Facebook per dispositivi Android è l'ultimo progetto open source proveniente da Facebook. I progetti Android più attuali includono:
- Pizia: una struttura per l'apprendimento profondo.
- DLRM: un modello per il deep learning.
- Spectrum: un progetto pensato per rendere efficiente il processo di caricamento delle immagini.
Potrebbe piacerti: Introduzione alla programmazione: A Brief of Node JS, Laravel, React, Ruby, Vue e Python.
La principale decisione architettonica del motore JavaScript di Facebook per dispositivi Android

I limiti dei gadget mobili, ad esempio il flash lento e la piccola quantità di RAM, hanno fatto sì che Facebook prendesse alcune decisioni architettoniche. Di seguito sono elencate le cose che hanno implementato:
1. Precompilazione del codice byte

Per evitarlo, il motore JavaScript per dispositivi Android dell'app Facebook ha utilizzato il compilatore anticipato che viene eseguito durante il processo di creazione dell'app. Ciò si traduce in più tempo dedicato all'ottimizzazione del bytecode. Ciò implica che il codice byte è piccolo e più utile.
È possibile ottimizzare l'intero programma. Ciò include la deduplicazione dell'operazione e il confezionamento della tabella delle stringhe.
Il codice byte è costruito in modo tale che durante il runtime venga mappato in memoria e interpretato senza dover passare attraverso l'intero file. La memoria flash migliora la latenza sulla maggior parte dei gadget mobili di media e scarsa qualità. Quindi questo carica il codice byte dalla flash quando necessario e l'ottimizzazione del codice byte per la dimensione porta grandi miglioramenti TTI.
Inoltre, poiché la memoria è mappata solo in lettura e supportata da un file, il sistema operativo che non esegue lo scambio può comunque rimuovere quelle pagine sotto pressione di memoria. Ciò ridurrà al minimo le uccisioni del processo di memoria insufficiente nei gadget che hanno meno memoria.
Un codice byte compresso è leggermente più grande di un codice JavaScript anch'esso compresso. Questo perché il codice motore JavaScript Facebook per dispositivi Android è di piccole dimensioni. Il motore JavaScript Facebook per dispositivi Android riduce le dimensioni delle app Android.
2. Nessun JIT

App Facebook per dispositivi Android Il motore JavaScript non ha lo strumento JIT, il che implica che non funziona bene principalmente nei benchmark che si basano sulla CPU. Quella decisione era globale. I benchmark in generale non rappresentano il carico di lavoro delle applicazioni.
Facebook ha anche fatto vari test con JIT e sono convinti che non sarà mai facile raggiungere l'alta velocità senza peggiorare le loro metriche principali. Le JTI devono prepararsi prima ogni volta che viene lanciata un'app che rende difficile migliorare il TTI, può persino danneggiare il TTI. Oltre a ciò, JIT contribuisce alla dimensione del codice nativo e al consumo di memoria. Questo rovina le metriche principali di Facebook. Questo è il motivo per cui Facebook Android ha deciso di ignorarlo e ha invece prestato attenzione alle prestazioni dell'interprete come miglior compromesso per il motore JavaScript Facebook per dispositivi Android.
3. Tecnica di raccolta dei rifiuti

Durante i test iniziali di Facebook Android, è stato scoperto che lo spazio degli indirizzi virtuali potrebbe essere limitato nelle grandi app sui gadget a 32 bit.
Per ridurre la memoria e lo spazio degli indirizzi virtuali utilizzati dal motore, Facebook ha progettato un raccoglitore di rifiuti con le funzionalità seguenti.
- Allocazione su richiesta: lo spazio degli indirizzi virtuali viene assegnato in blocchi quando necessario.
- Non contiguo: lo spazio degli indirizzi virtuali deve trovarsi in un intervallo di memoria per eliminare i limiti delle risorse.
- Spostamento: lo spostamento di oggetti implica che la memoria potrebbe essere frammentata mentre i grumi non necessari vengono riportati a un sistema operativo.
Potrebbe piacerti anche: Angular vs React: quale framework scegliere nel 2019.
Conclusione

JavaScript Il progetto Facebook per dispositivi Android è tra i tanti progetti a cui sta lavorando il team di Facebook. Il team non vede l'ora di creare anche modalità di analisi della memoria e del tempo. Ciò consentirà agli esperti di Android di migliorare facilmente le proprie applicazioni. Prova JavaScript Facebook per i motori dei dispositivi Android e scopri le sue funzioni. Condividi le tue esperienze con noi e puoi anche farci domande se ne hai.
Questo articolo è stato scritto da Thomas Miller. È un esperto di tecnologia Android che ama informare le persone sulle ultime tecnologie. Thomas ama anche l'idea del motore JavaScript Facebook per dispositivi Android e l'ha usato e gli è piaciuto come funziona. Compila anche le migliori recensioni di esperti per il settore automobilistico su autoexpertguides.com.
