Martin Michálek Martin Michálek  – 16. 6. 2017

Přátelé, takže poté, co někteří členové javascriptové komunity zaživa pohřbili jQuery, Grunt, Gulp, NPM a další, dočkali jsme se první skutečné mrtvoly: je to Bower.

Na webu tohodle oblíbeného správce frontendových balíčků už nějakou dobu visí upozornění:

…psst! While Bower is maintained, we recommend yarn and webpack for new front-end projects!

Takže ne, není zatím potřeba stresovat se stávajícími projekty, ale na nových už s Bowerem nepočítejte.

Proč už Bower nepotřebujeme?

Budu se zaměřovat na Bower jako správce balíčků, jeho další funkce vynechávám. Bower je totiž duplicitní k NPM, dnes už daleko rozšířenějšímu správci.

Bower byl vždy určený čistě pro frontendové balíčky. NPM pro javascriptové balíčky na frontend i backend. Proto NPM instalovalo závislosti balíčků do vnořeného stromu. V adresáři projektu jste tedy spoustu balíčků měli v duplicitních vydáních. To nehezky zvětšovalo datový objem, ale působilo i další problémy.

Od verze tři se ale NPM snaží duplicity redukovat. Nemluvě o alternativě k NPM, Yarnu, který umí pracovat v režimu „plochého stromu“ velmi podobném Boweru. Jak říká jeden z účastníků diskuze na Githubu Boweru:

yarn install --flat does exactly what I need, so I don’t have a reason to user Bower any more.

Dalším důvod vyšel ze strany autorů frontendových balíčků. Spravovat zároveň package.json pro NPM a bower.json pro Bower je trošku pruda. A jak jste si možná také všimli, balíčků co na Bower kašlou, začalo přibývat.

Vyhrál to tedy package.json a je asi jedno, jestli ho budete ovládat NPM nebo Yarnem.