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:
- 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;
- 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 ;
- 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”
[…] Leia mais: 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!