NPM e YARN: Quem são esses caras ?
Fala galera, como vocês estão ? Nesse artigo vamos conhecer o gerenciadores npm (node package manager) e yarn. Entender qual a diferença, seus objetivos, quando utilizar e saber se precisamos utilizar todos juntos ou não. Bora lá ?
Quem são esses caras ?
Npm e yarn são ferramentas que auxiliam o desenvolvimento de aplicações JavaScript. Nesse caso temos duas ferramentas com o mesmo propósito. Tanto o npm quando o yarn são gerenciadores de pacotes.
Mas o que é gerenciador de pacotes e o que é um pacote ?
Certo, vamos por partes. A seguir veremos isso com mais detalhes e com exemplos práticos.
Gerenciadores de pacotes
Os gerenciadores de pacotes permitem instalar/atualizar/remover pacotes que são frameworks ou bibliotecas para serem utilizadas nos seus projetos. Por exemplo, com npm ou yarn você pode instalar a biblioteca lodash que contém vários métodos prontos para serem utilizados. Na documentação temos a seguinte definição: Lodash é uma Uma biblioteca de utilitários JavaScript moderna que oferece modularidade, desempenho e extras. Vamos para um exemplo prático com lodash para entender para que serve uma biblioteca e como utilizar o npm.
Atenção: Para o exemplo precisamos que o Node.Js e o npm estejam instalados. Execute node -v e npm -v no seu terminal, caso a versão do node e npm apareçam, então eles estão instalados. Caso não tenho instalado leia o artigo Hello World: Nodejs que apresenta a instalação dessas ferramentas.
No artigo Hello World: Nodejs criamos um código JavaScript que soma dois números, veja o código:
console.log("Somando dois valores\n")
// Variável que define o primeiro número
var primeiro_valor = 4;
// Variável que define o segundo número
var segundo_valor = 10;
// O resultado da soma dos números das variáveis primeiro_valor e segundo_valor
// é registrada na variável soma
var soma = primeiro_valor + segundo_valor
// Apresentando os resultados
console.log(`A soma de ${primeiro_valor} mais ${segundo_valor} é igual a ${soma}\n`)
Nesse caso, na linha var soma = primeiro_valor + segundo_valor
temos a parte lógica que soma os dois números sendo eles o número 4 registrado na variável primeiro_valor
e 10 registrado na variável segundo_valor
.
Vamos testar, crie o arquivo teste_soma.js
escreva o código acima nesse arquivo e execute com node teste_soma.js
no seu terminal.
Com isso, você terá a seguinte saída:
Agora imagina que queremos continuar somando dois números mas não queremos fazer isso "na mão". Para isso vamos utilizar o npm para instalar a biblioteca lodash.
Os passos são:
-
Instale a biblioteca executando
npm install lodash
no seu terminal e aguarde a instalação;Atenção: Observe que com a instalação da biblioteca será criado um arquivo package.json. Para entender seu objetivo acesse o link da documentação
- Após a instalação adicione a linha
var lodash = require("lodash")
no inicio do arquivo para importar a biblioteca lodash; - Altere a linha
var soma = primeiro_valor + segundo_valor
paravar soma = lodash.add(primeiro_valor, segundo_valor)
.
Com essas alterações o seu código vai ficar assim:
var lodash = require("lodash")
console.log("Somando dois valores\n")
// Variável que define o primeiro número
var primeiro_valor = 4;
// Variável que define o segundo número
var segundo_valor = 10;
// Utilizando o método add da biblioteca lodash para somar os números
var soma = lodash.add(primeiro_valor, segundo_valor)
// Apresentando os resultados
console.log(`A soma de ${primeiro_valor} mais ${segundo_valor} é igual a ${soma}\n`)
Agora basta executar o código novamente com node teste_soma.js
e o resultado vai aparecer.
Executou ?? Se sim, você pode observar que o resultado é exatamente o mesmo e é isso que deve acontecer pois estamos utilizando um método add
da biblioteca lodash para resolver a soma de dois números.
Com isso, temos um bom exemplo de como utilizar o npm para instalar bibliotecas que auxiliem durante a construção do código e ajudem a resolver problemas. :) Apesar de ter sido um exemplo simples, imagine que existem várias bibliotecas que você pode utilizar para resolver problemas mais complexos. Além disso, o próprio lodash tem outros métodos que você pode utilizar, por exemplo:
-
Divida dois números com o método
lodash.divide(<dividend>, <divisor>)
: documentaçãolodash.divide(6, 4); // => 1.5
-
Multiplique dois números com o método
lodash.multiply(<multiplier>, <multiplicand>)
: documentaçãolodash.multiply(6, 4); // resultado => 24
Acesse a documentação do lodash e veja os métodos disponiveis para serem utilizados: link da documentação
E o yarn ?
Achou que eu esqueci de falar do yarn ??
Assim como falei no início o yarn também é um gerenciador de pacotes. Foi criado pelo Facebook em 2016 com o propósito de ser mais rápido e mais seguro que o npm.
Diferente do npm o yarn não vem junto com a instalação do Node.Js. Para utilizar o yarn você precisa instalá-lo:
# Comando para instalar o yarn
npm install --global yarn
# Comando para verificar se o yarn está instalado
yarn --version
Com o yarn instalado todos os testes que fizemos com o lodash e npm pode ser feito com o lodash e yarn.
Que tal você fazer esses testes com yarn ?
Uma dica: Crie um novo arquivo teste_soma_2.js
e refaça o processo utilizando yarn add ...
no lugar de npm install...
e veja o que acontece.
Links
Até a próxima... :D