O que é o JavaScript?

JavaScript é uma linguagem de programação usada por desenvolvedores para criar páginas interativas da Internet. As funções do JavaScript podem melhorar a experiência do usuário durante a navegação em um site. Por exemplo, atualizando os feeds de mídias sociais ou exibindo animações e mapas interativos. Como uma linguagem de script do lado do cliente, trata-se de uma das principais tecnologias da World Wide Web. Por exemplo, quando você está navegando na Internet e vê um carrossel de imagens, um menu suspenso que você clica para ativar ou elementos com cores que mudam dinamicamente em uma página da Web, você está vendo os efeitos do JavaScript.

Qual a utilidade do JavaScript?

Historicamente, as páginas da Web eram estáticas como páginas em um livro. Uma página estática exibia basicamente informações em um layout fixo e não fazia tudo que esperamos de um site moderno hoje em dia. O JavaScript surgiu como uma tecnologia do lado do navegador para tornar as aplicações Web mais dinâmicas. Usando a linguagem, os navegadores passaram a ser capazes de responder a interações do usuário e alterar o layout do conteúdo na página.

Conforme a linguagem amadureceu, desenvolvedores de JavaScript estabeleceram bibliotecas, frameworks e práticas de programação, além de começar a usá-la fora dos navegadores da Web. Hoje em dia, é possível usar JavaScript para desenvolvimento tanto do lado do cliente quanto do lado do servidor. Nas próximas subseções, apresentamos alguns casos de uso comuns:

Atualização dinâmica de conteúdo

Você pode usar funções em JavaScript para criar recursos interativos que permitam aos usuários do seu site atualizar o conteúdo de modo dinâmico. Veja alguns exemplos de recursos interativos:

·   Exibir ou ocultar informações clicando em um botão

·   Validar dados de formulário inseridos pelo usuário, p. ex., números de telefone e endereços de e-mail

·   Alterar a cor do botão na página com a passagem do cursor sobre o botão

·   Gerar anúncios em janelas pop-up

·   Ampliar ou reduzir uma imagem

·   Reproduzir áudio e vídeo em uma página da Web

Criação de aplicativos móveis e Web

O JavaScript tem uma coleção de bibliotecas internas de código, chamada de frameworks de JavaScript, destinadas ao desenvolvimento de aplicativos móveis e Web. Os desenvolvedores podem usar diversos frameworks de código aberto ou disponíveis gratuitamente e criar aplicativos independentes de plataforma e que podem ser desenvolvidos uma vez e executados em qualquer plataforma. Além disso, o código em JavaScript é leve e requer menos uso computacional, permitindo que os desenvolvedores usem a linguagem com facilidade na criação de aplicativos móveis.

Desenvolvimento de aplicativos do lado do servidor

Os desenvolvedores usam JavaScript a fim de criar infraestrutura robusta de back-end para aplicativos modernos. Por exemplo, bibliotecas de JavaScript do lado do servidor tornam os aplicativos de streaming mais eficientes por terem suporte integrado para comunicação contínua entre o cliente e o servidor. De modo semelhante, ferramentas de colaboração online que são sensíveis às entradas e saídas, como a edição compartilhada de documentos, funcionam melhor quando as ferramentas são criadas usando JavaScript.

Desenvolvimento de jogos

O JavaScript é uma linguagem prática de programação que os desenvolvedores podem usar a fim de criar jogos que funcionam diretamente em navegadores. Algumas bibliotecas de código JavaScript permitem que os desenvolvedores criem um jogo viável e o exportem e distribuam de maneira atômica para diferentes plataformas Web e móveis de jogos. Os desenvolvedores também têm suporte para a renderização visual complexa de imagens e gráficos bidimensionais e tridimensionais animados.

Como o JavaScript funciona?

Todas as linguagens de programação funcionam traduzindo sintaxe escrita de modo semelhante ao idioma inglês em código de máquina que é executado pelo sistema operacional. O JavaScript é amplamente categorizado como uma linguagem de criação de scripts ou uma linguagem interpretada. O código em JavaScript é interpretado, ou seja, é traduzido diretamente no código de linguagem de máquina subjacente por um mecanismo de JavaScript. Em outras linguagens de programação, um compilador compila todo o código em linguagem de máquina durante uma etapa distinta. Portanto, todas as linguagens de criação de script são linguagens de programação, mas nem todas as linguagens de programação são linguagens de criação de script.

O mecanismo JavaScript

Um mecanismo JavaScript é um programa de computador que executa código em JavaScript. Os primeiros mecanismos JavaScript eram simples interpretadores, mas todos os mecanismos modernos usam compilação just-in-time ou em tempo de execução para melhorar o desempenho.

JavaScript do lado do cliente

O termo JavaScript do lado do cliente se refere à maneira como o JavaScript funciona em seu navegador. Nesse caso, o mecanismo JavaScript está integrado ao código do navegador. Todos os principais navegadores acompanham os próprios mecanismos JavaScript integrados.

Os desenvolvedores de aplicativos Web escrevem código em JavaScript com diferentes funções associadas a diversos eventos, como um clique no botão ou passada com o cursor do mouse. Essas funções promovem mudanças nos códigos em HTML e CSS.

Veja abaixo uma síntese do funcionamento do JavaScript do lado do cliente:

1.   O navegador carrega uma página da Web quando você a acessa.

2.   Durante o carregamento, o navegador converte a página e todos os seus elementos, como botões, rótulos e caixas de menu suspenso, em uma estrutura de dados chamada de Document Object Model (DOM – Modelo de Objeto de Documento).

3.   O mecanismo JavaScript do navegador converte o código JavaScript em bytecode. Esse código é um intermediário entre a sintaxe em JavaScript e a máquina.

4.   Eventos diferentes, como o clique do mouse em um botão, acionam a execução do bloco de código associado em JavaScript. Em seguida, o mecanismo interpreta o bytecode e faz alterações no DOM.

5.   O navegador exibe o novo DOM.

JavaScript do lado do servidor

O termo JavaScript do lado do servidor se refere ao uso da linguagem de codificação na lógica de back-end do servidor. Nesse caso, o mecanismo JavaScript está diretamente no servidor. Uma função de JavaScript do lado do servidor pode acessar o banco de dados, realizar diferentes operações lógicas e responder a diversos eventos acionados pelo sistema operacional do servidor. A principal vantagem da criação de script do lado do servidor é que você pode promover um alto nível de personalização na resposta do site com base em seus requisitos, seus direitos de acesso e nas solicitações de informação recebidas do site.

Arquitetura do lado do servidor vs. do lado do cliente

A palavra dinâmico pode descrever o JavaScript tanto do lado do cliente quanto do lado do servidor. O comportamento dinâmico é a capacidade de atualizar a exibição da página para gerar conteúdo novo conforme necessário. A diferença entre o JavaScript do lado do cliente e do lado do servidor está na forma como esses dois modos geram conteúdo novo. O código do lado do servidor gera novo conteúdo dinamicamente usando lógica de aplicativo e modificando os dados recebidos do banco de dados. Por outro lado, o JavaScript do lado do cliente gera novo conteúdo de maneira dinâmica diretamente no navegador usando lógica da interface com o usuário e modificando o conteúdo da página que já está no cliente. O significado tem uma diferença sutil nos dois contextos, mas está relacionado. Ambas as abordagens funcionam em sinergia para melhorar a experiência do usuário.

Além da implementação em recursos dinâmicos, outra diferença entre os dois usos do JavaScript está nos recursos aos quais o código tem acesso. Do lado do cliente, o navegador controla o ambiente de tempo de execução do JavaScript. O código só pode acessar os recursos que o navegador permite. Por exemplo, ele não pode gravar conteúdo em seu disco rígido a menos que você clique em um botão de download. Por outro lado, as funções do lado do servidor podem acessar todos os recursos da máquina do servidor conforme a necessidade.

O que são as bibliotecas de JavaScript?

As bibliotecas de JavaScript são coleções de trechos prontos de código que os desenvolvedores Web podem reutilizar para a execução de funções padrão do JavaScript. O código de biblioteca de JavaScript é conectado ao restante do código do projeto de acordo com a necessidade. Fazendo uma analogia, se você pensar no código do aplicativo em JavaScript como uma casa, as bibliotecas de JavaScript são móveis modulares que os desenvolvedores podem usar a fim de aprimorar a funcionalidade da casa.

Veja a seguir alguns dos usos comuns das bibliotecas de JavaScript:

Visualização de dados

A visualização de dados é crucial para que usuários vejam estatísticas, p. ex., no painel de administração ou sobre métricas de painel e desempenho.

Bibliotecas como Chart.js, ApexCharts e Algolia Places têm funções integradas que você pode usar para criar aplicativos Web que exibem dados em gráficos e mapas.

Manipulação de DOM

É possível usar bibliotecas como jQuery e Umbrella JS para facilitar o desenvolvimento Web, pois elas oferecem código de funções padrão de sites, como animações de menu, galerias de imagem, botões, caixas de luz e mais.

Formulários

Qualquer desenvolvimento Web usa formulários para que visitantes do site entrem em contato com alguém, façam o pedido de produtos ou o cadastro para eventos. Algumas bibliotecas de JavaScript, como wForms, LiveValidation, Validanguage e qForms, simplificam as funções de criação de formulários, incluindo validação, layout, condições e transformação de formulários.

Funções de matemática e texto

Muitos aplicativos Web precisam resolver equações matemáticas e processar datas, horários e texto. Em vez de enviar todas as solicitações para o servidor, é mais eficiente processar uma parte do lado do cliente. Desenvolvedores Web fazem isso usando bibliotecas de JavaScript como Date.js, Sylvester e JavaScript URL Library.

O que são os frameworks de JavaScript?

Assim como as bibliotecas de JavaScript, os frameworks de JavaScript são coleções de trechos prontos de código que realizam diferentes funções e podem ser reutilizados. No entanto, enquanto as bibliotecas de JavaScript são uma ferramenta especializada para uso sob demanda, os frameworks são um conjunto completo de ferramentas que ajuda a moldar e organizar qualquer aplicativo Web. Fazendo uma analogia, se você pensar no código do aplicativo JavaScript como uma casa, o framework de JavaScript é a planta baixa usada para construir a casa.

Veja a seguir alguns exemplos de caso de uso para frameworks de JavaScript:

Desenvolvimento de aplicativos móveis e Web

O AngularJS é um framework que simplifica o desenvolvimento e o teste de aplicativos Web, como aplicativos de comércio eletrônico, aplicativos em tempo real e aplicativos de vídeo. O React Native é outro framework compatível com o desenvolvimento de aplicativos móveis renderizados nativamente para iOS e Android.

Desenvolvimento Web responsivo

Um site responsivo proporciona uma experiência de usuário consistente em qualquer dispositivo. Por exemplo, telas de celulares e tablets são menores do que as telas de desktops e notebooks. É desejável que o site seja exibido e apresente dados com exatidão mesmo em telas menores sem cortar as extremidades do site, por exemplo. Usando frameworks como Bootstrap e Ember.js, os desenvolvedores podem desfrutar de benefícios do design responsivo e personalizar facilmente o visual e o funcionamento de um site em diferentes plataformas.

Desenvolvimento de aplicativos do lado do servidor

O Node.js é um framework de JavaScript de código aberto e do lado do servidor que executa código em JavaScript fora de um navegador. Os desenvolvedores usam esse framework para criar aplicativos escaláveis, rápidos e confiáveis baseados em rede e do lado do servidor. Ele é capaz de processar solicitações e fluxos de dados HTTP, dar suporte a sistemas de arquivos e gerenciar vários processos de back-end ao mesmo tempo.

Qual o significado de HTML e CSS?

Linguagem de marcação de hipertexto (HTML) e Folhas de estilo em cascata (CSS) são duas outras linguagens de programação que os desenvolvedores usam para o desenvolvimento de front-end. A linguagem HTML é o elemento básico da maioria das páginas da Web. Todos os parágrafos, seções, imagens, cabeçalhos e textos são escritos usando HTML. O conteúdo é exibido no site na ordem do código em HTML.

Já a linguagem CSS trata de regras de estilo, sendo usada para aplicar diferentes estilos ao conteúdo em HTML. É possível usá-la no design de elementos do site, como cores da tela de fundo, fontes, colunas e bordas.

HTML vs. CSS vs. JavaScript

As três linguagens funcionam em conjunto para criar uma experiência de usuário positiva em qualquer site. Embora HTML e CSS sejam capazes de manipular principalmente conteúdo estático, elas também podem promover integração com o código em JavaScript do lado do cliente para atualizar o conteúdo dinamicamente.

Por exemplo, o bloco de código de script em uma página HTML pode conter JavaScript. Em seguida, o navegador pode processar o código em HTML e o código interno em JavaScript quando a página em HTML for carregada.

Quais são os benefícios do JavaScript?

Facilidade de aprendizado e uso

A sintaxe do JavaScript foi inspirada pela linguagem de programação Java, sendo fácil de aprender e codificar. Os desenvolvedores usam JavaScript para criar scripts do lado do cliente em praticamente todos os sites e aplicativos móveis. Durante a última década, o Node.js também ganhou popularidade para codificação de back-end. Muitas plataformas importantes de streaming e vídeo foram codificadas em Node.js.

Autonomia em relação a plataformas

Ao contrário de outras linguagens de programação, é possível inserir JavaScript em qualquer página da Web e usá-lo com vários outros frameworks e linguagens de desenvolvimento Web. Após escrever o código, é possível executá-lo em qualquer máquina. Portanto, o JavaScript faz com que o desenvolvimento de aplicativos seja independente de plataformas.

Redução da carga do servidor

É possível usar JavaScript para reduzir a carga do servidor e o congestionamento da rede, pois a linguagem é capaz de executar operações lógicas e fazer uma boa parte do trabalho do servidor diretamente no cliente. Por exemplo, pense no processo de preenchimento de um formulário de cadastro. O JavaScript verifica rapidamente se você inseriu um número com 10 dígitos no campo de telefone celular. Se essa solicitação fosse enviada para o servidor, sua página seria regarregada a cada erro, tornando o processo de cadastro lento e enfadonho.

Melhora da interface do usuário

O JavaScript cria sites elegantes que tornam conveniente encontrar e processar informações complexas. Os desenvolvedores usam o JavaScript para ampliar a funcionalidade e a legibilidade, além de aumentar a eficiência das interações para os usuários do site.

Compatibilidade com simultaneidade

O JavaScript é capaz de executar paralelamente vários conjuntos de instruções diferentes. No back-end, o Node.js pode gerenciar e processar respostas de servidor altamente escalonadas sem consumir a mesma largura de banda.

Quais são as limitações do JavaScript?

As linguagens de programação usam variáveis como espaços reservados para os valores efetivos de dados. Por exemplo, em um bloco de código, o desenvolvedor pode escrever x = 5 e y = x + 1. Quando o código for executado, o computador vai alterar automaticamente x e y para 5 e 6, respectivamente, a fim de realizar funções com base neles. É possível ter dados de vários tipos, como strings de texto, números ou uma data. É por isso que a maioria das linguagens de programação permitem que você defina o tipo de variável. Após a definição do tipo de variável, ele não muda. Não é possível armazenar números em variáveis de string.

Por exemplo, se você informar ao programa que x e y são números, e posteriormente realizar a operação x + y, o computador saberá que deve esperar por dois números e somá-los. Por outro lado, se você definir x e y como strings, o operador “+” vai unir as duas strings e criar uma palavra maior.

Linguagem de tipagem fraca

O JavaScript é uma linguagem com tipagem fraca, ou seja, ela não permite que o programador defina o tipo de variável. Uma variável pode armazenar qualquer tipo de dados no tempo de execução e as operações presumem o tipo de variável. O resultado também pode ser lançados para outro tipo de dados, p. ex., uma operação pode retornar o resultado como a string “5” em vez do número 5. Isso pode resultar em erros acidentais na criação do código e em bugs no código devido a erros de tipo.

O que é o TypeScript?

O TypeScript é uma linguagem de programação que melhora o JavaScript ao adicionar tipos na sintaxe. O TypeScript acrescenta sintaxe adicional ao JavaScript, de modo que as ferramentas de edição de código detectem precocemente erros no código. Ao mesmo tempo, o código em TypeScript é convertido para JavaScript e fornece todos os mesmos benefícios da linguagem. Ele também funciona em aplicativos e com frameworks e bibliotecas de JavaScript.

Quais são as limitações do JavaScript?

O AWS SDK para JavaScript é um conjunto de bibliotecas de JavaScript de código aberto e uso gratuito com integração aos serviços da AWS. Elas são compatíveis com desenvolvimento de API, abstrações de nível superior e três tipos de aplicativos:

  • JavaScript para navegador
  • Node.js para servidor
  • React Native para desenvolvimento móvel

O AWS SDK para JavaScript é totalmente escrito em TypeScript e então compilado em JavaScript. Por isso, você recebe todos os benefícios do TypeScript sem preocupações com retrocompatibilidade.

Você pode começar a usar o AWS SDK para Java lendo exemplos de código e o guia de migração ou instalando a ferramenta diretamente do GitHub.

O que é o AWS Amplify para JavaScript?

O AWS Amplify é um conjunto de ferramentas e recursos de propósito específico que permite a desenvolvedores front-end móveis e Web criar aplicativos de pilha completa na AWS com rapidez e facilidade. Com código aberto, as bibliotecas de cliente do Amplify fornecem interfaces centradas em caso de uso e fáceis de usar em diferentes categorias de operações viabilizadas pela nuvem. As bibliotecas de JavaScript do Amplify são compatíveis com diferentes frameworks móveis e Web, inclusive React, React Native, Angular, Ionic e Vue.js. Você pode começar a usar concluindo o Guia de introdução para JavaScript do Amplify.

Próximos passos para JavaScript na AWS

Standard Product Icons (Features) Squid Ink
Confira outros recursos relacionados a produtos
Saiba mais sobre a compatibilidade da AWS com JavaScript 
Sign up for a free account
Cadastre-se para obter uma conta gratuita

Obtenha acesso instantâneo ao nível gratuito da AWS.

Crie uma conta gratuita 
Standard Product Icons (Start Building) Squid Ink
Comece a criar no console

Comece a criar com JavaScript no Console de Gerenciamento da AWS.

Faça login