Facebook JavaScript Engine (Hermes) impulsiona React Native no Android

Publicados: 2019-11-18
O Facebook criou um incrível mecanismo JavaScript chamado Hermes para aprimorar a operação de aplicativos React Native em dispositivos Android. O mecanismo do Facebook para dispositivos Android é bom para inicialização rápida, aproveitando bytecode compactado e otimização antecipada.

A introdução da nova ferramenta JavaScript do Facebook para dispositivos Android pode melhorar o tempo de inicialização, diminuir o uso de RAM e reduzir o tamanho do aplicativo. No momento, a ferramenta é um recurso opcional no React Native. A maioria dos produtos da versão mais recente do Facebook Native Android começaram a usar esta ferramenta JavaScript.

Índice mostra
  • Mais informações sobre o mecanismo JavaScript do Facebook para dispositivos Android
  • Recursos do novo mecanismo JavaScript do Android
  • Como obter Hermes
    • Reagir
  • A principal decisão arquitetônica do mecanismo JavaScript do Facebook para dispositivos Android
    • 1. Pré-compilação de código de byte
    • 2. Sem JIT
    • 3. Técnica de coleta de resíduos
  • Conclusão

Mais informações sobre o mecanismo JavaScript do Facebook para dispositivos Android

IA-inteligência-artificial-código-desenvolvimento-design-script

A ferramenta JavaScript Facebook para dispositivos Android foi criada para aprimorar o funcionamento de grandes aplicativos Android. Os aplicativos de telefone continuam aumentando de tamanho, o que é altamente capaz de trazer problemas, como quando você baixa o aplicativo do Facebook em gadgets que não têm espaço suficiente ou grande capacidade de processamento. Essa também é a principal razão pela qual o Facebook e outras empresas desenvolveram versões “lite” do Android para seus aplicativos.

Agora é possível para os criadores de aplicativos Android aprimorar o funcionamento de qualquer aplicativo com a ajuda da ferramenta JavaScript. Esta ferramenta reduz o tamanho de um download e melhora a função de inicialização. É isso que a atualização do Facebook pretende fazer para seus aplicativos usando o motor JavaScript do Facebook para dispositivos Android.

A equipe do Facebook analisou as informações de desempenho e descobriu que a ferramenta JavaScript do Facebook para dispositivos Android era crucial no tamanho dos downloads e no funcionamento geral da inicialização. Sabendo disso, eles sentiram que precisavam otimizar o desempenho normal do JavaScript nos ambientes de dispositivos portáteis altamente reprimidos. O ambiente de área de trabalho, por outro lado, é bom e a versão de área de trabalho do Facebook para Android funciona de maneira excelente.

A ferramenta JavaScript do Facebook para dispositivos Android auxilia na melhoria de 3 recursos principais. Eles são:

  1. TTI (tempo para interagir): É o tempo que leva para iniciar os aplicativos até o momento em que eles carregam completamente.
  2. O tamanho dos downloads.
  3. Utilização de memória.
 Recomendado para você: React Native vs Flutter vs PWA: Battle of Trending Mobile App Frameworks.

Recursos do novo mecanismo JavaScript do Android

desenvolvimento-de-marketing-aplicativo-móvel

  • O trabalho será executado no tempo de compilação, em vez de analisar e reunir JavaScript no gadget enquanto uma pessoa está esperando.
  • A compilação antecipada permite otimizações mais aprimoradas. Atividades semelhantes podem ser vistas em um programa e desduplicadas. As strings de código JavaScript serão reunidas de maneira bem armazenada, sem sobrecarga de tempo de execução.
  • Um tamanho minúsculo de APK Android que permite instalar um aplicativo do Facebook ou qualquer outro aplicativo em dispositivos com menos memória.
  • O bytecode pode ser mapeado pela memória e carregado da memória flash conforme necessário.
  • A área de endereço virtual é atribuída em blocos sempre que necessário. Isso evita a necessidade de determinar o tamanho do heap e também minimiza a sobrecarga.
  • Implementando os padrões de JavaScript usando Hermes visando ECMAScript2015, também conhecido como ES6. Os recursos do JavaScript que não são frequentemente aplicados em aplicativos React Native foram removidos.
Além disso, o aplicativo do Facebook para dispositivos Samsung também abre recursos para a integração do Hermes com o React Native. Isso significa que os desenvolvedores do Android poderão utilizar o Hermes instantaneamente.

Como obter Hermes

Faça três perguntas a si mesmo para avaliar os resultados

O mecanismo JavaScript do Facebook para dispositivos Android está disponível para download. Você não pode baixar do Facebook, por enquanto, está disponível no GitHub. As orientações sobre como usá-lo estão disponíveis no site do React Native.

Reagir

React-JavaScript-Library É importante observar que os mecanismos JavaScript do Facebook para dispositivos Android funcionam apenas com aplicativos Android projetados com React Native (uma estrutura de aplicativo criada pelo Facebook). O principal ponto de venda dessa estrutura é que os códigos são executados de maneira nativa na maioria das plataformas.

Mas o React Native tem algumas desvantagens, e é por isso que a maioria das pessoas não gosta dele. Por exemplo: aplicativos de jogos online e outras funções de aplicativos Android precisam de código nativo, como quando precisam fazer backup da integração entre a câmera e o sensor. Além disso, os desenvolvedores Android sempre precisam projetar pontes para preencher os espaços entre a estrutura e o código nativo. Essa também foi a razão pela qual o Airbnb decidiu sair.

Mas o mecanismo JavaScript do Facebook para dispositivos Android pode ser um meio do Facebook para dar mais vida ao React Native e convencer mais pessoas a aceitá-lo.

Considerando que o mecanismo JavaScript do Facebook para dispositivos Android se concentra apenas em aplicativos, o Facebook revelou que não planeja integrá-lo a servidores ou mecanismos de pesquisa.

O mecanismo JavaScript do Facebook para dispositivos Android é o mais novo projeto de código aberto do Facebook. Projetos Android mais atuais incluem:

  • Pythia: Uma estrutura para aprendizado profundo.
  • DLRM: Um modelo para aprendizado profundo.
  • Spectrum: Um projeto destinado a tornar o processo de upload de fotos eficiente.
 Você pode gostar de: Introdução à programação: um resumo do Node JS, Laravel, React, Ruby, Vue e Python.

A principal decisão arquitetônica do mecanismo JavaScript do Facebook para dispositivos Android

Android

As limitações dos dispositivos móveis, por exemplo, flash lento e pequena quantidade de RAM, fizeram com que o Facebook tomasse algumas decisões arquitetônicas. Abaixo estão as coisas que eles implementaram:

1. Pré-compilação de código de byte

O mecanismo JavaScript do Facebook impulsiona o React Native no Android - Ponto 1 JavaScript O mecanismo do Facebook para dispositivos Android analisará automaticamente a origem do JavaScript durante o carregamento. Isso criará um código de byte. Esta atividade atrasará o início da execução do JavaScript

Para evitar isso, o mecanismo JavaScript para dispositivos Android do aplicativo do Facebook utilizou o compilador avançado que é executado no processo de criação do aplicativo. Isso resulta em mais tempo sendo gasto na otimização de bytecode. Isso implica que o código de byte é pequeno e mais útil.

A otimização de todo o programa pode ocorrer. Isso inclui desduplicação da operação e compactação da tabela de strings.

O código de byte é construído de forma que, durante o tempo de execução, seja mapeado na memória e seja interpretado sem a necessidade de passar por todo o arquivo. A memória flash melhora a latência na maioria dos dispositivos móveis de média e baixa qualidade. Portanto, isso carrega o código de byte do flash quando necessário e a otimização do código de byte para tamanho traz grandes aprimoramentos de TTI.

Além disso, como a memória é mapeada apenas para leitura e suportada por um arquivo, o sistema operacional que não troca ainda pode remover essas páginas sob pressão de memória. Isso minimizará as interrupções do processo de falta de memória em gadgets com menos memória.

Um código de byte compactado é um pouco maior que um código JavaScript que também é compactado. Isso ocorre porque o código do mecanismo JavaScript do Facebook para dispositivos Android é pequeno. O mecanismo JavaScript do Facebook para dispositivos Android reduz o tamanho dos aplicativos Android.

2. Sem JIT

Facebook JavaScript Engine impulsiona React Native no Android - Ponto 2 Para tornar a execução mais rápida, muitos mecanismos JavaScript comumente usados ​​podem compilar mal códigos interpretados para códigos de máquina usando a ferramenta JIT (just in time).

Aplicativo do Facebook para dispositivos Android O mecanismo JavaScript não possui a ferramenta JIT, o que implica que ele não funciona bem principalmente em benchmarks que dependem da CPU. Essa decisão foi global. Os benchmarks em geral não representam a carga de trabalho dos aplicativos.

O Facebook até fez vários testes com JITs e está convencido de que nunca será fácil atingir alta velocidade sem piorar suas principais métricas. Os JTIs precisam se preparar primeiro sempre que um aplicativo for iniciado, o que dificulta o aprimoramento do TTI, podendo até prejudicar o TTI. Além disso, o JIT contribui com o tamanho do código nativo e com o consumo de memória. Isso arruína as principais métricas do Facebook. É por isso que o Facebook Android decidiu ignorá-lo e, em vez disso, prestou atenção ao desempenho do interpretador como a melhor compensação para o mecanismo JavaScript do Facebook para dispositivos Android.

3. Técnica de coleta de resíduos

O mecanismo JavaScript do Facebook impulsiona o React Native no Android - Ponto 3 O bom uso da memória é crucial em dispositivos móveis Android. Gadgets de baixa qualidade têm menos memória, a troca de sistemas operacionais não é possível e o sistema operacional mata aplicativos que utilizam muito espaço de memória. Ao encerrar os aplicativos, é necessário reiniciar lentamente e o funcionamento do plano de fundo é afetado.

Durante os testes iniciais do Android do Facebook, descobriu-se que o espaço de endereço virtual pode ser limitado em grandes aplicativos nos gadgets de 32 bits.

Para reduzir a memória e o espaço de endereço virtual utilizado pelo mecanismo, o Facebook projetou um coletor de lixo com os recursos abaixo.

  • Alocação sob demanda: o espaço de endereço virtual é atribuído em blocos quando necessário.
  • Não contíguo: o espaço de endereço virtual deve estar em um intervalo de memória para eliminar os limites de recursos.
  • Mover: Mover objetos implica que a memória pode ficar fragmentada enquanto pedaços desnecessários são levados de volta para um sistema operacional.
 Você também pode gostar: Angular vs React: qual framework escolher em 2019.

Conclusão

Facebook JavaScript Engine impulsiona React Native no Android - conclusão

O projeto JavaScript do Facebook para dispositivos Android está entre os muitos projetos nos quais a equipe do Facebook está trabalhando. A equipe está ansiosa para criar formas de análise de memória e tempo também. Isso tornará mais fácil para os especialistas em Android aprimorar seus aplicativos. Teste o JavaScript do Facebook para mecanismos de dispositivos Android e veja suas funções. Compartilhe suas experiências conosco e você também pode nos fazer perguntas, se tiver alguma.

 Este artigo foi escrito por Thomas Miller. Ele é um especialista em tecnologia Android que adora informar as pessoas sobre as tecnologias mais recentes. Thomas também adorou a ideia do mecanismo JavaScript do Facebook para dispositivos Android e o usou e gostou de como funciona. Ele também compila as melhores análises de especialistas do setor automotivo em autoexpertguides.com.