Primeiras aulas do curso Node.js Parte 1: Inovando com JavaScript no backend

Node.js Parte 1: Inovando com JavaScript no backend

Começando com Node - Introdução

Seja muito bem vindo(a) ao curso Node.js: Desenvolvendo com JavaScript no backend do nosso instrutor Gabriel Leite.

Para que você tenha um ótimo aproveitamento do conteúdo que será apresentado, é importante ter completado os pré-requisitos necessários:

Agora vamos direto à pergunta central desse curso: o que é o Node?

O Node nada mais é do que uma plataforma que possibilita o desenvolvimento de aplicações no backend utilizando a linguagem mais conhecida da web: o JavaScript, que inicialmente foi criada para rodar somente no navegador.

O objetivo é executarmos uma aplicação em Javascript no backend, fazendo com que ela receba requisições do navegador e devolva respostas, tudo por meio do famoso Protocolo HTTP.

A aplicação que construiremos durante esse curso será baseada na nossa já conhecida Casa do Código, e consistirá em uma lista de livros na qual o usuário poderá adicionar, remover, editar, entre outras funcionalidades.

Com isso, estudaremos a fundo quais ferramentas são disponibilizadas pelo Node. Vamos começar?

Começando com Node - Primeiros passos com Node

É hora de darmos os primeiros passos com o Node. Para desenvolvermos qualquer aplicação nessa plataforma, é óbvio que precisaremos instalá-la no computador.

Caso ainda não tenha feito isso, consulte o passo a passo de instalação do Node, com instruções para os principais sistemas operacionais do mercado (Windows, Mac ou Linux).

Em seguida, criaremos uma pasta "casadocodigo" em qualquer diretório do computador. No editor de código da sua preferência (no nosso caso, estamos usando o Visual Studio Code), acessaremos essa pasta e criaremos o arquivo olaMundoNode.js (um arquivo JavaScript comum). Nele, escreveremos uma das instruções mais conhecidas por quem desenvolve com JavaScript: console.log(). Passaremos então a mensagem "Ola Mundo Node!" entre aspas simples. ]

console.log('Ola Mundo Node!');

Queremos executar esse arquivo utilizando a plataforma Node, fazendo com que ele rode no nosso backend. No Prompt de Comando, acessaremos a pasta "casadocodigo" e escreveremos o comando node seguido do nome do arquivo a ser executado (olaMundoNode.js). Pressionando "Enter" no teclado, a mensagem "Ola Mundo Node!" será exibida na tela.

E o que aprendemos com isso? Bom, é simples: o Node conseguirá executar qualquer arquivo JavaScript (com a extensão .js). Para essa execução, basta utilizarmos o comando node, habilitado a partir do momento em que a plataforma é instalada, e o nome do arquivo.

Agora queremos criar uma aplicação capaz de receber requisições do protocolo HTTP e enviar respostas para o navegador, e é justamente isso que começaremos a seguir. Até lá!

Começando com Node - Criação do servidor web

Vamos nos aprofundar um pouco mais na plataforma Node de modo a criar um servidor web. Primeiramente, precisaremos de um responsável por receber as requisições do navegador, tratá-las e devolver uma resposta ao cliente. A boa notícia é que o Node, por padrão, disponibiliza um módulo específico para isso.

Um módulo Node é como uma biblioteca, ou seja, um conjunto de funcionalidades que ajuda a resolver determinadas tarefas. Sendo assim, no mundo Node, um arquivo qualquer com a extensão .js já é um módulo.

No nosso caso, teremos dois arquivos no projeto "casadocodigo":

Durante o curso, iremos nos aprofundar ainda mais sobre os módulos e suas funcionalidades, portanto guarde essa informação!

Para utilizarmos o módulo HTTP disponibilizado pelo Node, precisaremos importá-lo. Isso é feito com a função require(), recebendo como parâmetro uma string, que é simplesmente o nome do módulo a ser importado. Atribuiremos a referência dessa função a uma constante (const) chamada http.

De posse dessa referência, executaremos o método createServer(), que retorna um objeto do tipo Server. Esse retorno será armazenado dentro de outra constante, chamada servidor.

const http = require('http');

const servidor  = http.createServer();

Quem trabalha com Java tem o costume de utilizar o Tomcat, o JBoss ou outros servidores. Normalmente, as aplicações desses servidores rodam na porta 8080. Já o Apache, um servidor para o mundo PHP, normalmente roda na porta 80. Ou seja, nesse momento precisamos definir em qual porta nosso servidor irá funcionar.

Com o método servidor.listen(), configuraremos a porta 3000 como sendo responsável pela execução do nosso servidor. Essa é a porta mais comumente utilizada no mundo Node, portanto seguiremos essa convenção.

const http = require('http');

const servidor  = http.createServer();
servidor.listen(3000);

Ainda precisamos definir o que esse servidor deverá fazer ao receber uma requisição. O método createServer() pode receber como parâmetro opcional uma função que será executada toda vez que o servidor receber uma requisição do cliente (requestListener). Essa função recebe dois parâmetros, request e response.

Portanto, criaremos uma função anônima (function () recebendo esses dois parâmetros. De posse desses objetos, definiremos o que o Node precisará fazer na requisição e na resposta. Nosso objetivo é simplesmente devolver para o usuário uma string representando o HTML. Faremos isso com o método end(), recebendo tal conteúdo:

const http = require('http');

const servidor  = http.createServer(function (req, resp) {
    resp.end(`
        <html>
            <head>
                <meta charset="utf-8">
            </head>
            <body>
                <h1> Casa do Código </h1>
            </body> 
        </html>
    `);
});
servidor.listen(3000);

No Prompt de Comando, usaremos node server.js para executar esse arquivo. No navegador, acessaremos http://localhost:3000. Como resposta, teremos a mensagem:

Casa do Código

Ou seja, um HTML cujo corpo é somente o texto exibido. Isso significa que a requisição foi atendida satisfatoriamente pelo nosso servidor!

Lembre-se que a função que passamos para o método createServer() só será executada quando o servidor receber uma requisição do cliente. No mundo Java, e também em outras linguagens, funções que só são executadas dada a ocorrência de um evento são chamadas de "funções callback", e serão muito utilizadas na plataforma Node.

No navegador, atendemos a requisição para o endereço http://localhost:3000. E se quiséssemos criar uma URL http://localhost:3000/livros, por exemplo, para listar os livros da casa do código? Atualmente, acessando essa URL ou qualquer outra precedida por http://localhost:3000, teríamos sempre a mesma resposta "Casa do Código".

A seguir, aprenderemos como devolver informações diferentes em cada URL da nossa aplicação.

Sobre o curso Node.js Parte 1: Inovando com JavaScript no backend

O curso Node.js Parte 1: Inovando com JavaScript no backend possui 186 minutos de vídeos, em um total de 54 atividades. Gostou? Conheça nossos outros cursos de Node.JS em Programação, ou leia nossos artigos de Programação.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Node.JS acessando integralmente esse e outros cursos, comece hoje!

  • 1124 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

Premium

  • 1124 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$75
à vista R$900
Matricule-se

Premium Plus

  • 1124 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$100
à vista R$1.200
Matricule-se

Max

  • 1124 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$120
à vista R$1.440
Matricule-se
Procurando planos para empresas?
Acesso por 1 ano
Estude 24h/dia onde e quando quiser
Novos cursos toda semana