PACKAGE MANAGER – ISTORIJAT, VRSTE I RAZLIKE

Za temu današnjeg predavanja naš kolega Dušan odabrao je package manager. Osim što je bilo veoma poučno, ovo je ujedno i bilo pretposlednje predavanje koje se održava četvrtkom u Sipodu.

Ukratko, package manager je softverski alat za automatizaciju procesa instalacije, nadogradnje, konfiguracije i brisanja kompjuterskih programa za operativne sisteme na jedinstven i konzistentan način. Primarna funkcija svakog package managera jeste instalacija određenog paketa iz globalnog registra u lokalno okruženje.

Zahvaljujući package manageru nema više potrebe za manuelnom instalacijom i ažuriranjem softvera. Ovo je posebno značajno i korisno za velike kompanije koja koriste Linux operativni sistem. Bez package managera, korisnici moraju da instaliraju i ažuriraju sve zavisne objekte i omoguće konfiguraciju za svaki deo softvera ponaosob.

NPM

Node.js package manager (npm)  kreiran je za JavaScript programski jezik. Node.js package manager se sastoji klijentske konzole koja se zove npm. Osim toga, npm čine i onlajn baze podataka javnih i plaćenih privatnih paketa koji se zovu npm registar.  Ovim registrima se pristupa preko klijentske konzole dok se dostupni paketi mogu pretraživati na npm veb sajtu.

YARN

Yarn je novi package manager koji zamenjuje postojeći radni proces za npm klijentsku konzolu. Istovremeno je kompatibilan sa npm registrom. Iako ima iste funkcije kao i postojeći radni procesi, Yarn radi pouzdanije, bezbednije i brže. Yarn omogućava inženjerima da brže i bezbednije koriste zajednički kod i fokusiraju se izgradnju novih proizvoda i funkcija.

Kada npm ili Yarn treba da instalira paket, on obavlja niz zadataka. U npm ovi zadaci se izvršavaju po paketu i sekvencijalno. To znači da će sačekati da se paket u potpunosti instalira pre nego što pređe na sledeći. Yarn izvršava ove zadatke paralelno, što poboljšava performanse.

Približno, Yarn je 4,7 puta brži od npm. Razlika u brzini  može zavisiti od količine paketa koji se instaliraju, ali je Yarn definitivno u svakom slučaju brži od npm.