JavaScript: o guia completo para desenvolvedores de site
Todo mundo que tem um conhecimento, mesmo que básico, sobre o funcionamento dos sites, já ouviu falar sobre JavaScript. Essa linguagem de scripts foi criada para dar mais dinamismo aos sites e, graças à sua versatilidade, extensa comunidade, variedade de bibliotecas e frameworks, tornou-se uma solução para os diversos tipos de aplicações.
O desenvolvedor especialista nessa linguagem transforma-se em um profissional completo. Um dos principais responsáveis pela mudança de patamar do JavaScript, de uma linguagem client-side para uma solução integral, foi o interpretador Node.js, que permitiu a sua utilização também do lado do servidor e viabilizou a criação de sites completos.
Neste post, vamos conhecer o que é a linguagem JavaScript, suas aplicações, principais bibliotecas e frameworks e por que ela está crescendo cada vez mais. Confira!
JavaScript é uma linguagem que permite a inserção de funções em uma aplicação web, ou seja, permite que um site seja mais do que uma página estática e informativa. Com o JavaScript é possível atualizar conteúdos em uma página em intervalos de tempo, criar mapas interativos, gráficos animados, entre outros recursos.
Na estrutura de um site, ou seja, em seu código, o JavaScript fica na terceira camada, abaixo do HTML e do CSS. Veja abaixo a ordem e o que representa cada uma dessas camadas.
O HTML é a linguagem de marcação, que dá a estrutura para a página, o seu esqueleto. Aqui são indicadas as posições de cada elemento do site: os parágrafos, tabelas, listas, títulos, inserção de imagens e vídeos.
O CSS é uma linguagem que define as regras de estilo que serão utilizadas em uma página. Aqui são definidas as cores e estilo das fontes, do plano de fundo, posicionamento de conteúdo em colunas e até regras de transição de elementos.
Afinal, qual é a função do JavaScript em um site?
Vimos acima que os sites são estruturados em três camadas, sendo que duas delas foram explicadas brevemente no tópico anterior. Vamos entender com mais detalhe a camada JavaScript e como ela se relaciona com as outras. Antes de tudo, precisamos entender como o código é interpretado, para que seja exibida a imagem e os recursos que o usuário vê na tela quando acessa um site.
Quando abrimos um site em nosso navegador favorito, estamos implementando um código dentro de um ambiente de execução. A linguagem JavaScript é acionada pelo motor de renderização do navegador, após a interpretação do HTML e do CSS — isso assegura que a estrutura da página estará pronta quando o JavaScript for executado.
Essas ações também garantem que o conteúdo principal da página ficará disponível, pois se o JavaScript fosse carregado antes do HTML e do CSS, poderiam ocorrer erros de TI que comprometeriam toda a estrutura. Como se trata de uma linguagem criada para dar dinamismo à página, o JavaScript tinha como foco inicial ser uma linguagem que rodava do lado do cliente, ou seja, no navegador, mas essa limitação já foi rompida. Veja como isso é feito no tópico seguinte.
Como a linguagem JavaScript deixou de ser apenas client-side?
Quando falamos de criação de sites, temos que especificar de qual lado da aplicação estamos nos referindo — são basicamente dois, o lado do servidor (server-side) e o lado do cliente (client-side), ou seja, o conteúdo que aparece no navegador. Os códigos do lado do cliente — criados em HTML, CSS e JavaScript — são executados na casa do usuário, em seu navegador. Já os códigos server-side são executados no servidor em que o site foi hospedado.
Embora tenha sido criado para atuar do lado do cliente, atualmente o JavaScript pode ser utilizado em ambas as faces, incluindo a do servidor. Isso permite que um desenvolvedor especializado nessa linguagem consiga atuar em todas as etapas da criação de uma aplicação web. Esses desenvolvedores são chamados de dev full stack e estão cada vez mais valorizados no mercado.
Quais são as tecnologias que permitem a utilização do JavaScript full stack?
Para que possamos entender melhor como o JavaScript é utilizado em todas as camadas de uma aplicação web, precisamos conhecer as seguintes tecnologias — Node.js, Express, EJS e MongoDB — pois são elas que permitem a criação de um site do início ao fim com JavaScript.
Se hoje podemos construir um site do início ao fim utilizando o JavaScript, temos que agradecer ao programador Ryan Dahl. A plataforma Node.js possibilita a interpretação do código do lado do servidor, levando o JavaScript para o back-end.
Ao criar um ambiente de desenvolvimento, a equipe de desenvolvedores deverá fazer a instalação do Node.js e, depois, uma ferramenta chamada NPM — Node Package Manager. É o NPM que permitirá a instalação e o gerenciamento de módulos no Node.js. Há desenvolvedores que preferem o Yarn ao NPM, mas o importante não é a ferramenta em si, e sim sua funcionalidade, mais especificamente, a instalação do framework Express.
O Express permite a criação de qualquer tipo de aplicação web com facilidade, pois estamos falando de uma plataforma minimalista e robusta. Com ele, é possível passar facilmente do navegador para o back-end, economizando o trabalho de programação.
O EJS — Embedded JavaScript templates — é uma linguagem que possibilita a criação de HTML utilizando somente JavaScript. Ou seja, com ela, o programador pode criar o site inteiro utilizando apenas uma linguagem. Assim, o desenvolvedor ganha em velocidade de criação, além do código ser mais integrado e padronizado.
O MongoDB é a ferramenta que finaliza a criação de um site de ponta a ponta utilizando apenas JavaScript, pois ela permite a estruturação do banco de dados em arquivos JSON-like. É um banco de dados open source e gratuito, que deverá ser utilizado com as demais ferramentas indicadas neste tópico.
Além de sites, o que podemos fazer com JavaScript?
Apesar de estar sempre relacionado a sites e aplicações web, a linguagem JavaScript vem adquirindo uma versatilidade cada vez maior nos últimos anos. Essa mudança começou a acontecer no início dos anos 2000, quando a Google adotou a linguagem para desenvolver alguns de seus produtos, como o Gmail. Nessa época, os desenvolvedores encontraram um grande problema: os interpretadores JS dos navegadores ainda eram bastante lentos.
Para contornar essa situação, a empresa desenvolveu uma engine de JS — o Engine V8 — open source e colocou como padrão em seu navegador, o Google Chrome. Não demorou muito para que a engine se tornasse padrão de mercado e fosse adotada por outros navegadores.
A partir disso, com o crescimento da comunidade de desenvolvedores especialistas em JavaScript, novas ferramentas surgiram e a linguagem passou a ser utilizada para o desenvolvimento de soluções que vão muito além das aplicações web.
Veja abaixo o que pode ser feito utilizando a linguagem JavaScript.
O JavaScript permite a criação de aplicativos para smartphones, com a vantagem de que o desenvolvedor pode utilizar apenas uma linguagem em diferentes plataformas. Tudo começou com as aplicações híbridas, que têm esse nome por utilizar duas tecnologias diferentes.
Por exemplo, o Sistema operacional Android é escrito em Java. Ao utilizar o Cordova, o programador consegue criar aplicações web comuns, na estrutura HTML, CSS e JavaScript e acessar as funcionalidades do dispositivo móvel pelo JavaScript, por meio de uma integração com o código nativo em Java.
Quando abrimos o aplicativo, na verdade estamos abrindo o navegador interno, que exibirá a aplicação e permitirá o acesso a essas funcionalidades. O nome híbrido vem justamente dessa junção entre tecnologia web e tecnologia nativa.
Há também a possibilidade do desenvolvimento de aplicativos nativos, utilizando as ferramentas React Native e o NativeScript. Nesse modelo, em vez de criar uma tela HTML, é utilizado o XML estilizado com CSS. Em vez de utilizar o navegador padrão como base, nesse modelo, é criada uma tela nativa da plataforma — iOS ou Android — com as ações escritas em JavaScript.
A grande vantagem dos aplicativos nativos em relação aos híbridos, é que o primeiro entrega um desempenho maior do que o segundo. As aplicações híbridas dependem do navegador padrão do sistema, o que gera um risco de incompatibilidade de códigos. Na aplicação nativa não há a dependência de navegadores, ou seja, o desenvolvedor não precisará se preocupar se terá ou não suporte para as funcionalidades.
Softwares para Desktop
Sim! É possível criar aplicações para desktops utilizando JavaScript, aproveitando o Chromium — o navegador de código aberto que serve de base para o Google Chrome — além do Node.js. Nesse modelo de aplicação as telas são feitas utilizando o HTML5 e o CSS3, além do JavaScript, que se comunica diretamente com o Node.js, que ficará embutido na aplicação.
O framework mais utilizado para esse tipo de aplicação é o Electron, criado pela equipe do GitHub. Com ela, já foram desenvolvidos softwares como o Atom, Slack e o Visual Studio Code.
Se podemos criar softwares para desktops e para dispositivos móveis, também podemos criar jogos completos tendo como base a linguagem JavaScript. Aliás, existem Frameworks especializados na criação de games. Um dos frameworks mais utilizados para esse objetivo é o Phaser, que permite ao desenvolvedor utilizar a trinca de linguagens — HTML, CSS e JavaScript — para a criação dos games.
Um dos benefícios de se utilizar o Phaser é que a própria empresa oferece um curso completo de desenvolvimento de jogos para quem quer desenvolver games utilizando sua plataforma. O curso vai desde o "Hello, World" até o desenvolvimento de um jogo completo. Além disso, para quem resolver investir na engine como ferramenta de trabalho, o site oficial do Phaser traz uma loja com inúmeros plugins, apps e cursos que ensinam a utilizar a plataforma e a desenvolver games.
O que é necessário para aprender JavaScript?
A linguagem JavaScript é uma das mais procuradas por quem quer aprender programação. Isso não é por acaso, afinal, estamos falando de uma linguagem extremamente versátil e que permite ao desenvolvedor criar aplicações para diversos ambientes, muitas vezes com apenas um código.
Para ser um bom desenvolvedor JavaScript, o aprendiz deve também buscar conhecimento em HTML e CSS, aproveitando-se dos inúmeros materiais, fóruns e repositórios sobre o desenvolvimento web. Além disso, você deverá ter conhecimento de sintaxe de programação, para criar um código padronizado, limpo e leve.
O que é sintaxe de programação?
A linguagem de programação não tem esse nome à toa. Estamos realmente falando de uma linguagem, que tem estrutura e sintaxe, com um conjunto de comandos, vírgulas, pontos, caracteres especiais e regras bem definidas sobre o que pode e o que não pode ser feito. Se na linguagem humana os erros de sintaxes geram falhas na comunicação, na linguagem de programação, um erro de sintaxe pode significar um programa com bugs.
Ao contrário do que muita gente pode pensar, para estudar programação a pessoa não precisa ser um gênio da matemática ou um especialista em tecnologia. Um bom programador é um bom resolvedor de problemas, ou seja, é uma pessoa que consegue dividir a solução de um problema em passos bem estruturados.
Isso pode ser feito com papel e caneta ou com um computador, não importa, o importante é que a pessoa descreva todas as etapas para executar uma tarefa. Depois disso, deverá instruir o computador, por meio de uma linguagem de programação, a executar essas tarefas, de forma sequencial e lógica — é a isso que damos o nome de lógica de programação.
Aliás, existem cursos de lógica de programação, que ensinam a criação de algoritmos e também a estruturação deles em códigos, que depois podem ser transportados para sua linguagem de programação preferida, como o JavaScript.
Posso aprender JavaScript e programação gratuitamente?
Não há desculpas para quem deseja aprender a programar. Uma gama de cursos gratuitos de programação está disponível na internet, tanto para iniciantes quanto para programadores intermediários. Alguns deles, inclusive, com qualidade superior a cursos pagos. No meio de tantas opções, podemos destacar duas: o Instituto TIM e o Canal Curso em Vídeo, do professor Gustavo Guanabara. Separamos abaixo alguns cursos das duas plataformas que têm relação com o tema deste post.
O canal Curso em Vídeo oferece várias formações voltadas para a área de programação e tecnologia, com uma excelente didática e um pacote gráfico profissional, superior a muitos cursos pagos. Veja abaixo algumas opções:
curso de lógica de programação — aprenda a sintaxe de programação e escreva os seus primeiros códigos;
curso de JavaScript para iniciantes — após aprender programação, é hora de transportar seus conhecimentos aprendendo as bases do JavaScript;
curso de HTML com CSS — o que seria do JavaScript sem os seus dois amigos de batalha, HTML e CSS? Para ser especialista em JavaScript terá que aprendê-los também;
curso de programação orientada a objetos — esse curso ensinará a criar códigos e programas com uma estrutura plugável, ou seja, será possível criar códigos separados, uni-los em um programa e, depois, reutilizá-los em outro.
Cursos TimTec
O Instituto TimTec oferece uma série de cursos voltados para o mundo da tecnologia e produção de conteúdo para a web. Para quem quer se dedicar ao desenvolvimento, seja de sites, aplicações mobile ou jogos, os cursos abaixo são os mais indicados. Veja:
HTML5 Introdução ao front-end — o curso de HTML5 é o primeiro passo para quem quer criar um site ou aplicação baseada em JavaScript;
introdução à lógica de programação — aprenda sintaxe de programação;
curso de JavaScript e suas bibliotecas — curso de JavaScript com foco na biblioteca jQuery;
curso de programação de games com JavaScript — curso com foco prático, ou seja, você aprende criando um jogo;
curso de designer de jogos — aqui o aluno aprenderá os conceitos básicos para a criação do jogo, que envolve as mecânicas, estruturação de fases, objetivo, desafios, etc.;
introdução à criação de sites — aqui você aprenderá a criar os seus primeiros sites;
desenvolvimento front-end — um curso que aborda a criação de sites com foco no lado do cliente, ou seja, HTML5, CSS3 e JavaScript;
desenvolvimento de interfaces com CSS3 — um curso focado em CSS, para que você entenda a importância da linguagem de estilo para deixar o site mais leve e responsivo;
desenvolvimento web com Angular JS — desenvolvimento utilizando um dos principais frameworks do mercado;
boas práticas para o desenvolvimento de software — curso importantíssimo para quem está começando na área de programação e quer criar códigos sintaticamente corretos.
Quais são os principais frameworks e bibliotecas JavaScript?
Como já vimos neste post, o desenvolvimento com JavaScript pode ser potencializado com a ajuda de bibliotecas e frameworks. São essas ferramentas que permitem que uma linguagem de scripts, criada para o desenvolvimento client-side, possa ser utilizada para a programação de produtos para as mais diversas plataformas.
A biblioteca JavaScript utiliza o código como base e uma determinada implementação de regras, como foco na simplificação da utilização de uma linguagem. Já o framework é um conjunto de componentes que tem uma base pronta para um projeto. Veja abaixo quais são as principais bibliotecas e frameworks JavaScript.
O React é um framework muito popular, mantido pelo Facebook e considerado por muito mais do que um framework, uma biblioteca. O Uso do React quase sempre está relacionado a outras bibliotecas, como o Redux. Entre as principais funcionalidades desse framework está a presença de códigos limpos e confiáveis, apresentando camadas simplificadas de abstração.
Outro recurso que podemos destacar é o DOM Virtual, que permite ao desenvolvedor fazer alterações no código e inseri-las no DOM da página de uma maneira mais controlada. Em relação ao banco de dados, o React opera em um fluxo unidirecional, também conhecido como one-way data binding. Nesse modelo, a informação vem direto do banco de dados e vai para a tela, sem sincronia, ou seja, o sistema lê os dados e os joga na tela.
Assim como o Facebook mantêm o React, o Google mantêm o Angular, um dos frameworks mais completos da internet, que está na sua oitava versão. Desde seu lançamento, o angular vem recebendo inúmeras melhorias com foco na otimização da experiência do usuário e confiabilidade do seu banco de informações.
Em relação aos dados, o Angular funciona diferentemente do React, apresentando um fluxo conhecido como two-way data binding. Aqui há uma maior sincronização dos dados com os elementos do front-end desenvolvido pelo programador, simplificando a comunicação entre banco de dados e produto.
O Vue.js é uma biblioteca indicada para quem está começando no mundo da programação com JavaScript. A biblioteca apresenta templates baseados em HTML e opera no sistema two-way data binding. A principal vantagem do Vue.js é a sua simplicidade no uso, com uma interface intuitiva que torna o aprendizado da linguagem simplificado, ou seja, ideal para os iniciantes.
jQuery é a biblioteca mais popular de JavaScript, sendo quase um requisito básico quando uma empresa está em busca de um profissional que domine a linguagem. O lema do jQuery já diz o seu intuito: "escreva menos, faça mais", "write less, do more".
O benefício dessa biblioteca está na simplificação de códigos nativos da linguagem, que costumam ser bem mais extensos. Além de facilitar a digitação, agilizando o desenvolvimento, o usuário do jQuery cria um código mais limpo, organizado e de fácil manutenção.
Pela sua popularidade e extensa comunidade, o jQuery se tornou a biblioteca com a maior quantidade de plugins e outras bibliotecas derivadas, das quais podemos destacar e jQuery Mobile e jQuery UI.
Java e JavaScript são a mesma coisa?
Por conta do nome parecido, muita gente confunde Java e JavaScript. A verdade é que essa semelhança fica apenas no nome e na sintaxe — as duas linguagens trazem estruturas matemáticas e de controle parecidas. Mas a semelhança de nome não é por acaso, tem uma razão histórica.
A linguagem JavaScript foi encomendada pela Netscape e criada pelo desenvolvedor Brendan Eich, em meados de 1995. Em princípio, o nome da linguagem era LiveScript. Mais tarde, a Netscape buscou parcerias para tocar o projeto e recebeu apoio da SUN Microsystems, proprietária da linguagem Java. A mudança de LiveScript para JavaScript foi feita nessa fase, como uma estratégia de marketing. Afinal, a linguagem Java estava em evidência.
Diferenças entre as duas linguagens
Mas se as semelhanças estão apenas nos nomes, histórico e sintaxe, quais são as diferenças entre as duas? Primeiro, é preciso deixar claro que o JavaScript não é uma linguagem de programação tradicional — não pode ser compilada e executada posteriormente. Estamos falando de uma linguagem de script, pois é dependente de um navegador para funcionar.
Já a linguagem Java é uma linguagem de programação que produz softwares independentes, ou seja, programas que não dependem de plataformas para funcionar. As aplicações são executadas pela máquina virtual Java para depois rodar no sistema operacional em que está instalada.
Como vimos neste post, a linguagem JavaScript começou como uma simples forma de dar mais vida a um site. A cada ano, torna-se uma linguagem mais completa e versátil, capaz de fazer quase tudo que as linguagens mais tradicionais conseguem. O profissional que se especializar nela certamente terá um grande mercado para explorar.
Gostou do post? Quer ter acesso a mais textos completos como este? Assine já a nossa newsletter e receba em primeira mão as nossas novidades.