Categorias
Linguagens de programação

Primeiros passos em Node.js

Mergulhei no mundo de back-end com Node.js e estou completamente apaixonada. Poder programar em javascript sem depender do navegador para interpretar é TUDOOO de bom.

Agora, nem o céu é o limite para as aplicações que vou criar, rs. Mas vamos ao que interessa! Vou compartilhar com vocês como foram meus primeiros passos em Node.js!

O que é Node.js?

É um interpretador Javascript que não depende do navegador. Ele é formado pelo V8, motor interpretador de Javascript criado pelo Google, e pela libuv, uma biblioteca que deu características de linguagem back-end para o node.

Node.js revolucionou a forma de programar em Javascript, pois a linguagem evoluiu de uma forma de dar vida aos elementos no navegador para uma linguagem capaz de criar programas desktop, games e até inteligência artificial ou robótica.

3 Vantagens para usar Node.js

Existem muitas vantagens de escolher o Node.js para solucionar problemas reais de negócios reais ao desenvolver aplicações. Eu separei 3 delas pra contar pra vocês. Confira:

  1. Esse é o principal motivo pelo qual eu escolhi mergulhar nesse mundo. Programar em node.js é programar em Javascript, a linguagem que eu tenho proficiência. Uma linguagem com curva baixa de aprendizagem e uma comunidade gigantesca;
  2. Node.js utiliza muito pouco a memória RAM e aproveita melhor a CPU, isso significa que dá pra entregar performance com um custo baixo de servidor ;
  3. Tem uma vasta biblioteca de pacotes, módulos e plug-ins (npm) para node.js

Ambiente de desenvolvimento em Node.js

Nessa parte do artigo, preparei tópicos da preparação do ambiente de desenvolvimento.

Meu conselho é que você faça as pazes com a tela preta para usar e abusar do terminal ou prompt de comando, pois nós vamos usar muito. Vamos lá!

Instalando o Node.js

Acesse nodejs.org e identifique a versão compatível com seu sistema operacional.

Escolha a versão LTS, pois ela é uma versão livre de bugs e é estável. Já a versão current é a versão vida louca, pra quem é entusiasta do node e quer ficar testando novas features com instabilidades.

O processo de instalação no windows é muito fácil. Faça o download e instalação. Abra o terminal ou prompt de comando e verifique se tudo deu certo na instalação, digitando o comando:

npm  -v

Ele irá retornar a versão que foi instalada.

Instalando o readline

Um pacote maravilhoso para pegar inputs no terminal, ou seja pegar entradas de dados no sistema. Se você veio de programação front-end isso equivale a pegar o value do input de um usuário num formulário.

Dentro da pasta de seu projetinho instale o pacote digitando o comando:

npm install readline-sync

Instalando o code Runner

Para rodar um programa no terminal temos que utilizar  o comando:

node nomeDoArquivo.js

Você pode automatizar esse processo instalando o plug-in Code Runner no vscode.

Instalando o express

Outro pacote que podemos instalar para facilitar a nossa vida é o express, um framework minimalista do node.js.

Ele já vem com centenas de módulos que podem ser uma mão na roda para o desenvolvimento de sua aplicação.

Faça a instalação também localmente na pasta de seu projetinho:

npm install express --save

Meus programinhas

Agora, vamos codarrr, rs! Criei 4 programinhas simples que serviram para relembrar conceitos básicos de javascript e preparar meu ambiente de desenvolvimento em node, além de aplicar também técnicas de debug.

Calculadora de média 5 notas

A calculadora de média determina se uma aluna foi aprovada, reprovada ou vai para a recuperação. Usei variavéis, operadores matemáticos e lógicos e condicionais.

Para retornar notas com casas decimais usei o parseFloat() e para exibir um resultado personalizado fiz uma concatenação de strings:

const readline = require('readline-sync')

const nomeAluno = readline.question('Nome de aluno ')

const primeiraNota = parseFloat(readline.question('Nota 1 '))
const segundaNota = parseFloat(readline.question('Nota 2 '))
const terceiraNota = parseFloat(readline.question('Nota 3 '))
const quartaNota = parseFloat(readline.question('Nota 4 '))
const quintaNota = parseFloat(readline.question('Nota 5 '))


const media = (primeiraNota + segundaNota + terceiraNota 
+ quartaNota + quintaNota)/5
console.log(media)

if(media >= 7){
console.log(nomeAluno + " está aprovado(a)")
}else if (media < 5){
console.log(nomeAluno + " está reprovado(a)")
}else if (media >= 5 && media < 7){
console.log(nomeAluno + " foi pra recuperação")
}

Conversor de temperatura

Aprendizagem por repetição, fiz essa segunda calculadora para utilizar novamente alguns dos conceitos da primeira calculadora. A temperatura do input é em Celsius e chama uma função
que converte para Fahrenheit. F = 9*C/5 + 32:

const read = require('readline-sync')

let temperatura = read.question("Qual a temperatura ")

function converterTemperatura(num){
    console.log((num -32) * 5/9)
}
converterTemperatura(temperatura)

Calculadora simples modular

Mais uma vez usei o readline para pegar os inputs. Para chamar nos arquivos, você precisa criar uma variável que recebe require e como parâmento ‘readline-sync’.

Já para fazer o terminal solicitar os dados, você precisa usar a propriedade .question e como parâmento passar uma string.

Usei também o Code Runner para facilitar minha vida e rodar o código usando ctrl + alt + n

A ideia era criar uma calculadora que me permitesse usar as 4 principais operações matemáticas: soma, subtração, multiplicação e divisão. Separei cada operação por módulos. 🙂

Usei o switch case que é um tipo de condicional. E quando a condição é correspondida, o programa executa as instruções associadas.

Cada módulo é uma função que executa as operações recebendo 2 parâmetros.

Módulo soma:

var soma = function(a,b){
    return a+b
}

console.log(soma(parseInt(read.question("a ")),parseInt(read.question("b "))))
module.exports = soma

Módulo subtração:

var sub = function(a,b){
    return a-b
}

console.log(sub(parseInt(read.question("a ")),parseInt(read.question("b "))))
module.exports = sub

Módulo multiplicação:

var multi = function(a,b){
    return a*b
}

console.log(multi(parseInt(read.question("a ")),parseInt(read.question("b "))))
module.exports = multi

Módulo divisão:

var div = function(a,b){
    return a/b
}

console.log(div(parseInt(read.question("a ")),parseInt(read.question("b "))))
module.exports = div

Calculadora:

const read = require('readline-sync')

const operacao = read.question("O que deseja fazer? somar/subtrair/multiplicar/dividir ")


switch (operacao) {
    case 'somar':
        var funcSoma = require('./soma')
    break
    case 'subtrair':
        var funcSub = require('./sub')
    break
    case 'multiplicar':
        var funcMulti = require('./multi')
    break
    case 'dividir':
        var funcDiv = require('./div')
    break
    default:
        console.log(`Escolha uma opção válida.`)
}

Meu primeiro servidor usando express

A ideia era criar um servidor, criar rotas e enviar dados para o client-side. Importei o express, criei a instancia, criei a aplicação mensagem para o lado do cliente.

Criei rotas e rotas dinâmicas utilizando os parâmetros para receber dados de requisição. E por fim, criei o servidor e enviei aplicação para o servidor. Confira abaixo! Comentei cada linha:

//importando express
const express = require("express")

//criando a instância 
const app = express()

//criando aplicação para enviar 
//mensagem para o lado do cliente
app.get("/", function(req, res){
res.send("Hello, World!")
})

//criando rotas
app.get("/sobre", function(req, res){
res.send("Quem sou eu?")
})
app.get("/blog", function(req, res){
res.send("Bem-vindo ao meu Blog!")
})

//criando rotas dinâmicas utilizando parâmentros 
//e receber dados de requisição
app.get("/contato/:tel/:email/:linkedin", function(req, res){
res.send(req.params)
})

//criando servidor e enviando aplicação para o servidor
app.listen(8081, function(){console.log("Servidor rodando na porta 8081!")})

Conclusão

Essas foram os 4 primeiros programinhas que criei em node.js, os próximos passos irão me levar até a construção de uma aplicação web, utilizando express, MongoDb e Deploy no Heroku. Fiquem de olho aqui!<3

2 comentários a “Primeiros passos em Node.js”

Estou iniciando agora na programação, comecei um bootcamp mas não estou conseguindo acompanhar o raciocínio. Encontrei o seu site pesquisando no Google e olha está de parabéns! Muito bem explicado, sua didática é muito boa! Amei o site!

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *