{"id":230879,"date":"2022-12-03T13:50:00","date_gmt":"2022-12-03T10:50:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230879"},"modified":"2022-11-10T00:24:49","modified_gmt":"2022-11-09T21:24:49","slug":"riflettendo-sui-gestori-di-pacchetti-moderni","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/riflettendo-sui-gestori-di-pacchetti-moderni\/","title":{"rendered":"Riflettendo sui gestori di pacchetti moderni"},"content":{"rendered":"\n<p>Di recente stavo parlando con un amico di tutti gli strumenti disponibili che sono oggi sul mercato per noi (alcuni gratuiti, altri open source) che ci aiutano con le nostre esigenze di sviluppo.<\/p>\n<p>Questi includono cose come:<\/p>\n<ul>\n<li><strong><a href=\"https:\/\/gruntjs.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Grugnito<\/a><\/strong><\/li>\n<li><strong><a href=\"https:\/\/gulpjs.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Sorso<\/a><\/strong><\/li>\n<li><strong><a href=\"https:\/\/yarnpkg.com\/en\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Filato<\/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\">Compositore<\/a><\/strong><\/li>\n<li>e cos\u00ec via.<\/li>\n<\/ul>\n<p>Ovviamente, ciascuno dei precedenti non \u00e8 necessariamente confrontabile perch\u00e9 alcuni sono strumenti front-end, altri sono strumenti back-end e ce ne sono alcuni che offrono una sorta di ibrido.<\/p>\n<p>Inoltre, alcuni sono premium, alcuni sono open source, alcuni sembrano essere abbandonati e alcuni hanno persino portato a processi di compilazione interrotti.<\/p>\n<p>Questo porta a una serie di domande molte delle quali vorrei coprire. Quindi qui, se non altro che riflessioni sui moderni gestori di pacchetti, ci sono le cose a cui ho pensato.<\/p>\n<h2>Gestori di pacchetti moderni<\/h2>\n<p>Le domande che mi sono venute in mente (e di cui stavo discutendo con detto amico) sono le seguenti:<\/p>\n<ul>\n<li>come dovremmo sapere quale usare,<\/li>\n<li>quando usarli,<\/li>\n<li>e se vale la pena restare con loro?<\/li>\n<\/ul>\n<p>E quindi ho pensato di condividere qui i miei pensieri attuali su detti strumenti e sulla loro applicabilit\u00e0.<\/p>\n<h3>Quali usiamo?<\/h3>\n<p>\u00c8 facile evitare questa risposta e dire &quot;qualunque tu voglia&quot;, ma penso che la risposta sia un po&#8217; pi\u00f9 sfumata di cos\u00ec.<\/p>\n<p>Ad esempio, ci sono curve di apprendimento, pacchetti, manutenzione e cos\u00ec via che vengono forniti con ciascuno di essi. Questa non \u00e8 una cosa buona o cattiva \u2013 \u00e8 il naturale di quello che sono.<\/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=\"Riflettendo sui gestori di pacchetti moderni\" ><\/a><\/p>\n<p>La domanda che mi interessa di pi\u00f9 \u00e8 &quot;quale \u00e8 quello che serve meglio il mio team, il mio progetto e i miei clienti?&quot; Ed ecco perch\u00e9:<\/p>\n<ol>\n<li>Se il team pu\u00f2 adottare facilmente l&#8217;utilit\u00e0, allora non c&#8217;\u00e8 quasi zero attrito per iniziare a utilizzarla per il proprio lavoro.<\/li>\n<li>Se funziona bene con il progetto fin dall&#8217;inizio, dovrebbe facilitare la manutenzione man mano che il progetto cresce e matura. Questo \u00e8 importante perch\u00e9 altrimenti rischiamo di sprecare tempo e fatica preziosi per mettere le cose al passo quando l&#8217;utilit\u00e0 cambia (se cambia) e questo pu\u00f2 essere dannoso per la pianificazione di un progetto.<\/li>\n<li>Ci\u00f2 che serve meglio al cliente, credo, \u00e8 una di quelle situazioni in cui &quot;il diavolo \u00e8 nei dettagli&quot;. Questo \u00e8 cos\u00ec che se i primi due sono soddisfatti, il cliente non sar\u00e0 pi\u00f9 saggio. In secondo luogo, costerebbe meno tempo, fornirebbe pi\u00f9 valore e li farebbe investire nell&#8217;usarti come fornitore per il loro servizio.<\/li>\n<\/ol>\n<p>Detto questo, non credo che ci sia un solo caso &quot;Questa \u00e8 l&#8217;utilit\u00e0 che dovresti usare&quot; perch\u00e9, ancora una volta, non conosco i dettagli di un determinato progetto. Quindi, non voglio prescrivere una soluzione quando un&#8217;altra potrebbe adattarsi al caso.<\/p>\n<p>Ed ecco un esempio:<\/p>\n<p>Ho usato Gulp, CodeKit e Yarn in diversi progetti. Sarebbe bello avere un unico strumento da usare? Sicuro! E ognuno pu\u00f2 fare relativamente le stesse cose degli altri.<\/p>\n<p>Ma la velocit\u00e0 con cui si avvia qualcosa, la portabilit\u00e0 e i pacchetti disponibili differiscono leggermente e se sto lavorando a qualcosa per me stesso, per un cliente, con un team o da solo sono tutti fattori che entrano nell&#8217;equazione .<\/p>\n<p>Nel tempo, credo che sviluppiamo un&#8217;intuizione su quale sia il migliore, dati i requisiti di un progetto e data l&#8217;esperienza con ciascuno degli strumenti di cui sopra.<\/p>\n<p>Quindi, certo, c&#8217;\u00e8 un investimento in anticipo che \u00e8 necessario per familiarizzare con tutti quelli che ritieni opportuno per essere vantaggioso per il tuo team e per i tuoi sforzi, ma pu\u00f2 servirti bene mentre continui ad andare avanti come sviluppatore.<\/p>\n<h3>Quando li usiamo?<\/h3>\n<p>Non penso che questa sia una domanda cos\u00ec difficile a cui rispondere se hai fatto la dovuta diligenza nel provarli. Sempre con l&#8217;intuizione, giusto?<\/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=\"Riflettendo sui gestori di pacchetti moderni\" ><\/a><\/p>\n<p>Ma ecco il mio approccio generale:<\/p>\n<ul>\n<li>Se lavoro da solo o devo concentrarmi su qualcosa rapidamente, CodeKit \u00e8 una buona soluzione.<\/li>\n<li>Se lavoro con un team e ho bisogno di qualcosa di veloce, scalabile e ben definito, Yarn \u00e8 una buona scelta.<\/li>\n<\/ul>\n<p>Penso ancora che valga la pena dare un&#8217;occhiata a Gulp, ma lo sviluppo e i pacchetti sembrano aver rallentato. Grunt non sembra essere in fase di sviluppo al momento, ma se funziona per te e per i pacchetti di cui hai bisogno, potrebbe non valere la pena cambiarlo in questo momento.<\/p>\n<p>In effetti, direi che a meno che tu non possa fornire una solida ragione per cambiare, allora perch\u00e9 preoccuparsi? La praticit\u00e0 conta.<\/p>\n<h3>Vale la pena restare con loro?<\/h3>\n<p>Non lo so. Voglio dire, la tecnologia si muove cos\u00ec velocemente e arrivano nuovi strumenti (che non penso necessariamente dovremmo adottare sempre), e poi rimangono per un po&#8217;.<\/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=\"Riflettendo sui gestori di pacchetti moderni\" ><\/a><\/p>\n<p>Forse ristagnano. Forse non raggiungono un&#8217;adozione diffusa. Forse sono in pensione.<\/p>\n<p>Forse la risposta pi\u00f9 ottimale a questa domanda \u00e8 scoprire cosa ti aiuter\u00e0 a risolvere il problema nel modo pi\u00f9 efficiente possibile, che \u00e8 anche supportato da una comunit\u00e0 attiva di sviluppatori e che tu e il tuo team potete adottare pi\u00f9 facilmente?<\/p>\n<h2>La linea di fondo?<\/h2>\n<p>Semmai, questo post non \u00e8 altro che riflessioni personali su come affrontare il panorama in continua evoluzione degli strumenti di compilazione e dei gestori di pacchetti. Ed \u00e8 come ragionare su quando a quale dato un certo tipo di problema.<\/p>\n<p>Non voglio necessariamente un&#8217;unica soluzione perch\u00e9 penso che le opzioni che abbiamo promuovano una maggiore innovazione. Allo stesso tempo, pu\u00f2 introdurre un livello di affaticamento quando devi tenere il passo.<\/p>\n<p>Quindi, se non altro, esamina un sottoinsieme degli strumenti pi\u00f9 popolari (forse contrassegnati su GitHub come metrica utile) e poi vai da l\u00ec.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Questo porta a una serie di domande molte delle quali vorrei coprire. Quindi qui, se non altro che riflessioni sui moderni gestori di pacchetti, ci sono le cose a cui ho pensato.<\/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":[804,720,844],"tags":[1168,1168],"class_list":["post-230879","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-6","category-sviluppatore","category-tutorial","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/230879","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/comments?post=230879"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/230879\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/223872"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=230879"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=230879"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=230879"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}