Neste artigo, veremos o que é tão especial sobre o JavaScript, o que podemos conseguir com ele e quais outras tecnologias funcionam bem com ele.
O que é JavaScript?
O JavaScript foi inicialmente criado para “tornar as páginas da web vivas”. Os programas neste idioma são chamados de scripts e podem ser escritos diretamente no HTML e executar automaticamente à medida que a página é carregada.
Scripts são fornecidos e executados como um texto simples. Eles não precisam de uma preparação especial ou uma compilação para executar (são interpretados, não compilados). Neste aspecto, o JavaScript é muito diferente do Java.
Por que JavaScript?
Quando o JavaScript foi criado, inicialmente tinha outro nome: “LiveScript”. Mas a linguagem Java era muito popular naquela época, então decidiu-se que o posicionamento de um novo idioma como um “irmão mais novo” do Java ajudaria.
Mas, à medida que evoluía, o JavaScript tornou-se uma linguagem totalmente independente, com sua própria especificação chamada ECMAScript, e agora não tem relação com o Java.
Atualmente, o JavaScript pode ser executado não só no navegador, mas também no servidor, ou mesmo em qualquer dispositivo onde exista um programa especial chamado mecanismo de JavaScript.
O navegador possui um mecanismo incorporado, às vezes também é chamado de “máquina virtual JavaScript”. Diferentes motores (engines) têm diferentes “nomes de código”, por exemplo:
- V8 – no Chrome e no Opera.
- SpiderMonkey – no Firefox.
Nota: Existem outros nomes de código como “Trident”, “Chakra” para diferentes versões do IE, “ChakraCore” para Microsoft Edge, “Nitro” e “SquirrelFish” para o Safari, etc.
O que o JavaScript do navegador pode fazer?
O JavaScript moderno é uma linguagem de programação “segura”. Não fornece acesso de baixo nível à memória ou à CPU, porque foi inicialmente criado para navegadores que não o exigem.
Os recursos dependem muito do ambiente que executa JavaScript. Por exemplo, o Node.JS suporta funções que permitem JavaScript para ler / escrever arquivos arbitrários, executar solicitações de rede, etc. O JavaScript no navegador pode fazer tudo relacionado à manipulação da página, a interação com o usuário e o servidor web.
JavaScript no navegador é capaz de:
- Adicionar novo HTML à página, alterar o conteúdo existente, modificar estilos.
- Reagir às ações do usuário, executar ações em cliques do mouse, movimentos do mouse, pressionar as teclas.
- Enviar solicitações através da rede para servidores remotos, baixar e fazer upload de arquivos (as chamadas tecnologias AJAX e COMET).
- Obter e configurar cookies, fazer perguntas ao visitante, mostrar mensagens.
- Lembrar dos dados no lado do cliente (“armazenamento local”).
O que não pode fazer o JavaScript no navegador?
As habilidades do JavaScript no navegador são limitadas por causa da segurança do usuário. O objetivo é evitar que uma página mal-intencionada acesse informações privadas ou prejudique os dados do usuário.
Exemplos de tais restrições são:
- O JavaScript em uma página da Web pode não ler / escrever arquivos arbitrários no disco rígido, copiá-los ou executar programas. Não possui acesso direto às funções do sistema operacional.
- Os navegadores modernos permitem que ele funcione com arquivos, mas o acesso é limitado e apenas fornecido se o usuário fizer determinadas ações, como “soltar” um arquivo em uma janela do navegador ou selecioná-lo através de uma tag <input>.
- Existem maneiras de interagir com câmera / microfone e outros dispositivos, mas eles exigem permissão explícita de um usuário. Portanto, uma página habilitada para JavaScript pode não habilmente ativar uma câmera web, observar os ambientes e enviar as informações para a NSA.
- Diferentes guias / janelas em geral não sabem um sobre o outro. Às vezes, eles fazem, por exemplo, quando uma janela usa o JavaScript para abrir a outra. Mas, mesmo neste caso, o JavaScript de uma página pode não acessar o outro se eles vierem de sites diferentes (de um domínio, protocolo ou porta diferente).
O que torna o JavaScript único?
Há pelo menos três ótimas coisas sobre o JavaScript:
- Integração completa com HTML / CSS.
- Simples coisas feitas de forma simples.
- Compatível com todos os principais navegadores e habilitado por padrão.
Combinado, estas três coisas existem apenas em JavaScript e nenhuma outra tecnologia de navegador. Isso é o que torna o JavaScript único e é por isso que ele é a ferramenta mais difundida para criar interfaces de navegador. Enquanto planeja aprender uma nova tecnologia, é benéfico verificar suas perspectivas. Então, vamos para as tendências modernas que incluem novos idiomas e habilidades do navegador.