0

Uma introdução ao JavaScript

Ariosto Leal
Ariosto Leal

Uma introdução ao JavaScript

Vamos ver o que há de tão especial no JavaScript, o que podemos alcançar com ele e o que outras tecnologias funcionam bem com ele.

O que é JavaScript?

JavaScript foi inicialmente criado para “tornar as páginas da web vivas”.

Os programas nesta linguagem são chamados de scripts . Eles podem ser escritos diretamente no HTML de uma página da web e executados automaticamente quando a página é carregada.

Os scripts são fornecidos e executados como texto simples. Eles não precisam de preparação ou compilação especial para serem executados.

Nesse aspecto, JavaScript é muito diferente de outra linguagem chamada Java .

Por que é chamado de Java Script?

Quando o JavaScript foi criado, inicialmente tinha outro nome: “LiveScript”. Mas Java era muito popular naquela época, então foi decidido que posicionar uma nova linguagem como um “irmão mais novo” de Java ajudaria.

Mas, à medida que evoluiu, o JavaScript tornou-se uma linguagem totalmente independente com sua própria especificação chamada ECMAScript , e agora não tem nenhuma relação com o Java.

Hoje, o JavaScript pode ser executado não apenas no navegador, mas também no servidor ou, na verdade, em qualquer dispositivo que tenha um programa especial chamado mecanismo JavaScript .

O navegador tem um mecanismo integrado às vezes chamado de “máquina virtual JavaScript”.

Motores diferentes têm “codinomes” diferentes. Por exemplo:

  • V8 - no Chrome e Opera.
  • SpiderMonkey - no Firefox.
  • … Existem outros codinomes como “Chakra” para IE, “ChakraCore” para Microsoft Edge, “Nitro” e “SquirrelFish” para Safari, etc.

É bom lembrar os termos acima porque são usados ​​em artigos de desenvolvedores na Internet. Nós os usaremos também. Por exemplo, se “um recurso X é compatível com V8”, provavelmente funciona no Chrome e no Opera.

Como funcionam os motores?

Os motores são complicados. Mas o básico é fácil.

  1. O mecanismo (incorporado se for um navegador) lê (“analisa”) o script.
  2. Em seguida, ele converte (“compila”) o script para a linguagem de máquina.
  3. E então o código de máquina é executado muito rápido.

O mecanismo aplica otimizações em cada etapa do processo. Ele ainda observa o script compilado enquanto ele é executado, analisa os dados que fluem por ele e otimiza ainda mais o código de máquina com base nesse conhecimento.

O que o JavaScript no navegador pode fazer?

O JavaScript moderno é uma linguagem de programação “segura”. Ele 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 do JavaScript dependem muito do ambiente em que está sendo executado. Por exemplo, o Node.js oferece suporte a funções que permitem ao JavaScript ler / gravar arquivos arbitrários, realizar solicitações de rede etc.

JavaScript no navegador pode fazer tudo relacionado à manipulação da página da web, interação com o usuário e servidor da web.

Por exemplo, o JavaScript no navegador é capaz de:

  • Adicione novo HTML à página, altere o conteúdo existente, modifique estilos.
  • Reaja às ações do usuário, execute em cliques do mouse, movimentos do ponteiro, pressionamentos de tecla.
  • Envie solicitações pela rede para servidores remotos, baixe e envie arquivos (as chamadas tecnologias AJAX e COMET ).
  • Obtenha e configure cookies, faça perguntas ao visitante, mostre mensagens.
  • Lembre-se dos dados do lado do cliente (“armazenamento local”).

O que o JavaScript no navegador NÃO PODE fazer?

As capacidades do JavaScript no navegador são limitadas para o bem da segurança do usuário. O objetivo é evitar que uma página maléfica acesse informações privadas ou prejudique os dados do usuário.

Exemplos de tais restrições incluem:

  • JavaScript em uma página da web não pode ler / gravar arquivos arbitrários no disco rígido, copiá-los ou executar programas. Ele não tem acesso direto às funções do sistema operacional.
  • Os navegadores modernos permitem trabalhar com arquivos, mas o acesso é limitado e somente fornecido se o usuário realizar determinadas ações, como “soltar” um arquivo na janela do navegador ou selecioná-lo por meio de uma <input>tag.
  • Existem maneiras de interagir com a câmera / microfone e outros dispositivos, mas exigem a permissão explícita do usuário. Portanto, uma página habilitada para JavaScript pode não habilitar furtivamente uma câmera da web, observar os arredores e enviar as informações para a NSA .
  • Geralmente, diferentes guias / janelas não se conhecem. Às vezes sim, por exemplo, quando uma janela usa JavaScript para abrir a outra. Mas mesmo neste caso, o JavaScript de uma página pode não acessar a outra se eles vierem de sites diferentes (de um domínio, protocolo ou porta diferente).
  • Isso é chamado de “Política da Mesma Origem”. Para contornar isso, ambas as páginas devem concordar com a troca de dados e conter um código JavaScript especial para lidar com isso. Abordaremos isso no tutorial.
  • Esta limitação é, novamente, para a segurança do usuário. Uma página da http://anysite.comqual um usuário abriu não deve ser capaz de acessar outra guia do navegador com o URL http://gmail.come roubar informações dela.
  • JavaScript pode se comunicar facilmente pela rede com o servidor de onde veio a página atual. Mas sua capacidade de receber dados de outros sites / domínios é prejudicada. Embora possível, requer acordo explícito (expresso em cabeçalhos HTTP) do lado remoto. Mais uma vez, essa é uma limitação de segurança.


Esses limites não existem se o JavaScript for usado fora do navegador, por exemplo, em um servidor. Os navegadores modernos também permitem plug-ins / extensões que podem solicitar permissões estendidas.

O que torna o JavaScript único?

Existem pelo menos três coisas excelentes sobre o JavaScript:


  • Integração total com HTML / CSS.
  • Coisas simples são feitas de forma simples.
  • Suporte para todos os principais navegadores e habilitado por padrão.

JavaScript é a única tecnologia de navegador que combina essas três coisas.

É isso que torna o JavaScript único. É por isso que é a ferramenta mais difundida para a criação de interfaces de navegador.

Dito isso, o JavaScript também permite criar servidores, aplicativos móveis, etc.

Idiomas “sobre” JavaScript

A sintaxe do JavaScript não atende às necessidades de todos. Pessoas diferentes desejam recursos diferentes.

Isso era de se esperar, porque os projetos e requisitos são diferentes para cada pessoa.

Recentemente, apareceu uma infinidade de novas linguagens, que são transpiladas (convertidas) para JavaScript antes de serem executadas no navegador.

Ferramentas modernas tornam a transpilação muito rápida e transparente, permitindo, na verdade, aos desenvolvedores codificar em outro idioma e convertê-lo automaticamente “nos bastidores”.

Exemplos dessas linguagens:

  • CoffeeScript é um “açúcar sintático” para JavaScript. Ele apresenta uma sintaxe mais curta, permitindo-nos escrever um código mais claro e preciso. Normalmente, os desenvolvedores de Ruby gostam.
  • O TypeScript concentra-se na adição de “tipagem estrita de dados” para simplificar o desenvolvimento e o suporte de sistemas complexos. É desenvolvido pela Microsoft.
  • O fluxo também adiciona a digitação de dados, mas de uma maneira diferente. Desenvolvido por Facebook.
  • O Dart é uma linguagem autônoma que possui seu próprio mecanismo que roda em ambientes sem navegador (como aplicativos móveis), mas também pode ser transpilado para JavaScript. Desenvolvido pelo Google.
  • Brython é um transpiler Python para JavaScript que permite a escrita de aplicativos em Python puro sem JavaScript.
  • Kotlin é uma linguagem de programação moderna, concisa e segura que pode ser direcionada ao navegador ou ao Node.

Há mais. Claro, mesmo se usarmos uma das linguagens transpiladas, também devemos saber JavaScript para realmente entender o que estamos fazendo.

Resumo

  • JavaScript foi inicialmente criado como uma linguagem apenas para navegador, mas agora também é usado em muitos outros ambientes.
  • Hoje, o JavaScript tem uma posição única como a linguagem de navegador mais amplamente adotada, com integração total em HTML / CSS.
  • Existem muitas linguagens que são “transpiladas” para JavaScript e fornecem certos recursos. Recomenda-se dar uma olhada neles, pelo menos brevemente, após dominar o JavaScript.


0
0

Comentários (2)

1
Leonardo Souza

Leonardo Souza

08/04/2021 09:48

Muito bom!! Estou iniciando os estudos para Front end e pelo visto JavaScript vai ser o meu foco.


O artigo ajudou a entender melhor sobre o foco da linguagem e suas integrações.

2
Lucio Brasileiro

Lucio Brasileiro

08/04/2021 07:22

JavaScript, linguagem que conforta para quem estar iniciando. Um exemplo simples : O recurso de não informar diretamente o tipo da variável, ajuda muito o estudante de programação. Por exemplo, A dificuldade em lógica de programação nas atividades iniciais que precisa informar o tipo da variável. Parece uma explicação boba, mas para as pessoas que estão migrando para programação, entender em seus estudos caracter ou cadeia de caracteres, visualizar essa mensagem no console e não funcionar por motivo de não informar corretamente o tipo da variável é desestimulante. Imagina, dificuldade em variável e ser um dev.

None

Brasil