#NodeJS

O que é node js? Criando seu primeiro projeto

Apesar de vez ou outra surgirem alguns extremistas polêmicos afirmando que o node.js acabou e que agora o futuro é o framework X ou Y, ou a linguagem A, B, ou G, o node ainda é um dos principais ambientes para desenvolvimento de aplicações backend, e mesmo com bastante material disponível, pode ser difícil encontrar por onde começar e como criar um programa em node.js.

Nessa postagem vou dar uma passada rápida pelos pontos principais e dar algumas dicas básicas para quem está começando os estudos em node.js e quer criar um primeiro programa em node e ver o negócio funcionando pra valer.

O que é e para que serve o Node.js?

O que é e para que serve o Node.js?

Mas afinal, o que é node js? Node.js é um ambiente de execução baseado no motor Javascript V8 do Chrome e que permite escrita de programas utilizando linguagem Javascript no backend. Foi lançado em Maio de 2009 e rapidamente ganhou popularidade, se tornando uma das principais ferramentas para construção de aplicações no lado do servidor, fazendo frente ao PHP que era uma das linguagens mais populares na época.

Entre as suas principais características, estão o fato do node.js ser single thread, o que facilita a construção de aplicações capazes de processar requisições de maneira concorrente, sem a necessidade de gerenciar um pool de threads.

O que dá para fazer com node?

O Node.js é uma plataforma que permite executar JavaScript no lado do servidor, além de facilitar a construção de aplicações escaláveis e de alto desempenho. Com ele é possível desenvolver aplicações backend para as mais diversas necessidades, entre elas:

  • Desenvolvimento de Servidores Web;
  • APIS Restful, usando frameworks como expressjs ;
  • Desenvolvimento de Aplicações em Tempo Real, como bate-papo e servidores de jogos;
  • Ferramentas de Linha de Comando (CLI);
  • Microserviços;
  • Manipulação de Arquivos e Diretórios;
  • Ferramentas de Build e Automação, para projetos web e mobile. Alguns exemplos de ferramentas do tipo: gulp , grunt , webpack , browserify ;
  • Desenvolvimento de Aplicações de Desktop, usando frameworks como Electron ;
  • Manipulação de Bancos de Dados, seja SQL ou NoSQL, usando bibliotecas ou frameworks como Sequelize , Mongoose , entre outros;
  • Implementar testes automatizados para garantir a qualidade do código usando frameworks como Jest , Mocha , Jasmine , entre outros.

Como instalar o Node.js?

Como instalar o Node.js?

Para instalar o Node.js, você pode seguir as instruções passadas no site oficial do node: https://nodejs.org/ . Os procedimentos podem variar um pouco dependendo do sistema operacional que você está usando mas no geral são bem parecidas e é um passo a passo simples de seguir.

Uma outra alternativa, que é a que eu recomendo, é usar o nvm . O NVM (Node Version Manager) é uma ferramenta que facilita a instalação e a gestão de múltiplas versões do Node.js em um mesmo computador. Ele permite que você mude facilmente entre diferentes versões do Node.js, facilitando o desenvolvimento de projetos que podem depender de versões específicas da plataforma, além de facilitar a instalação de novas versões, e a remoção de todas essas versões futuramente pois fica tudo instalado em um diretório local do nvm, então caso queira excluir tudo basta deletar o diretório do nvm e pronto.

Para instalação usando o nvm, o primeiro passo é instalar o nvm usando o seguinte comando:

  curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash<br>

Feche e abra o terminal novamente ou execute source ~/.bashrc (ou source ~/.zshrc se estiver usando o Zsh).

Com o nvm instalado, você pode instalar a versão mais recente do node com:

  nvm install node

Para definir uma versão específica, você pode substituir node pelo número da versão, por exemplo, nvm install 14.17.0.

Após a instalação, você pode verificar se o Node.js e o npm foram instalados corretamente usando os seguintes comandos:

  node -v
  npm -v

Esses comandos exibirão a versão do node e do npm respectivamente.

Leia mais

Qual versão do node escolher?

Ao acessar o site do node, você deve se deparar com duas versões disponíveis, a mais atual (Current) e a LTS. O recomendado na maioria dos casos é utilizar a versão LTS mais recente, pois deve garantir um maior período de suporte, com correções de bug e atualizações de segurança. Ao criar um projeto usando a versão mais recente pode ser que em menos de um ano a versão você já deve ter que atualizar, enquanto a versão LTS garante suporte por pelo menos 3 anos a partir do lançamento.

A versão LTS atual é a 20.11.0, então o ideal é instala-la com nvm install 20.

Gerenciando as versões instaladas

Ao instalar múltiplas versões do node no seu computador, você pode utilizar o comando nvm ls para listar todas essas versões. A saída será algo parecido com o print abaixo:

Saída comando nvm ls

Para escolher a versão que deseja utilizar, use o comando nvm use <versão>, ou seja, para utilizar a versão 20, execute o comando nvm use 20.

Para definir a versão padrão, que vai ser usada sempre que abrir uma nova instância do terminal, use o comando nvm alias default <versão>, ou seja, para definir a versão 20 como padrão, execute o comando nvm alias default 20, fazendo isso o nvm sempre carregará a versão 20 do node como padrão, caso deseje usar uma diferente basta utilizar o comando anterior.

Como criar seu primeiro projeto em Node.js

Como criar primeiro programa em Node.js

Já estando com o ambiente de desenvolvimento devidamente configurado, agora é hora de partir pra prática e aprender a como criar um programa em node.js.

Como foi dito no início da postagem, o node permite que sejam implementadas aplicações utilizando a linguagem Javascript, então um primeiro programa pode ser tão simples quanto:

  1. Crie um arquivo hello-world.js com o conteúdo:console.log('Hello world!');
  2. Para executar o programa, basta executar o comando no terminal:node hello-world.js

E é isso, um programa em node vai sempre ser executado a partir da execução do node passando como parâmetro um arquivo javascript que inicie o processamento do sistema.

Como ler entrada do teclado com node

Para implementação de programas mais complexos em node, em geral é necessário o uso de dependências de módulos já implementados, sejam módulos nativos do node, ou dependências externas. Toda dependência em node é chamada de pacote, e para importar um pacote no seu programa, faz-se o uso da função require.

O exemplo abaixo utiliza o pacote readline, que é um pacote nativo do node e possibilita que sejam lidos valores via linha de comando.

// Soma dois números
const readline = require('readline').createInterface({
  input: process.stdin,
  output: process.stdout,
});

readline.question(`Digite o valor de X: `, (strX) => {
  readline.question(`Digite o valor de Y: `, (strY) => {
    const x = parseInt(strX);
    const y = parseInt(strY);

    console.log(`A soma de X e Y é ${x + y}`);
    readline.close();
  });
});

Como criar um servidor http com node e express

No exemplo abaixo temos o código para criação de servidor http que pode ser usado para implementação de uma api.

Para criação desse programa, foi utilizado o pacote Express . O Express é um framework web rápido e minimalista para Node.js. Ele é usado para construir aplicações web e APIs de maneira mais simples e eficiente.

Antes de qualquer coisa, é preciso entender como funciona a gestão de dependências externas numa aplicação node. O node utiliza o npm (Node Package Manager), que é o sistema de gerenciamento de pacotes embutido no node. Ele facilita a instalação, compartilhamento, gerenciamento e atualização de bibliotecas e ferramentas de JavaScript que podem ser usadas em projetos Node.js.

As dependências instaladas serão adicionadas a um diretório chamado node_modules na raiz do projeto, e registradas no arquivo package.json. O arquivo package.json é onde serão salvas as informações do seu projeto, incluindo entre outras configurações, a lista de dependências externas do seu projeto, com suas respectivas versões.

Para criar o arquivo package.json do seu projeto, você pode utilizar o comando npm init -y, o parâmetro -y cria o arquivo com todas as configurações padrão. Ao executar o comando, um arquivo package.json deve ser criado mais ou menos como o abaixo:

{
  "name": "my-first-http-server",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

Para instalar um pacote em um projeto node, utiliza-se o comando npm install, para o exemplo abaixo, vamos instalar o express executando npm install express. Após a execução do comando, a dependência deve ter sido instalada dentro do diretório node_modules que terá sido criado automaticamente. Além disso, o npm terá alterado o arquivo package.json para salvar a referência da dependência do projeto, ao verificar o conteúdo do arquivo deve estar assim agora:

{
  "name": "my-first-http-server",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.18.2"
  }
}

O campo dependencies é onde serão listadas todas as dependências do seu projeto.

E por último o um arquivo package-lock.json deverá ter sido criado automaticamente pelo npm também, esse arquivo fornece informações detalhadas sobre as versões exatas das dependências do seu projeto. Ele é usado para garantir que todas as instalações subsequentes das dependências do projeto tenham as mesmas versões específicas, garantindo assim uma consistência nas versões em diferentes ambientes de desenvolvimento e produção, além de garantir que todo build do projeto sempre instalará exatamente as mesmas dependências.

Com a dependência instalada, basta criar um arquivo index.js com o conteúdo abaixo e já é o suficiente para ter um servidor http funcional que pode ser acessado pelo browser.

const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`);
});

Para iniciar o servidor, execute o comando node index.js e então pode acessar o servidor através do browser na url localhost:3000.

Conclusão

Por hoje é só, o objetivo do post era só dar uma passada rápida em alguns pontos básicos e servir como ponto de partida pra quem estiver pensando em começar os estudos em node.js, qualquer dúvida podem mandar nos comentários.

Valeu!

O que é node js? Criando seu primeiro projeto

Removendo arquivos duplicados do HD com node

O que é node js? Criando seu primeiro projeto

Guia Completo: Configurando Sua Primeira Suíte de

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *