0

V8 a engine do Chrome: Turbinando seu Javascript

#Programação para Internet #JavaScript #Arquitetura de Sistemas
Vagner Bellacosa
Vagner Bellacosa

O que é Engine V8


No artigo desta madrugada comentei sobre o V8 e sendo sincero fiquei incomodado por liberar um verbete e deixar meu padawan desnorteado, achando que o texto estava muito hermético.


Então o tiozão sendo camarada, vamos expandir o universo JavaScript, que esta cheio de surpresas, bora la explora-lo?


Node.js https://web.digitalinnovation.one/articles/dia-5-explorando-alem-do-js-mas-dentro-do-js-conheca-o-nodejs


Engine do navegador


Recordando o artigo anterior, o JavaScripit surgiu em 1995, naquela época era um samba do sambista doido, cada desenvolvedor criava seu dialeto, baseado nas especificações, que nao necessariamente funcionaria como esperado em outros navegadores.


Por isso criou um consorcio com as melhores cabeças patrocinados pelos maiores players do mercado, esse comitê o ECMA Internacional, unificou todas as especificações e criou regras bem definidas para utilizar o padrão JavaScript.


Ok, e o que engine tem haver com tudo isso? Ora caro padawan, Engine nada mais é que o MOTOR, antes de colocar um risinho no rosto e tripudiar com o tiozão. Foi de proposito que os anciões nomearam o software responsável pela leitura, validação, compilação e execução de Engine. Tudo caixa preta e ao final é exibido o resultado ao usuário. Feito esta pequena explicação, vamos ao que interessa.


Afinal, o que é V8?


O V8 é um motor JavaScript de código aberto (open source), basicamente é o Mestre dos magos, o software responsável por executar nossos códigos JavaScript dentro do navegador Google Chrome, ou seja, ela irá ler os códigos que escrevemos e compilar para byte code.


Como expliquei anteriormente, todo navegador possuí um motor JavaScript, a V8 é referente ao Google Chrome, mas, atenção existem muitos outros motores para os demais navegadores:


  • V8: Google Chrome
  • WebKit: Safari
  • SpiderMonkey: Firefox
  • Chakra: Edge (antes de mudar para V8)
  • entre outros…


Com a equipe do Google por tras, o V8 esta tornando-se o padrão e caso seja curioso procure no Google e descubra outros engines. Guarde na memoria a Engine nada mais é que um Interpretador.


Linguagem Interpretada


Lembrando que o JavaScript é uma linguagem interpretada, por isso nao gera arquivo .Com, nem .Exe. Vamos recapitular um pouco o funcionamento de linguagens interpretadas.


1 - Temos o carregamento do código JS embutido em HTML e ou script de arquivo .js

2 - Passa por um parser, que organiza e prepara o código

3 - O próximo passo é passar pela arvore de sintaxe abstrata, onde ele verifica as regras de sintaxes

4 - Se nao existirem erros de sintaxe, passam para a etapa de interpretação

5 - Caso nao ocorra erro ele segue dois caminhos:

6 - Conversão de código

6.1 - Caso ocorra sem erro, gera-se o Bytecode

6.2 - Caso necessite é enviado para o compilador TurboFan

7 - Gera o código de maquina otimizado 

8 - Executa os comandos


Fixe na memoria, BYTECODE é um estagio intermediário entre o código-fonte e o executável.


Curiosidade para curiosos


Motor V8 é um motor super potente com 8 cilindros arrefecidos a ar ou agua, muito utilizado em caminhões, barcos e aeronaves, chama-se V, devido a disposição dos cabeçotes.


Conclusão


O JavaScript é um software de respeito, uma linguagem que a cada versão torna-se mais poderosa, um verdadeiro canivete suíço para os DEVS de todos os ambientes. Usando o Node.JS consegue testar e executar aplicações de uma maneira mais fácil e hoje descobrimos o que é uma Engine V8.


Dart


Numa tentativa de fugir ao Javascript a Google criou a sua própria versão, Conheça o script da Gigante da tecnologia. https://digitalinnovation.one/artigos/voce-ainda-vai-ouvir-falar-muito-de-dart


Espero ter ajudado, deixo o link do meu Github, explore a vontade, ele é meio caótico, mas tem bons easter-eggs.


https://github.com/VagnerBellacosa


Acompanhe meus Bootcamps na DIO


https://github.com/VagnerBellacosa/DIO_Bootcamps



 https://www.linkedin.com/in/vagnerbellacosa/


 https://github.com/VagnerBellacosa/


Pode me dar uma ajudinha no YouTube?


 https://www.youtube.com/user/vagnerbellacosa


0
5

Comentários (0)

Analista Programador dinossauro IBM Mainframe

Brasil