Bibliotecas

Uma biblioteca é um código, escrito em alguma linguagem de programação, que pode ser utilizado em várias aplicações. Em outras palavras, "não reinvente a roda".

Em JavaScript, como visto na seção sobre modularização, as bibliotecas se materializam na forma de módulos: cada módulo é implementado em um único arquivo e cada arquivo contém um único módulo.

Outra característica dos módulos é que muito frequentemente módulos utilizam outros módulos. Portanto, para poder usar um módulo na sua aplicação o desenvolvedor deverá ter acesso à vários arquivos.

Uma biblioteca é formada por um ou mais módulos. É bastante comum o desenvolvedor poder usar apenas os módulos que lhe interessam.

Bibliotecas e módulos, como qualquer artefato de software, possuem versões (tanto para corrigir falhas como para adicionar funcionalidades). É desafiador manter a compatibilidade entre todos os módulos.

Desenvolver software que utilizam bibliotecas e módulos implica, acima de tudo, em uma questão de organização, de forma de trabalhar. Em JavaScript, esta organização é bastante facilitada com o uso de softwares específicos para gerenciamento de pacotes. Dentre eles, destacam-se o npm, o yarn e, mais recentemente e ainda não muito popular, o pnpm.

npm

npm (acrônimo para Node Package Manager), um projeto Open Source iniciado em 2009.

Com o npm o gerênciamento de bibliotecas (as tarefas de baixar, instalar, atualizar e criar módulos) ficou bastante mais simples.

No endereço https://www.npmjs.com/ há um repositório de módulos JavaScript que pode ser usado gratuitamente. O repositório possui atualmente cerca de 475 mil módulos.

yarn

Em 2016 o Facebook lançou o yarn como uma alternativa ao npm. Sua principal motivação foi resolver alguns problemas de lentidão e de gerenciamento dos pacotes.

Como resposta ao yarn, o npm foi melhorado, especialmente a partir da sua versão 5.

pnpm

O pnpm surgiu como uma alternativa ao npm e ao yarn.

Leitura Obrigatória
npm
yarn
pnpm
Leitura Sugerida
npm x yarn x pnpm
Why pnpm

results matching ""

    No results matching ""