Introdução aos motores Javascript
JavaScript não é compreensível por computador, mas o único navegador entende JavaScript. Portanto, precisamos de um programa para converter nosso programa JavaScript em uma linguagem compreensível por computador. Um motor JavaScript é um programa de computador que executa código JavaScript e o converte em linguagem compreensível por computador.
Lista de mecanismos de JavaScript:
Navegador | Nome do motor Javascript |
Google Chrome | V8 |
Edge (Internet Explorer) | Chakra |
Mozilla Firefox | Macaco aranha |
Safári | Javascript Core Webkit |
Vamos entender cada um deles.
1. V8: V8 é um mecanismo JavaScript desenvolvido pelo Projeto Chromium para navegadores da web Google Chrome e Chromium. É um mecanismo JavaScript que pode ser executado de forma autônoma ou incorporado em qualquer aplicativo C++. Usando seu próprio analisador, ele gera uma árvore de sintaxe abstrata. Em seguida, o Ignition gera bytecode a partir dessa árvore de sintaxe usando o formato de bytecode V8 interno. Bytecode é compilado em código de máquina pelo TurboFan. Ele também lida com a alocação de memória para objetos, e coleta de lixo os objetos que não são mais necessários. Técnicas de otimização, como elisão de propriedades caras de tempo de execução e cache embutido. O coletor de lixo é um coletor incremental de geração.
O V8 oferece uma vantagem, pois permite que o JavaScript seja executado com muito mais rapidez, o que melhora a experiência dos usuários na web, abre caminho para o desenvolvimento de aplicativos da web e estimula o rápido crescimento do JavaScript do lado do servidor por meio de projetos como Node.js.
2. Chakra: Chakra é um mecanismo JScript desenvolvido pela Microsoft. É um software proprietário. Ele é usado no navegador Internet Explorer. Uma característica distintiva do mecanismo é que ele compila scripts em um núcleo de CPU separado, paralelo ao navegador da web.
3. Spider Monkey: SpiderMonkey é o primeiro motor JavaScript, escrito por Brendan Eich na Netscape Communications, mais tarde lançado como open-source e mantido atualmente pela Mozilla Foundation. Ele ainda é usado no navegador Firefox.
4. Webkit: o WebKit é desenvolvido pela Apple e usado em seu navegador Safari, bem como em todos os navegadores iOS. Ele é usado pelo BlackBerry Browser, consoles PlayStation começando no PS3, os sistemas operacionais móveis Tizen e um navegador incluído com o leitor de e-book Amazon Kindle. A interface de programação de aplicativos (API) C++ do WebKit fornece um conjunto de classes para exibir o conteúdo da Web em janelas e implementa recursos do navegador, como seguir links quando clicado pelo usuário, gerenciar uma lista de retrocesso e gerenciar um histórico de páginas visitadas recentemente.
Exemplo 1: Executando o código JavaScript usando o console: Para o mecanismo Nashorn, o Java 8 introduziu uma nova ferramenta de linha de comando, iejjl. Temos que seguir as etapas abaixo para executar o código JavaScript por meio do console:
- Crie um arquivo chamado com geeksforgeeks.js.
- Abra geeks.js, escreva o código a seguir no arquivo e salve-o.
<script>
var gfg= function(){
print("Welcome to Geeksforgeeks!!!");
};
gfg();
</script>
Saída:
Welcome to Geeksforgeeks!!!
Exemplo 2: Executando o arquivo JavaScript incorporando o arquivo JavaScript no código Java com a ajuda da classe ScriptEngine: Com a ajuda da classe ScriptEngine, podemos criar um mecanismo JavaScript e, com o mecanismo JavaScript, podemos executar o arquivo javaScript.
// Program to show usecase of Javascript
// prog in Java Prog
import javax.script.*;
import java.io.*;
public class Geeksforgeeks {
public static void main(String[] args)
throws Exception {
// Generating Nashorn JavaScript Engine
ScriptEngine ee = new ScriptEngineManager()
.getEngineByName("Nashorn");
// Directly use JS Code inside Java Code
ee.eval("print('Welcome to Geeksforgeeks!!!')");
}
}
Saída:
Você pode obter um erro de tempo de execução como
Aviso: o mecanismo Nashorn está planejado para ser removido de uma versão futura do JDK
Isso ocorre porque o Nashorn será substituído pelo GraalVM.
GraalVM : é um tempo de execução de alto desempenho que melhora o desempenho e a eficiência do aplicativo. Ele é projetado para aplicativos escritos em várias linguagens de programação, como Java, JavaScript, linguagens baseadas em LLVM, como C e C++, e outras linguagens dinâmicas. Ele remove o isolamento entre as linguagens de programação e permite a interoperabilidade em um tempo de execução compartilhado
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva