{"id":230063,"date":"2022-12-03T14:31:00","date_gmt":"2022-12-03T11:31:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230063"},"modified":"2022-11-09T19:56:02","modified_gmt":"2022-11-09T16:56:02","slug":"zastanawianie-sie-nad-nowoczesnymi-menedzerami-pakietow","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pl\/zastanawianie-sie-nad-nowoczesnymi-menedzerami-pakietow\/","title":{"rendered":"Zastanawianie si\u0119 nad nowoczesnymi mened\u017cerami pakiet\u00f3w"},"content":{"rendered":"\n<p>Niedawno rozmawia\u0142em z przyjacielem o wszystkich dost\u0119pnych narz\u0119dziach, kt\u00f3re s\u0105 obecnie dost\u0119pne na rynku (niekt\u00f3re darmowe, niekt\u00f3re open source), kt\u00f3re pomagaj\u0105 nam w naszych potrzebach rozwojowych.<\/p>\n<p>Nale\u017c\u0105 do nich takie rzeczy jak:<\/p>\n<ul>\n<li><strong><a href=\"https:\/\/gruntjs.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Chrz\u0105kni\u0119cie<\/a><\/strong><\/li>\n<li><strong><a href=\"https:\/\/gulpjs.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">\u0141yk<\/a><\/strong><\/li>\n<li><strong><a href=\"https:\/\/yarnpkg.com\/en\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Prz\u0119dza<\/a><\/strong><\/li>\n<li><strong><a href=\"https:\/\/codekitapp.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">CodeKit<\/a><\/strong><\/li>\n<li><strong><a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Kompozytor<\/a><\/strong><\/li>\n<li>i tak dalej.<\/li>\n<\/ul>\n<p>Oczywi\u015bcie, ka\u017cde z powy\u017cszych niekoniecznie jest por\u00f3wnywalne, poniewa\u017c niekt\u00f3re s\u0105 narz\u0119dziami front-end, inne backendami, a s\u0105 te\u017c takie, kt\u00f3re oferuj\u0105 swego rodzaju hybryd\u0119.<\/p>\n<p>Co wi\u0119cej, niekt\u00f3re s\u0105 premium, niekt\u00f3re s\u0105 open source, niekt\u00f3re wydaj\u0105 si\u0119 by\u0107 porzucone, a niekt\u00f3re doprowadzi\u0142y nawet do zepsutych proces\u00f3w kompilacji.<\/p>\n<p>Prowadzi to do serii pyta\u0144, z kt\u00f3rych kilka chcia\u0142bym om\u00f3wi\u0107. Wi\u0119c tutaj, je\u015bli nic innego jak rozmy\u015blanie o nowoczesnych mened\u017cerach pakiet\u00f3w, s\u0105 rzeczy, o kt\u00f3rych my\u015bla\u0142em.<\/p>\n<h2>Nowoczesni mened\u017cerowie pakiet\u00f3w<\/h2>\n<p>Pytania, kt\u00f3re przysz\u0142y mi do g\u0142owy (i kt\u00f3re omawia\u0142em ze wspomnianym przyjacielem) s\u0105 nast\u0119puj\u0105ce:<\/p>\n<ul>\n<li>sk\u0105d mamy wiedzie\u0107, kt\u00f3rego u\u017cy\u0107,<\/li>\n<li>kiedy ich u\u017cywa\u0107,<\/li>\n<li>a czy warto si\u0119 z nimi trzyma\u0107?<\/li>\n<\/ul>\n<p>Pomy\u015bla\u0142em wi\u0119c, \u017ce podziel\u0119 si\u0119 swoimi obecnymi przemy\u015bleniami na temat wspomnianych narz\u0119dzi i ich zastosowania tutaj.<\/p>\n<h3>Kt\u00f3rych u\u017cywamy?<\/h3>\n<p>\u0141atwo jest omin\u0105\u0107 t\u0119 odpowied\u017a i powiedzie\u0107 \u201ekt\u00f3r\u0105 chcesz&quot;, ale my\u015bl\u0119, \u017ce odpowied\u017a jest nieco bardziej zniuansowana.<\/p>\n<p>Na przyk\u0142ad istniej\u0105 krzywe uczenia si\u0119, pakiety, konserwacja i tak dalej, kt\u00f3re s\u0105 do\u0142\u0105czone do ka\u017cdego z nich. To nie jest dobra ani z\u0142a rzecz \u2013 to naturalne, czym s\u0105.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163159-61e74b8c11842.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163159-61e74b8c11842.png\" alt=\"Zastanawianie si\u0119 nad nowoczesnymi mened\u017cerami pakiet\u00f3w\" ><\/a><\/p>\n<p>Pytanie, kt\u00f3re bardziej mnie interesuje, brzmi \u201ekt\u00f3re z nich najlepiej s\u0142u\u017cy mojemu zespo\u0142owi, mojemu projektowi i moim klientom?&#8221; A oto dlaczego:<\/p>\n<ol>\n<li>Je\u015bli zesp\u00f3\u0142 mo\u017ce z \u0142atwo\u015bci\u0105 zaadaptowa\u0107 to narz\u0119dzie, wtedy nie ma prawie \u017cadnych problem\u00f3w zwi\u0105zanych z uruchomieniem go do pracy.<\/li>\n<li>Je\u015bli od samego pocz\u0105tku dzia\u0142a dobrze z projektem, powinno u\u0142atwi\u0107 konserwacj\u0119 w miar\u0119 rozwoju i dojrzewania projektu. Jest to wa\u017cne, poniewa\u017c w przeciwnym razie ryzykujemy marnowanie cennego czasu i wysi\u0142ku, aby przyspieszy\u0107 dzia\u0142anie, gdy zmieni si\u0119 narz\u0119dzie (je\u015bli si\u0119 zmieni), a to mo\u017ce by\u0107 szkodliwe dla harmonogramu projektu.<\/li>\n<li>Uwa\u017cam, \u017ce to, co najlepiej s\u0142u\u017cy klientowi, to jedna z tych sytuacji, w kt\u00f3rych \u201ediabe\u0142 tkwi w szczeg\u00f3\u0142ach&#8221;. To znaczy, \u017ce je\u015bli dwa pierwsze s\u0105 zadowolone, klient nie b\u0119dzie m\u0105drzejszy. Po drugie, kosztowa\u0142oby to mniej czasu, zapewni\u0142oby wi\u0119ksz\u0105 warto\u015b\u0107 i pozwoli\u0142o im zainwestowa\u0107 w korzystanie z Ciebie jako dostawcy us\u0142ug.<\/li>\n<\/ol>\n<p>To powiedziawszy, nie wierz\u0119, \u017ce istnieje pojedynczy przypadek \u201eTo jest narz\u0119dzie, kt\u00f3rego powiniene\u015b u\u017cy\u0107&#8221;, poniewa\u017c znowu nie znam szczeg\u00f3\u0142\u00f3w danego projektu. Dlatego nie chc\u0119 przepisywa\u0107 jednego rozwi\u0105zania, gdy inne mo\u017ce pasowa\u0107 do przypadku.<\/p>\n<p>A oto przyk\u0142ad:<\/p>\n<p>U\u017cywa\u0142em Gulp, CodeKit i Yarn w r\u00f3\u017cnych projektach. Czy by\u0142oby mi\u0142o mie\u0107 jedno narz\u0119dzie do u\u017cycia? Pewnie! I ka\u017cdy z nich mo\u017ce robi\u0107 to samo, co inni.<\/p>\n<p>Ale szybko\u015b\u0107, z jak\u0105 co\u015b si\u0119 dzieje, przeno\u015bno\u015b\u0107 i dost\u0119pne pakiety nieco si\u0119 r\u00f3\u017cni\u0105, a je\u015bli pracuj\u0119 nad czym\u015b dla siebie, dla klienta, z zespo\u0142em lub sam, to czynniki, kt\u00f3re same w sobie wchodz\u0105 w r\u00f3wnanie .<\/p>\n<p>Wierz\u0119, \u017ce z biegiem czasu wypracowujemy intuicj\u0119 co do tego, kt\u00f3ry z nich najlepiej pasuje do wymaga\u0144 projektu i do\u015bwiadczenia z ka\u017cdym z powy\u017cszych narz\u0119dzi.<\/p>\n<p>Tak wi\u0119c, oczywi\u015bcie, z g\u00f3ry trzeba zainwestowa\u0107, aby zapozna\u0107 si\u0119 z wieloma, kt\u00f3re uznasz za korzystne dla twojego zespo\u0142u i wysi\u0142k\u00f3w, ale mo\u017ce ci to dobrze s\u0142u\u017cy\u0107, gdy b\u0119dziesz dalej rozwija\u0107 si\u0119 jako programista.<\/p>\n<h3>Kiedy ich u\u017cywamy?<\/h3>\n<p>Nie s\u0105dz\u0119, aby odpowied\u017a na to pytanie by\u0142a tak trudna, je\u015bli do\u0142o\u017cy\u0142a\u015b nale\u017cytej staranno\u015bci do ich wypr\u00f3bowania. Znowu z intuicj\u0105, prawda?<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163159-61e74b90da956.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163159-61e74b90da956.png\" alt=\"Zastanawianie si\u0119 nad nowoczesnymi mened\u017cerami pakiet\u00f3w\" ><\/a><\/p>\n<p>Ale oto moje og\u00f3lne podej\u015bcie:<\/p>\n<ul>\n<li>Je\u015bli pracuj\u0119 sam lub musz\u0119 szybko si\u0119 na czym\u015b skupi\u0107, CodeKit jest dobrym rozwi\u0105zaniem.<\/li>\n<li>Je\u015bli pracuj\u0119 z zespo\u0142em i potrzebuj\u0119 czego\u015b szybkiego, skalowalnego i dobrze zdefiniowanego, Yarn jest dobrym wyborem.<\/li>\n<\/ul>\n<p>Nadal uwa\u017cam, \u017ce warto przyjrze\u0107 si\u0119 u\u017cywaniu Gulp, ale wydaje si\u0119, \u017ce jego rozw\u00f3j i pakiety uleg\u0142y spowolnieniu. Wygl\u0105da na to, \u017ce Grunt nie jest obecnie w fazie rozwoju, ale je\u015bli dzia\u0142a dla Ciebie i pakiet\u00f3w, kt\u00f3rych potrzebujesz, mo\u017ce nie warto go teraz zmienia\u0107.<\/p>\n<p>W\u0142a\u015bciwie powiedzia\u0142bym, \u017ce je\u015bli nie mo\u017cesz poda\u0107 solidnego powodu do zmiany, to po co zawraca\u0107 sobie g\u0142ow\u0119? Liczy si\u0119 praktyczno\u015b\u0107.<\/p>\n<h3>Czy warto si\u0119 z nimi trzyma\u0107?<\/h3>\n<p>Nie wiem. Chodzi mi o to, \u017ce technologia porusza si\u0119 tak szybko i pojawiaj\u0105 si\u0119 nowe narz\u0119dzia (kt\u00f3re niekoniecznie powinni\u015bmy zawsze stosowa\u0107), a potem zostaj\u0105 przez jaki\u015b czas.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163159-61e74b9636bfe.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163159-61e74b9636bfe.png\" alt=\"Zastanawianie si\u0119 nad nowoczesnymi mened\u017cerami pakiet\u00f3w\" ><\/a><\/p>\n<p>By\u0107 mo\u017ce stagnuj\u0105. By\u0107 mo\u017ce nie osi\u0105gaj\u0105 one powszechnej adopcji. By\u0107 mo\u017ce s\u0105 na emeryturze.<\/p>\n<p>By\u0107 mo\u017ce najbardziej optymaln\u0105 odpowiedzi\u0105 na to pytanie jest dowiedzie\u0107 si\u0119, co pomo\u017ce Ci rozwi\u0105za\u0107 problem w najskuteczniejszy mo\u017cliwy spos\u00f3b, przy wsparciu aktywnej spo\u0142eczno\u015bci programist\u00f3w, a co Ty i Tw\u00f3j zesp\u00f3\u0142 mo\u017cecie naj\u0142atwiej zaadaptowa\u0107?<\/p>\n<h2>Konkluzja?<\/h2>\n<p>Je\u015bli ju\u017c, ten post to nic innego jak osobiste przemy\u015blenia na temat tego, jak podej\u015b\u0107 do ci\u0105gle zmieniaj\u0105cego si\u0119 krajobrazu narz\u0119dzi do budowania i mened\u017cer\u00f3w pakiet\u00f3w. I jest to spos\u00f3b na rozumowanie, kiedy do kt\u00f3rego z danym rodzajem problemu.<\/p>\n<p>Niekoniecznie chc\u0119 jednego rozwi\u0105zania, poniewa\u017c uwa\u017cam, \u017ce opcje, kt\u00f3re mamy, sprzyjaj\u0105 wi\u0119kszej innowacyjno\u015bci. Jednocze\u015bnie mo\u017ce powodowa\u0107 zm\u0119czenie, kiedy trzeba nad\u0105\u017cy\u0107.<\/p>\n<p>Tak wi\u0119c, je\u015bli nic wi\u0119cej, przeanalizuj podzbi\u00f3r najpopularniejszych narz\u0119dzi (by\u0107 mo\u017ce oznaczonych gwiazdk\u0105 na GitHubie jako przydatne metryki), a nast\u0119pnie przejd\u017a od tego miejsca.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Prowadzi to do serii pyta\u0144, z kt\u00f3rych kilka chcia\u0142bym om\u00f3wi\u0107. Wi\u0119c tutaj, je\u015bli nic innego jak rozmy\u015blanie o nowoczesnych mened\u017cerach pakiet\u00f3w, s\u0105 rzeczy, o kt\u00f3rych my\u015bla\u0142em.<\/p>\n","protected":false},"author":1,"featured_media":223872,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[721,805,845],"tags":[1169],"class_list":["post-230063","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-deweloper","category-php-7","category-samouczki","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/230063","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/comments?post=230063"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/230063\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media\/223872"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media?parent=230063"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/categories?post=230063"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/tags?post=230063"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}