Nelle puntate precedenti.Sinceramente in Italia, tra l'altro, per il mood nazionale che c'è, se tu appena ti dicono non lo fare, non lo fai.Non fai praticamente niente.Perché lo scoraggiamento è lo sport nazionale.È anche vero che le reti neurali si sono mostrate più capaci di rinviazzare le professioni intellettuali che quelle fisiche.Tutti, 40 anni fa, pensavamo che la prima cosa che succederà con l'urbano-robotica e l'intelligenza artificiale è che il lavoro primario sarà surclassato.Quindi il momento degli sviluppatori è ora, stanno vivendo l'età dell'oro.E quindi, come si dice, mai un giorno senza una linea.Ora è il momento di creare grandi cose.Bene e benvenuti su Geekbar, nuova settimana e nuovo episodio qua nel bar degli sviluppatori, ahimè devo chiedere scusa per la qualità dell'audio che oggi ci caratterizza ma essendo in vacanza ci troviamo in una situazione un po' estrema dove sapete no? Quando si preparano le valigie qualcosa la si dimentica sempre, io ho dimenticato il della scheda audio rendendo praticamente inutile quel mega valigione di microfoni, cuffie e cose varie che ho portato con me però prometto che per il prossimo episodio mi organizzo per avere una qualità migliore con me ho anche Luca ciao Luca tu ferie? Io ho già dato no ma non è vero ritornerò in ferie tra un paio di settimane due tre settimane non lo so in che mese siamo oggi Cos'è? Luglio? Giugno? Ok vabbè comunque sì sì ma me ne vado al fresco però andrò in montagna L'ultimo che mi ha detto "me ne vado al fresco" è stato dentro per dieci anni quindi forse è una cosa meravigliosa Però non così fresco Scusa Non così è lungo il calando Un saluto a tutti gli amici che ci ascoltano dal carcere Ecco qua si è già svelato il nostro ospite con un saluto ai nostri amici Galeotti secondo me ci possono essere, secondo lui ha senso fare dei corsi di programmazione per Galeotti? Secondo me sarebbe abbastanza, io vabbè subito partiamo con la bolda opinione io credo fortemente nel carcere come forma di recupero delle persone quindi una cosa del genere secondo me non è affatto una cattiva idea, bisognerebbe pensarci davvero, mi hai dato uno spunto già iniziamo così, quindi sì secondo me sarebbe una figata per le persone che sono interessate potersi inserire così in società con una figura abbastanza ricercata, hanno il tempo di studiare.Esatto, quello non manca, condivido ma mi sembra esista anche adesso non mi ricordo, ho letto qualcosa ma non mi ricordo se era in Italia o in America, comunque qualcuno ci ha già pensato, è proprio corsi di programmazione o informatica in generale però condivido assolutamente l'idea di Davide benvenuti su Gitbar il podcast dedicato al mondo dei full stack developer i mezzo artigiani, mezzo artisti che ogni giorno infilano le mani nel fango per creare nel modo più efficiente possibile coi prodotti digitali che quotidianamente usiamo.Io intanto presento l'ospite che è entrata a gambatesa, quando si parla di front-end non si può non parlare con Davide Di Punto, è già stato nostro ospite, è l'uomo del il "master of front end" come dicemmo la precedente puntata.Ciao Davide! Ciao ciao, un piacere di essere qui.Non mi ricordo assolutamente cosa avevo detto l'altra volta perché come molta gente, come tutte le persone famose, non riascolto i miei lavori perché poi non mi piace più che ho detto.Ovviamente per chi non mi conosce mi sto mi sto autoperculando, ho la sindrome dell'impostore come tutti, quindi adesso sono in porto di imbarazzo.Davide è quella persona che è pronta a rispondere quando chiunque ha un dubbio sul front end, quindi sei la persona giusta al momento giusto.La prima domanda Davide che voglio farti è oggi, luglio 2022 qual è lo stato di salute del fronte del mercato del fronte? Già mi sconvolge si vede che sono che sono in ferie perché è il 2022 ho controllato la data, anzi è il 2022, ancora peggio di Luca non mi ricordo nemmeno l'anno.Qual è lo stato di salute? Beh devo dire che siamo abbastanza in un bel periodo perché partiamo dalle cose che mi stanno piacendo molto.Prima di tutto il mese scorso è morto Explorer, definitivamente, quindi questa roba qua ragazzi ci manda già nel futuro.Io faccio il front end da 15 anni e mi lavoravo da 14, quindi è è arrivato quel giorno, quindi sicuramente è un buon mese per amare il frontendo luglio, visto che il primo senza supporto da parte di Microsoft Explorer e quindi il supporto si può dire abbandonare praticamente ovunque.Questa è una buonissima notizia.Ci sono buonissime notizie per quel che riguarda, come molti sanno, il miamore CSS, perché Stanno arrivando discrete figate, Safari ha spinto sull'acceleratore, la release di settembre è stabile e porta con sé un sacco di cose, quindi supporto a Parent Selector, il 2.as per dire che permetterà per la prima volta nella vita di scorrere il domo al contrario, che non si poteva fare fino fino ad oggi ovviamente stanno seguendo a ruota gli altri Chromium e Mozilla quindi già questa cosa qua rende lo sviluppo una figata.Dal punto di vista della javascript fatigue c'è sempre, vi vede che quest'anno è caratterizzato parecchio da una lotta a cercare di trovare un nuovo reactor, di un casino la community che sta cercando in tutti i maniera di schiodare questa libreria che inizia a far sentire i suoi anni.Questa cosa è evidente, la DX sta sempre, non che stia peggiorando, ma i nuovi avversari stanno tirando fuori discrete figate e quindi questo rende il tutto più frizzante.Devo ammettere che rispetto alle altre volte in cui appunto la javascript fa dire molto più alta per impararti ogni volta il nuovo pattern, nuovi linguaggi, nuove cose, la standardizzazione diciamo.Abbiamo capito finalmente come community, come ci piace fare le cose a componenti con qualcosa di JSX like purtroppo, non sono un grande fan in realtà, però la cosa sta piacendo parecchio e quindi poter saltare da una libreria all'altra viene un po' facile, ma ci sono grandi cose in servo nel futuro.Tra l'altro, questo sembra quasi una cosa da...per chi è un lettore di fumetti Marvel di vecchia epoca, è un buon numero zero da coiniziare.Ogni tanto dicevano i bollini sui fumetti Marvel, in cui si diceva "perfect starting point", questo sarebbe un buon momento per iniziare.Non riuscivo a sbattere, non so cosa è successo, mi spingevo sul pulsante e non funzionava.Ero pronto con una telecronaca, scusami, per descrivere quello che io stavo vedendo dalla tua webcam.Ok, vai.No, dicevo, oggi il mondo front-end è in fermento, quanto questo fermento diventa carico cognitivo insostenibile per chi invece è un full stack developer, che ha un'altra parte di contenuto che va a pesare sulla knowledge complessiva, sulla quantità di studio da fare.Al massimo la tagli se è troppo brutale per il montaggio.Io non credo molto nella figura appunto del full stack, proprio perché il calibro cognitivo ad oggi del front-end è così grande che diventa difficile anche solo essere un front-ender ad oggi, anche solo riuscire a fare un front-end da inizio a fine facendolo con tutti i crazy nintendo, non sto parlando di roba fatta male, quindi test end to end, test unitari, logica di business, caching e validazione dei dati, security, parte visuale, parte semantica e veramente tanta tanta roba.Io me ne rendo conto soprattutto perché nell'ultima esperienza lavorativa ho avuto il piacere di formare una persona che ha praticamente diventato frontender in un anno.E' uno di quelli che ha fatto i famosi corsi, ti facciamo diventare sviluppatore in sei mesi, queste robe qui.Grazie al cielo, anche il motivo per cui l'ha assunto, ha scoperto che quei sei mesi non bastavano e così ha preso sei mesi ancora per studiare, per fatti suoi e cercare di diventare un frontender.Al che ha iniziato a lavorare con me e ovviamente ce n'era ancora, ha fatto tipo quattro mesi in azienda in cui penso che, purretto, gli ho fatto solo scrivere componenti che non abbiamo mai usato, usato, solo per fargli sbattere la faccia sulla realtà dei fatti, e la mole di informazioni da avere solo per fare quella roba lì è grande.Uno degli aspetti che vedo molta gente sorvolare dal punto di vista del frontender sono accessibilità, che molti frontender manco sanno dove sta di casa, tipo Area Attributes, Tab Index.Hai mai provato a navigare il frontend che hai fatto con la tastiera? E' una domanda di tipo da colloquio 101 che ogni tanto faccio.O con lo screen link.Si, si si.Tra l'altro è fatto, non mi ricordo più, va beh, probabilmente del MacMissile perché era Common Dark 5, un'opera del genere per fare partire lo screen reader su Chrome ed è super divertente, una cosa che consiglio a tutti da fare.Adesso non mi ricordo la shortcut a memoria perché io sono una delle brutte persone che ha la touch bar del Mac e c'è il tastino per accendere e spegnerlo.Però sì, con questa roba qui, già quello è un carico cognitivo devastante.io sono soltanto agli accessibili di Day.Tu lo attivi ma non sai come uscire.Esatto, si, si, si.Li avvi tutto.E quindi sì, questa è una roba che per me ha un carico cognitivo abbissa, cioè nel senso è veramente devastante.L'altra parte che vedo sempre presa un po' sotto gamba, perché ci facciamo aiutare fin troppo dai framework, è la parte di security.Banalmente vedere se abbiamo scritto una content security policy per le nostre cose, se tutte le nostre inchieste passano tramite HTTPS, sembra scemenze.Nell'ultima esperienza lavorativa ho lavorato per una banca, abbiamo subito un… subito non è proprio la prova giusta, abbiamo avuto un collaboratore che ci hanno provato ad attaccare il front e ovviamente lì ci sono alcune piccole cosettine che anche un frontender dovrebbe sapere, effettivamente anche quelle carico cognitivo, perché ovviamente soprattutto sulla security tecnicamente dovresti essere sempre aggiornato, perché ovviamente.Quindi ce n'è tanta solo per iniziare, per dire esatto, parte di Testend to End, per dire, cosa che ultimamente sta diventando veramente figo Playwright, è un tour per fare Testend to End per chi lo conoscesse, io ci ho avuto più fomo per l'uscita di Playwright, per vedere se era meglio di Cypress rispetto all'uscita di Blu-Ray App 18, il nuovo Solid, GDS, queste cose qui, quindi secondo me il carico cognitivo è è agghiacciantemente enorme e per dire, anche una persona come me che ha avuto la fortuna, io mi sono sentito fortunatissimo perché 15 anni fa ancora non ne esisteva la figura, ma io volevo fare il frontender, questa idea qua ce l'ho da quando ero piccolino, subito dopo aver capito che non volevo più fare il dirittista.Ci sono interi settori del che non conosco, come dicevo prima offline, adesso mi volevo fare un corso di 3js, faccio tutta la pasta di 3D nel browser che ho avuto anni e anni, l'ultima volta che l'ho fatta penso di averlo usato con un plugin jQuery, la modellazione per 3D, questo mi fa capire quanto tempo potreste essere.Domanda, quanto avere solo JavaScript come linguaggio di scripting del front-end ha in qualche modo attutito la front-end fatigue o quanto l'ha limitato? E a questa ci attacco subito un'altra domanda che è WebAssembly come lo vedi nel contesto front-end generale? Questa è una bellissima domanda perché è una di quelle cose che mi chiedo anche io, non dico quotidianamente ma spesso, tipo nell'ultimo paio d'anni io ho scritto solo programmazione funzionale in JavaScript, in TypeScript, con una libreria tutta italiana, per chi non la conosce, grande cuore Giulio Canti che ha scritto FPTS con tutto quello che ne consegue.Ovviamente una delle cose brutte di FPTS è che dietro c'è TypeScript a cui dietro c'è JavaScript che ovviamente non ha la più pallida idea di come dovrebbe funzionare e davvero la programmazione funzionale.Quindi Giulio è stato un mostro, ci ha messo dietro un sacco di di modellazione, io non so nemmeno come abbia fatto quando vado a leggere i film che ha scritto, soprattutto quelle ricorsive, solo applausi.Certo che poi il giorno dopo leggi due righe di Haskell e trovi Haskell dove funzionale, "Full Citizen", capisci che stai usando un linguaggio ovviamente limitato, non è così così bello.Quindi delle volte mi chiedo "ma quanto sarebbe più bello poter usare il tool giusto per fare la cosa giusta?" Quindi questo sicuramente è una buona...non ho davvero una risposta perché in realtà con che se ne dica, io sono un grande fan di JavaScript, con tutti i suoi limiti, con tutte le sue schifezze, con gli aerotondamenti, a mentula cani e tutto quanto, perché alla fine è un linguaggio che a parte che fa una cosa mostruosa, nel senso è compatibile con se stesso da quanto? 30 anni? Una cosa del genere? Così nel '90 con Brad Deneck l'aveva fatto '94, '96 non mi ricordo più.Però sì, è fenomenale questa cosa qua, non è una cosa da poco.Poter scrivere JavaScript come lo facevi dieci anni fa, tu di poter prendere un periodo sabbatico e poter fare ancora un sito.Staroba qui sulla JavaScript fatidi in realtà dovrebbe influire molto.I miei amici che programmano Java, per anni per motivi lavorativi si sono fermati a Java 8 e e adesso, non lo so, piangono in lingue che io non comprendo.Dall'altro, l'ultima volta che abbiamo provato a infilare roba non javascript dentro il browser non è andata benissimo, ci ricordiamo tutti quanti Flash, Silverlight, ActiveX, tutte quelle mostruosità che quando ci pensi ti fanno dire "va beh, il JavaScript non fa così schifo, abbiamo avuto roba che ti bucava la macchina, bruciava le batterie per davvero e cose di questo genere qua".Quindi per me ha sicuramente rallentato parecchio lo sviluppo e le cose belle che si potevano fare sul web, ma ne ha anche aumentato particolarmente la resilienza e secondo me una delle cose che ha reso il web vincente rispetto alla lotta con altri prodotti è proprio la resilienza.Io nel passato quando un paio di app per Android 2 iOS 8 le avevo scritte ovviamente oggi non funzionano più.Ho ancora dei siti soli, penso che il sito del mio diploma in quinta superiore da qualche parte sia ancora lì che giri, quindi questo ovviamente è una figata.Quando si parla di WebAssembly quindi io sono da un lato galvanizzato perché finalmente potremmo fare veramente qualcosa di più per quel che riguarda lo sviluppo diciamo più profondo.L'altra domanda che mi faccio è, questo dal mio lato designer, all'utente gliene frega veramente di questa roba qui, cioè che valore aggiunto ci porta questa roba qui, perché javascript nella sua non essere bellissimo, nel suo essere super resiliente, nel sempre compatibile con se stesso e nell'avere dei limiti ha portato un grande valore aggiunto agli utenti, ovvero che una cosa che hanno usato l'hanno potuta usare, la standard, la possono usare all'infinito.Con WebAssembly questa cosa dovrebbe rimanere, mi auguro sarà così, ma tutta questa potenza in più che avremo, cosa porterà poi all'utente come valore aggiunto? Io vengo da una generazione che tipo, per farti esempio io all'università mi hanno fatto studiare Second Life, che doveva essere il nuovo metaverso, perché mi pare Prada, che potrebbe essere un'altra casa di moda, che aveva fatto l'atelier tutto quanto su Second Life, tu potevi comprare su Second Life.Domanda, a parte la campagna marketing avrà venduto una roba? Non lo so.L'altra cosa che mi fa molto paura di WebAssembly invece è l'accessibilità.Ho paura che si torni, tra virgolette, a roba tipo skip intro, i tastini di The City Flash.Anche perché una cosa riguardo WebAssembly, quando ne parla, ci si pensa, tipo c'è tutta la parte di giochi, di gaming che si può portare, esperienze di quel genere lì.Solo oggi alcuni giochi, diciamo di quelli importanti, un esempio nobile è The Last of Us 2, pensano a poter fare un gioco accessibile.Non so quanto la spinta tecnica di poter fare nuove esperienze con WebAssembly ci potrà dare una mano a supportare tutto il web.LM: "una domanda perché voglio fare ancora un passo indietro.Hai detto che l'ecosistema frontend è diventato abnorme e quindi c'è un carico cognitivo enorme per un nuovo frontendista, frontendista del 2022.Hai spiegato in parte le ragioni, alcune ragioni magari le posso trovare anche forse in una diversa scala, come la sicurezza.La sicurezza era un problema anche vent'anni fa.Ma ti chiedo, secondo te è andato storto qualcosa? Perché dire che quello che vent'anni fa, o forse 15 anni fa, lo riusciva a fare un full stack, adesso c'è bisogno di una persona, comunque un team dedicato al front end ed è giusto, però mi chiedo se si poteva fare altrimenti di questo.Hai voglia che andasse storto qualcosa, ne sono andate storte migliaia di fila e non è per me un problema tech, non è un problema solo della sfida del tech.Qua potremmo entrare sul lato del proprio metafisico del consumismo sprenato del capitalismo che cerca una velocità di andare online sempre più veloce, una ricerca di riuscire a, mi viene solo in inglese, "move fast with things" e cose di questo genere qui, ad alzare sempre di più l'asticella di di quello che viene proposto e quindi ad aumentarne la complessità, questo lo abbiamo in ogni settore.Un esempio che posso fare è il mio suocero, in cui sono ospite a un momento, che ha 81 anni, una volta costruiva le automobili, proprio si faceva le auto lui, la zero, era meccanico per passione, perché di lavoro lui lo faceva il tipografo, quindi questo ti fa capire.Oggi quando apre il cofano della macchina posso dire brutte parole in bresciano, perché la complessità che ha raggiunto un'automobile è ovviamente molto più complessa delle jippine che si costruiva lui che andavano a 75 all'ora probabilmente inquinando come un getto.Questa tipologia di cosa si avvista ovunque, non penso che abbiamo sbagliato noi tech da quel punto di vista lì, è semplicemente che si cerca sempre di ottimizzare i processi, aumentare il livello di attrazione, aumenti il livello di attrazione e la cosa diventa più difficile, ma basta pensare che io una volta, come dici tu, faccio un'attrazione anzi io già non sono della prima ondata del web, lo faccio come lavoro da 15 anni, vent'anni fa quando ho iniziato a fare le mie prime cose c'era il webmaster, il sistemista, la security manager, il design, tutto.Io vengo dalla seconda generazione, quella dove c'era il web designer che faceva il design, l'html, il css, i plugin dj qui dentro, i caroselli, già lì hai iniziato a separarsi un po' la figura e poi più vai avanti e più questa cosa si specializza.Così come oggi per rifare il concetto con le auto, c'hai il gommista, c'è quello che ti fa solo esclusivamente il bollo e via andare.Un altro esempio che mi viene sempre in mente io quando ci penso perché la mia dolce metà era architetto, una volta il muratore ti faceva la casa.Adesso c'hai l'elettricista, c'hai l'idraulico, c'hai l'ingegnere, l'ingegnerette, il muratore, il capocanchiere, l'architetto, l'interior designer.E se devi mettere sulla casa bisogna anche del notario e di un paio di loschi figure in comune, c'è parecchio cambiato questa situazione qua.Abbiamo sbagliato qualcosa? Sì, ma forse come società non abbiamo complicato le cose parecchio, un po' per dare da mangiare a tutti, tra virgolette.Un po' perché sì, effettivamente quando ingegnerizzi qualcosa, quando passi da da qualcosa di rudimentale a cercare di farne un progetto ingegnerizzato, aumenti l'astrazione più una cosa è astratta e più ci vuole uno specialista.Secondo me infatti questa evoluzione viene proprio dalla trasformazione, dal passaggio da un approccio di tipo artigianale a un approccio di tipo industriale.E per compensare e per permettere delle realizzazioni di tipo artigianale sono apparsi nel mercato una serie di tool che introducono ulteriore astrazione ma che in qualche modo hanno come obiettivo quello di semplificare alcune parti.Uno di questi che adoro è Tailwind e io qua so che con David abbiamo due visioni opposte ma mi piace parlare con lui proprio di questo per questo motivo perché so che le argomentazioni su questo sono opinionate ma molto ponderate, avendo stima in Davide, ho stima anche nelle sue argomentazioni.E quindi ti dico, io so che tu hai una sorta di repulsione verso Tailwind e questo tipo di strumenti, da che cosa è guidata questa repulsione? Allora, sempre per parlare storicamente, io, una delle persone che apprezzo di più nel web, è la persona che ci ha allontanato, proprio come sviluppatori, da fare i layout con le tabelle, che era famoso sul web, Zeldman, no? E lui aveva scritto un bellissimo articolo, ultimamente, quando ancora non esisteva Tilewind, penso che si parlasse di Atomic CSS in generale, che era KissMyClassName, un modo di dire che la classe deve avere un significato semantico che deve spiegare a un'altra persona quello che fa quel nodo del DOM rappresentato in HTML.Nel momento in cui ci metti qualcosa di estetico, che ti dice tra l'altro in maniera anche molto poco leggibile, a meno che non ti studi tutto quello che è il CSS, tutto quello che è Tilewind dietro, non stai postando valore aggiunto al tuo al tuo codice.Detto questo, quindi il mio astio non è tanto per Tywin ma per tutti gli approcci in cui all'interno del componente ci sono scritte classiche che non hanno un valore semantico.Io in CodeReview, dei miei colleghi, se mi scrivono "blue" su una classe perché è il bottone "blue", io non l'accetto.ma io non l'accetto manco dai designer, se tu mi fai una figma, perché i designer da me usavano figma, dove hai le varianti, una variante blu, rosso, giallo, verde, per me quello è sbagliato, perché quello è il risultato di un ragionamento, ma tu mi devi far capire il ragionamento dietro quella cosa lì, quindi da quel punto di vista lì, per me qualsiasi cosa scritta nel DOM che non abbia un significato è sbagliato.Per farlo ancora più, per fare una bella catchphrase, scambiare il significato con il significante è proprio errato quando si comunica con un'altra persona.Quindi questa è la prima questione, cioè io quando vedo una roba fatta in quella maniera lì può essere veloce quando vuoi tu, può essere figa, puoi capirla, bla bla bla, per me è un po' uno stupro di quello che dovrebbe essere il web, perché mi stai chiedendo, invece di facilitarmi la vita me la stai complicando.Ci sono esempi di ovviamente classi, Tilewind giganteschi, attaccare un componente che leggerlo ovviamente non aiuta l'elegibilità del codice e tutto quanto.Poi ovviamente una delle cose che mi si può dire tranquillamente su Tilewind, infatti in quel caso poco da dire, è quando viene usato l'apply, cioè quando Tilewind viene usato con un preprocessore, quindi tu prendi tutte queste classi, le metti insieme e a quel punto lì hai una classe unica, bella lì, a posto.Il problema mio maggiore col Tilewind è superato, cioè una volta tolto lo scoglio della semantica all'interno del markup, già questo me lo fa digerire di più.Al che, Talwind per me, come può essere anche Bulma, Bootstrap, tutte queste cose qua, per me sono, io li considero, dei prestiti, dei loan, ovvero non ho pensato troppo alla parte diciamo di design visuale, prendo in prestito qualcuno che l'ha pensato per me, quindi ho dei quelli che vengono chiamati design tokens già presi e rappresentati, eccetera, li posso buttare in pagina e vado su.Per alcuni progetti, tipo se oggi mi dicessero "vedete abbiamo una dashboard interna e la facciamo con Timewing solo in app-live" dico "va bene" cioè nel senso la parte UI ha un valore aggiunto in quel caso molto basso per quanto mi riguarda, deve essere una roba bella da vedere, usabile, ma di certo non devi metterci su la brand identity o qualcosa di parecchio significativo.Non ho nulla in realtà in contrario per quelli utilizzati, anche comunque se è un progetto personale in cui voglio semplicemente raccogliere la lista dei miei podcast, ok, non è problematico.Se stai facendo un prodotto già un pochettino diverso, perché a a quel punto lì, è un prodotto di user facing, perché a quel punto lì appunto quel prestito andare a sovrascrivere quelle che sono appunto i design token da un punto di vista del design può avere un costo parecchio parecchio alto, quindi se l'accordo è usiamo Tilewing con apply con tutto quello che viene e useremo i token configurati come vogliamo.Nel momento in cui usiamo Tilewing però questa roba qui la cambiamo un pochettino perché le griglie qui saranno 10, i 12, lì invece il padding così così eccola, secondo me ci sono altri tool che funzionano meglio.Per dirne uno, perché poi mi magari si fa la domanda, c'è Vanilla Extract con tutto il suo ecosistema che ti permette di scrivere fogli di configurazione di i tuoi design token, farli e poi applicarli da zero, quindi hai la comodità di un Tidewind, ma i design token te li sei iscritti tu.Ovviamente dipende come tutte le cose.Una delle domande che ovviamente ci si può fare volentieri, ma tu non è che ti riscrivi tutto da zero.Uso React, uso vari router, FTTS per dire sì, vero, ma qua torniamo sul discorso dell'astrazione.Astrarle qualcosa di complesso va bene, per me l'astrazione su un design token va bene nel momento in cui sai però cosa c'è sotto quel design token, quella è la cosa fondamentale, perché tu puoi astratere quando sai quello che c'è sotto, sai fare la catena al contrario.Quello che noto è che spesso chi usa Tilewinds usa come scorciatoria per non sapere quello che c'è sotto.Non parlo di CSS, parlo proprio di design.Alcune cose che detto, sposo al 100%, io però voglio provare a portare un'altra prospettiva a quello che detto.Intanto per me è importante fare una grossa distinzione tra tool, come poteva essere il bootstrap e Tailwind, perché? Perché Tailwind è un approccio completamente diverso, ti mette a disposizione token e non componenti.Già quello in qualche modo a me, per esempio, è uno dei motivi per cui dall'inizio ho adorato Tailwind, era per questo motivo, perché chi si ricorda quanto fosse doloroso accare i cacchio di componenti di Bootstrap, con punto esclamativo importante dappertutto e l'abbiamo fatto tutti, voi per i side project, voi per il tema di Italia.it, ma l'abbiamo fatto tutti.Invece Tailwind ti dà questo approccio, queste classi che aggiungono una cosa che secondo me a CSS manca, che è, non saprei come dirlo in italiano, però ti permette di descrivere la parte estetica in modo pseudo-discorsivo, non saprei come dirlo.Cioè, è come se tu stessi scrivendo una classe, invece il CSS classico lo sento quasi come il singhiozzo, i due punti alla capo, forse è una mia fissazione.Qua a livello proprio di sensazione nello scrivere trovo molto più fluido dove scrivere una lista di classi.Altra cosa interessante che secondo me è la discriminante, sta nell'approccio.Quello che ha detto Davide io l'avrei sottoscritto fino alla morte, fino a cinque anni fa, quando non utilizzavo un approccio a componenti.Oggi ho la percezione che in realtà, e quindi cosa facevo? Mi creavo i miei componenti nel CSS, ne gestivo la parte estetica, quindi una parte di valore semantico lo portavo nel CSS dove descrivevo i componenti con lo stile e a quel punto ero pronto davvero a difenderlo col sangue quello.Oggi con i componenti che diventano un elemento comprensivo di logica del componente, DOM, quindi struttura HTML e stile, secondo me la separazione avviene a livello componente, non più a livello CSS, JavaScript, HTML, per cui non sento così forte quell'esigenza di separazione.Altra cosa e qui chiudo, il fatto di essere limitati a una serie di token già prefabbricati può avere senso, cioè ha senso quando Davide dice "Telwind ti dà già i suoi token e tu te li usi" però in realtà per il mio approccio a Telwind i i i token di Tailwind li uso praticamente zero perché se devo fare un progetto strutturato il mio Tailwind Conf sarà veramente eh customizzato all'inesima potenza no? Però nel contempo utilizzo lo stesso strumento anche per fare il POC il sito di Gitbar che ho fatto coi piedi per dirti dove io non ho bisogno di pensare alla razza aurea per la dimensione del bottone per l'equilibrio perché non è mio non sono un designer e non per quel tipo di progetto non mi posso permettere un designer avere teguing che ha già per esempio i token di spacing o di font disegni stabiliti e fatti con un criterio opinabile ma una logica, quello tanta roba per me che sono una capra in quell'ottica, quindi mi permette anche di avere un approccio artigianale dove altrimenti non potrei averlo.Guarda, hai toccato tanti punti, non mi ricordo più il primo, parto dal secondo, che è quello lì di "ti trovi più comodo a scriverlo in maniera" tra virgolette "discorsiva".Sì, capisco.È il motivo per cui ti ho parlato di Vanilla Extract, dove puoi farti questa roba qui esattamente nella stessa maniera, molto simile, ma con altri vantaggi tipo è fortemente tipizzato, scrivi alla fine CSS, scrivi, se più vicino al CSS rispetto a quello hai una serie di ottimizzazioni pare, quindi per me se ti piace quella roba lì, il problema di vanilla Hextech è che non c'è quello che dici tu, che è il terzo tema, il prestito, il prestito da parte del design.Cioè per dire, come dici tu, avere dei limiti.Questa è una cosa che a me piace molto di Tilewind, quello che banalmente ha fatto capire alla gente che le spaziature sono delle variabili di tutto rispetto, cosa che invece spesso e volentieri i designer ogni tanto "qua 48 pixel, lì 52, qua fai tipo 3D da un componente l'altro, quindi da questo in realtà è molto figo, è quello che ti dicevo nel senso funziona, Tailwind funziona molto bene, quando parlo appunto di design token, anche se tu ti fai il tuo design token con la configurazione, alla fine sei limitato a, giustamente, a quelli che sono quelli di Tailwind.E ti dico, se il web fosse quello di cinque anni fa, sarei convinto anch'io.La mia domanda è, quando è che hai usato l'ultima volta CSS Grid, le erroneamente valutate chiamate CSS Variables, Clamp, MinMax e cose di questo genere qui? Io ti posso rispondere, C'è lo stesso grid stamattina con Tailwind.Quindi in realtà sai cos'è dar? Hai ragione nell'ottica di avere awareness di quello che stai usando.Cioè, se il problema sta nel fatto che essendo Tailwind una strazione, una classina del cavolo, ti nasconde un livello di complessità e tu conosci solo quella classina del cavolo, grazie al piffero, certo che il problema c'è.Se però ti fluttui con l'awareness, io credo che in realtà ogni strumento è buono perché stai usando una zappa, sei consapevole del prestito che stai prendendo.Sì, sì, ma quello mi sta bene, nel momento in cui tu lo sai, però per dire, per fare l'esempio, quando si parla di tipografia, ti faccio l'esempio stupidissimo, nell'ultimo sito che ho realizzato la tipografia è fluida, va da un minimo di una dimensione a un massimo di una dimensione, non ci sono break point in nessuna maniera, quindi non c'è un ragionamento a questi temi, semplicemente a una dimensione minima più di un momento lo schermo arriva a una dimensione massima e viene appunto fatto un clamp sul min max delle varie proprietà con determinate di determinate dimensioni.A quel punto lì anche la griglia, per dire, tutto il sistema griglia, non c'è una griglia perché si usa CSS grid con i vari auto e quello che spesso e volentieri viene fatto è un po' il contrario di quello che si usa.E' questo, ovvero, ecco l'altra cosa che mi hai detto, concordo con te, la questione si è spostata verso i componenti, ok quindi non vedo più una separation of consensus come dicevamo prima HTML, CSS, JavaScript, se usi JSX quella roba lì non esiste già più, quindi mi sta bene metterci quello, a quel punto scrivi pure a strain line, tanto purtroppo il JSX di base ammazza la separation of consensus, su questo non posso essere smentito perché HTML e JavaScript si sono scritti insieme e quindi, a separizione di circostanze, non c'è.A quel punto se ci butti pure dentro lo stile, per me non muore nessuno, la strada è già segnata.La differenza è proprio questa, tu potresti avere un componente che gestisce la tua griglia, che decide come mettere le cose in pagina, puoi fare sovrascritture di custom properties.Le custom properties di CSS bisognerebbe vederle come, volendo, un livello di API sul componente, non passare i props, passare i classi eccetera, ma banalmente il tuo text color.Cioè tu come sviluppatore dici ok questa roba qui è il padding che deve prendersi.A quel punto lì tu ad esempio in token padding 1, padding 2, padding 3 che scrivi in line o che c'è nell'apply, lo devi sovrascrivere.Lo puoi si sovrascrive con Tailwind, non sto mettendo in dubbio perché a quel punto lì fa una custom pro per che si inculchi, però come vedi il livello di astrazione per poter ottenere qualcosa che finalmente CSS ti dà abbastanza facilmente è molto alto perché veramente una delle cose che ho notato sposando appieno diciamo banalmente l'ultimo lavoro che ho detto non me ne frega niente.Supporto le ultime due persone del browser con la scusa che era una banca quindi andando lì, "signori bisogna avere la sicurezza alta, quel browser vecchio non ce l'abbiamo", io in realtà ho fatto questa roba qua per poter dire "ultimi due vendor major del browser Explorer Mostro", quindi sono due anni che lavoro in questa situazione qua, potendo sbizzarirmi appunto con custom properties media query all'interno di JavaScript perché ci sono i media Observer, Interstellar...ho scritto un casino meno di CSS.Pensa che una cosa assurda, uno dei miei lavori più apprezzati su internet tanti fa era un generatore di griglie SAS, che ti permetteva di farti la griglia come volevi tu e usarla sia a Tailwind maniera, sia con i mix in di SAS, ma nell'ultimo lavoro noi abbiamo lavorato senza griglie, non c'era spacing, perché banalmente tutto quanto, da un punto di vista del design, gli spacing era una variabile, in realtà aveva tre variabili di spacing, anche quelle che si adattavano direttamente al dispositivo, non c'era nessuna griglia perché aveva il componente che decideva come mettere le griglie e comandava attraverso custom properties i figli che si andavano a mettere in giro.Io ho scritto pochissimo CSS usando CSS moderno, in realtà è molto più complicato, perché spesso, tra l'altro, se mai riuscirò nella vita di entrare nella committee di chideci del CSS, perché i nomi delle proprietà di grid sono una delle cose più oscure che il signore abbia mai creato.Ogni volta, nonostante l'uso tutti i giorni, con un po' di aspetto era vertical, all'inself, all'injustifycontent, display, era grid template columns o grid columns template, tutte queste cose qua.Però una volta che ci fai la mano, veramente per fare l'esempio stupido, ultimamente ho dovuto inserire all'interno di una griglia molto complessa un elemento praticamente, facciamo un esempio, farvi capire, avevo un titolo con una roba a destra, una navigazione di primo livello e una tabella gigantesca.Nel punto in cui c'era la navigazione io ho dovuto inserire dei filtri, quindi un secondo livello di navigazione affiancato, il tutto senza poter toccare i componenti che già c'erano perché erano utilizzati da altre parte una delle cose che avrei potuto fare, vado a fare un decorator, che ti prende questa roba qui.No, banalmente con un filtering selector e con CSS grid sono andato a pensare un elemento che era sotto, ah c'è anche questo elemento, bon, ficcamolo qui con la CSS lib, scrivendo tre dighe di codice, CSS normale, questa roba qui è abbastanza wow effect.Quindi poi, come dici tu, è un tool, sai quello che stai facendo, ti fa andare veloce.Per me puoi scrivere anche a quel cui sei.Questa è la cosa che per me è più importante di tutte le intelligenze agile, le persone prima di tu.Se tutte le persone nel tuo team quella roba lì la capiscono, la comprendono e gli piace, e se la persona sei solo tu, bella lì, e nel momento in cui hai rispetto per il prossimo, rispetto per il prossimo intendo la roba è accessibile, è comprensibile, se non è comprensibile è ben documentata, ci sono i test a coprire con la roba lì, allora puoi fare quello che vuoi, lo iscrivire in BrainFab, va bene, non c'è nessun problema, questo vale ovviamente per tutto.Dall'altro è quello che dici tu, se prendi un prestito devi sapere cosa stai pagando, una volta che lo sai, se tu mi dici io scrivo molto più veloce riesco a fare.Io ti dico, bella lì.L'unica cosa che ti dico è che se guardi un pochettino, poi se mi dici che le usi con grid misto a Timewindow o dentro Timewindow, mi chiedo come fai a scrivere una grid template area con le classi.Quasi paura a chiederle questa cosa qui.Però va bene, non è problematico.La questione è quella che dici tu, è un pochettino quello che si dice sempre quando si vede nei corsi, si diventa sviluppatore in tre mesi e quindi ti fanno fare le hack senza sapere javascript, ti fanno vedere qualche lava real senza sapere PHP e MongoDB infilata a caso dentro senza manco teoria dei dati.Infatti sì, va bene, sono dei tool, però sotto divisa, perché c'è una delle domande che faccio per difere colloqui è "ok, questo minore div/chiuso div, in cosa viene compilato? Te lo sei mai chiesto?" perché sapere banalmente una cosa così banale aiuta a risolvere infinità di problemi in React.Stessa identica cosa sul CSS, se sai qual è il tuo prestito sai quello che faccio, per me va bene.L'unica cosa che ti dico appunto, Io personalmente non ne ho mai sentito il bisogno perché quando mi piace scrivere quella roba lì, io ad oggi scrivo massimo due o tre lighe di CSS per elemento del DOM.Se dovessi scrivere tilewind applicherei una o due classi ad elemento.Penso che io non scrivo manco più le media query, perché solitamente uso flex o grid per fare giochini vari.C'è un bel talk di Giacomo Zinetti su youtube che potete trovare, che è la mostra della media query o qualcosa del genere, dove appunto fa vedere un sacco di tecniche per non usare più le media query e avere una roba con con il contenuto.Domani che ci saranno, domani veramente, le element query, le container query, anche quello ci permetterà di fare delle figate assolute, che ovviamente a strato e con dei framework atomici inizierà a diventare un pochettino complicato secondo me.Luca hai qualche domanda? C'è la devo fino a un secondo fa quando ha appena detto cosa gli mancava nel CSS oggi, quindi gli ha detto "immagino di aver capito bene che sta aspettando i container queries".Se c'è altro...Cosa vorrei domani? Si, allora, devo mettere...Container Query e Parents Elector sono due miei...non lo so...se avete presente il video del bambino che scarte il Nintendo 64 a Natale, no? Quando ho visto che sono disponibili, quella è stata la mia espressione.Dal punto di vista del CSS per ora mi sta bene.Vorrei magari che ci fosse un po' più attenzione per quel che riguarda i web components, è lo styling di Web Components usato con API, con le custom properties.Mi piacerebbe molto quella parte lì.In JavaScript quello che mi manca, visto che adesso sono due anni che lo utilizzo, è avere qualcosa che lo renda l'approccio funzionale molto più facile da fare.Ecco, Una delle cose che ultimamente sono molto felice, che è diventata una proposal di JavaScriptella, sono i record, le tuple.Sono delle proposal, per chi non sapesse cosa cambia, faccio.Semplifico per amore di chiarezza, non è proprio così, ma banalmente un record è un oggetto immutabile, quindi se faccio record a 2.1 uguale, uguale, uguale, record a 2.1, finalmente JavaScript si dice true, perché riesce a fare un confronto tra valori e non da referenza.Questa roba qua, tu pensa a quante librerie di immutabilità, di memorizzazione butti in eccesso con una una specifica sola che dovrebbe arrivare e passata, non mi ricordo a quale stesso stadio.Tra un annetto o due si potrà fare questa roba qua.Tu pensa, banalmente, per chi usa React, pensa quanto diventa più bello usare quei maledetti Asley per gli effetti.Tutta la parte di memorizzazione te la puoi scordare perché puoi usare appunto record e tu puoi immaginare più o meno la stessa cosa che ho detto prima, per gli record, per gli avventure.Questa roba qui è una delle cose che mi galvanizza di più.Ecco, una delle cose che aspetto anche con trepidazione in JavaScript, oltre alla pipe che sta arrivando, è il pattern matching.Pattern matching secondo me è una di quelle cose che, ecco, tra librerie che tutti dovrebbero se usate TypeScript andate subito a vedervi TS Pattern che vi fa fare praticamente...io ormai avvio un progetto, installo TS Pattern, tanto lo userò il prima, se sto usando TypeScript per me TS Pattern dovrebbe essere già incluso, non so nemmeno come fare senza.Vero, vero, Tieni presente che uno dei motivi per cui mia moglie mi percula sul fatto che io uso javascript sta sul pattern matching.Domanda, voglio spostarmi in una delle materie preferite di Luca invece.Comunicazione.Tu hai fatto tantissimi anni il front end e continui a lavorare sul front end.Come si costruisce una comunicazione sana con UI e UX designer? Se avessi un euro ogni volta che mi hanno fatto questa domanda adesso avrei più di quanto mi hanno fatto guadagnare il bitcoin nell'ultimo anno.Gioca a parte, prima di tutto quando si parla di full stack, per me quando si parla di front end, quando si parla di design c'è un ovvio problema.Il problema è che secondo me, una mia opinione, potete poi insultarmi sul canale telegram o via messaggi privati su LinkedIn, un frontender dovrebbe saperne un pochettino di design e viceversa un designer dovrebbe saperne un pochettino di quello che sta andando a progettare.Per esempio, per fare un esempio per personale, di Stato, eppure giustamente quando devi fare l'architetto, e parliamo di realizzare le billette, ti fanno fare Analisi 1, Analisi 2, Fisica 1, Fisica 2, c'è tutta roba di ingegneria tecnicamente, perché l'architetto giustamente non ti può costruire, non ti può progettare qualcosa senza avere almeno una base, e quindi da quel punto di vista lì.Secondo me la progettazione ad oggi ha delle lacune molto forti.Io sono fortunato, io sono lavorato in design, però negli esami obbligatori della mia università c'erano tre esami di sviluppo web, quindi proprio HTML, CSS.La parte di codice era invece in Actionscript 2, perché questo fa capire quanto tempo fa che ho fatto l'università, però c'era programmazione, c'era un esame anche per vita, anche in modellazione 3D che avevo fatto e After Effects c'era una parte di sviluppo.Non sto parlando, io ho fatto anche informatica, non sto parlando di esami di di algoritmi o dell'esame di informazione oggetti che si fa in informatica all'università.Però comunque è della roba che ti dà delle basi, cioè tu sai che è difficile.Io quando sono uscito dall'università sapevo già che centrare un elemento verticalmente in pagina era un problema, quindi non mi sono mai sognato nella vita di andare da una parte ci vuole centralo, perché avevo capito col sangue che quello era un problema.Stiamo parlando del 2005-2006.Quindi questa è la prima cosa.Dall'altra parte, avendo fatto anche informatica, se parliamo di progettazione è abbastanza agghiacciante, è una delle che da più fastidio, proprio non c'è manco progettazione di un API, tra tale cosa, che già aiuterebbe a far capire.Quindi, da un lato, la prima cosa da fare, lo dico io in un certo, ovviamente ho questo problema quando mi, avendo appunto io nella vita fatto sempre quasi solo front end, per quando abbia scritto qualcosina su chi interagisce comunque di di Postgres, eccetera, dal punto di vista di database, sicurezza, faccio schifo e ribrezzo.Ho messo su della roba tipo, ho fatto morire a mare un Postgres con 200 utenti al giorno, perché non mi ricordo cosa mi ero dimenticato di fare dalle quelle che avevo scritto.Quindi, da un lato c'è sempre cercare di parlare tutti la stessa lingua e di cercare di imparare da quello che ne sa più di te.Se un frontender, fatti spiegare il design, fatti dare questa roba a cui cercavi e viceversa, perché? Perché insegnarsi a vicenda queste cose qua è il primo passo per poter iniziare a parlare la stessa lingua e a poter quindi comunicare, perché alla base della comunicazione ci sta la lingua.Per chi è appassionato di pipi, la bella storia della Torre di Babele, che è una cosa divertente sull'argomento.Quindi se si inizia a poter comunicare insieme questa cosa qui è fondamentale.L'altra domanda, quindi l'altra cosa da fare è chiedere sempre perché.Chiedete sempre perché una cosa.Non capisce una roba? Il Lo-UI ha fatto un tasto blu e un tasto rosso? Perché? Qual è la differenza? L'altra cosa, siate pigri, perché come dicevano prima, l'approccio a componenti è quello che ha ha vinto la battaglia di come si progettano i web oggi.Se è un componente che fa una roba, perché ne devo fare uno che è quasi uguale ma leggermente diverso? Questo vale sia quando si sviluppa ma soprattutto quando si progetta.Quindi se il vostro designer viene da voi con "guarda questo è il bottone di prima, solo che in questo caso qui è due pixel più largo", senza ragione apparente, domanda perché c'è una forte motivazione per questo motivo qua.Cioè ricordatevi che ogni cosa che viene fatta a un costo è una delle cose che ti fa guadagnare i soldi e risparmiare sui costi inutili e quindi spesso e volentieri discutere insieme del perché di alcune scelte è istruttivo per ambele parti, perché magari con due pixeli in più, il designer ci ha pensato "oh, con due pixel in più fatturiamo il 40% in più ragazzi, ma anche tre di pixel, va bene".Se invece, boh, perché così è allineato a questo punto qua focale, a quel punto magari...perché? Questa è la questione.Però ripeto, la risposta è in imparare a comunicare, cercare di parlare la stessa lingua per chi usa i componenti, banalmente dare il nome insieme al componente, ogni componente dovrebbe avere un nome in maniera che in azienda quando dico "batton barre" sanno tutti esattamente di cosa stiamo parlando, mapp, tutti, questa è per dire la prima questione.Seconda questione appunto, cercate di contaminarvi a vicenda, un po' di imparare il design, io per dire non ho mai usato Figma in vita, mi sono fermato a fare design con sketch e poi ho smesso perché già imparare la programmazione funzionale è stato un delirio questi due anni.Però il designer in azienda mi ha fatto vedere un sacco di figate, tipo che Figma utilizza praticamente flex by default, quindi puoi fare proprio così in flex senza media quili, un approccio a componenti molto react-like, dove passi non delle props ma dei pulsantini che alla fine fanno le cosiddette varianti.Questa roba qui mi ha aiutato un casino perché dal prossimo esame con cui parlere ho chiesto "oh, usi Figma, perché non usiamo le varianti?" "Semplicemente perché ho ho perso del tempo per parlare con un altro essere umano.So che se fate gli sviluppatori non volete parlare con gli esseri umani, è comprensibile questa cosa qua.Ce l'ho Facebook pure io, li apro i commenti di Repubblica, lo so che è un mondo difficile, però se ascoltate un podcast evidentemente la voce umana non vi fa così l'ibrezzo, quindi parlare con qualcun altro potrebbe aiutarvi parecchio.Sono d'accordo con te Figma, è stata la rivoluzione anche anche per spingere il designer a lavorare in un modo un po' più simile a come lavoriamo noi, è veramente una figata assoluta, in più tutta la parte di prototipazione ti permette anche di vedere le interazioni che il designer ha in testa e che prima dovevi solo immaginare o provare a da immaginare.Figma e Framer hanno veramente, secondo me, sviluppato il...LM: Framer l'ho usato anche da designer, effettivamente sì, proprio rispetto a quello che c'era prima, che erano...io li chiamavo "dribble shot", che era tipo mettere su dei pixel bellissimi che facevano cose lì ti costringe a pensare web che è una figata non indifferente.Chi prototipava prima, io ricordo c'era qualcuno che faceva i prototipi su Quartz, non so quanti di voi lo conoscono.Cioè è veramente voglio rimanere ancora sulla comunicazione però spostarla dentro il team, perché è una domanda come sempre le domande che pongo su BeatBar vengono dalle mie segmentate di Seraglio.E so che comunque tu hai del tuo team, quindi ti sei anche occupato di formare giovani, gestire i studio pastori.Allora voglio chiederti, e con questa ci accingiamo a chiudere questo episodio, challenging.Esiste un modo per capire quando smettere di challengeare con un collega o con un designer? È una domanda che sicuramente ti è venuta da casi di vita reale, perché me la sono fatta anch'io.Non per me, perché la risposta brutta, è brutta perché è difficile da attuare e allenare quella che si può chiamare intelligenza emotiva.Quindi questo non ha nulla a che fare con il tech, è un argomento di cui ci sono un po' di libri.se ne posso consigliare uno, possiamo dire "l'attalante delle emozioni", che è uscito da poco su argomenti che ti fa capire come gli esseri umani comunicano le proprie emozioni, quando vedi che gli stai fortemente facendo salire rabbia, tristezza, sentimenti negativi, a quel punto magari è il caso di smettere.Magari hai ragione, però non stai portando la discussione in nessun punto costruttivo, quindi quella è la prima cosa.Dal punto di vista del...io mi sono fatto queste domande appunto non tanto per me, perché da quel punto di vista lì ho un pochettino di esperienza, un po' di formazione, da quel punto di vista lì non mi capita spesso, non mi è capitato economici, appunto formando persone, è molto più difficile avere due persone che stanno discutendo, capire entrambe le loro ragioni e riuscire a quietare gli animi e soprattutto non solo tanto fermare la rissa, perché è facile, anche cercare di far capire che avete ragione entrambi, nonostante adesso vi odiate e ognuno di voi voglia la morte dell'altro, dovete cercare di trovare una soluzione a questo problema insieme, perché avete entrambi ragione, ma dopo devi trovare il compromesso, che è una cosa stra difficile da fare con una persona che detesti profondamente perché c'è appena magari sbroccato.Quindi come puoi fare in questa roba qua? Prima di tutto c'è una cosa manageriale, qua dovrebbero essere i manager o comunque la catena di chi è sopra, deve essere sempre molto esplicito qual è l'obiettivo che bisogna raggiungere, perché questa roba qua è fondamentale per quietare qualsiasi discussione.Se per dire, come dicevo prima, l'obiettivo di questo sprint, di questo task, di quello che vuole essere un'interessante metodologia, è quello di fare il delivery il prima possibile di questa feature, ok? A quel punto lì la discussione non è più un me contro di te, ma la scelta che stiamo facendo ci porta vicino all'obiettivo.Se la persona è troppo, può succedere, soprattutto lato design, ma anche lato sviluppo, quando sei quasi alla fine del tuo mestiere, cioè il design ha finito di disegnare la feature, di progettare la feature, tu sviluppatore hai pure scritto il "test and twin" su quella roba lì e poi c'è un cambio di lotta, per qualsiasi motivo uno tende ad innamorarsi di quello che ha fatto."Ah, magari hai scritto il tuo test and twin più bello di sempre e poi ti dicono "no, lo devi cancellare perché non sai quale è la città".Quindi ci ci sta che uno diventi difensivo.Avere l'obiettivo ben saldo e ben chiato, la stella polare, che bisogna raggiungere, questo aiuta veramente un casino, perché a quel punto lì tu puoi anche semplicemente osticipare la discussione, quando l'animo sarà più raffreddato.Se quei due pixel in più non servono a nulla per raggiungere l'obiettivo e siamo stretti di tempi, non si fa.A quel punto lì, nella tua discussione, tu stai facendo comunque una cosa costruttiva, anche se passerai per stronzo, ma c'hai ragione, perché come team ci siamo convintati per arrivare lì.Tu stai cercando di arrivare lì, se la persona ostacola, sta ostacolando il team, questo sposta a un genere di prospettive, dove si può discutere.Poi lì entra una questione caratteriale, mi è capitato anche persone che hanno detto "quello è l'obiettivo, facendo così lo raggiungiamo, siamo tutti felici e no, non me ne frega niente, perché io le cose o le facciamo come mi piacciono a me o sennò cosa mi sveglio la mattina a fare per venire a lavorare.Lì stiamo a raggiungere un livello ovviamente di...L'evento stativo è a quel punto un elemento pericoloso nel team? A quel punto lì si scala perché effettivamente è proprio dannoso per tutti quanti, perché a quel punto lì hanno "ok, io voglio solo scrivere in ASCEL, mi interessa niente che vostra codebase in javascript morite male e se voi non vi imparate asper non vi fate le cose fatte vostre.Quindi queste due cose qua un po' di intelligenza emotiva appunto si può allenare, ci sono testi, quello che ho detto per cercare di capire la stessa cosa.La seconda è avere sempre in mente l'obiettivo, il goal, questo deve arrivare o dall'alto o dal tempo, non è vostro personale.Può essere anche vostro personale, faccio un esempio, uno dei goal di team che avevo nell'ultima esperienza era avere una code coverage dell'80%.Code coverage dell'80% quindi banalmente se in un task questa roba qui rallentava perché non riusciva a scrivere i test per tutte le casistiche, a quel punto lì quello non viene.Però appunto è è chiaro del team, diventa proprio una… e a quel punto la comunicazione è molto più facile.Però gli obiettivi di business, il business deve essere chiaro, diciamoci la verità.Delle volte il business è volutamente un po' oscuro perché così riesci a fare qualcosina di più, bell'allino, cercano sempre di saturare al massimo la tua cosa, però poi il problema può scaturire nella comunicazione.Un obiettivo chiaro solitamente porta a molto meno discussioni e a risolvere molto più facilmente.Io sono d'accordo, mi permetto solo di aggiungere forse anche un piccolo dettaglio, magari è buona Prassi e può aiutare tantissimo sulle cose che hai giustamente detto, una preparazione preventiva prima della formazione del team o durante la formazione del team o in generale anche per gli esterni che entrano nel team come nuovi arrivati, quello proprio della formazione, della condivisione dei valori, dei concetti, aver chiaro qual è l'apporto che noi dobbiamo dare all'azienda, al nostro sistema superiore.E fatto questo lavoro, una volta che tutti i membri del team li conoscono e li approvano e sottoscrivono in un certo modo è anche più facile disinnescare quei litigi, chiamiamoli così, che arrivano perché se c'è un forte contrasto dobbiamo individuare o saper individuare cos'è quel valore che manca, che è diverso.Magari uno delle due, uno dei due ha un valore diverso che o nel caso più facile va in contrasto con quelli già approvati e allora lì è facile farsi rendere conto di "che ha ragione e che è torto", se invece è uno di quei valori che era una zona grigia, che non è stato deciso e non è stato approvato, è un buon momento per invece discuterne e trovare se non un compromesso, magari proprio un consenso da parte di tutti i membri del team, nel caso anche a scalare verso l'azienda.Il discorso sui valori alla fine rientra anche nella gestione dei sentimenti, quando si discute e cominciamo a provare dei sentimenti, questo vuol dire proprio che c'è qualcosa in ballo nei valori che noi abbiamo accettato.La rabbia è il sentimento che indica di un valore violato, la paura di un valore in pericolo o la vergogna di un valore che noi stesso abbiamo violato.Saper riconoscere anche queste piccole cose aiutano a discutere, disinnescare i vari litigi o le varie discussioni che sembrano non portare a nulla, si possono chiamare loop, che sembrano non portare a nulla e soprattutto a nulla di buono.Questo è un altro capitolo, potremmo rimanere ore a parlarne.Andiamo per un prossimo episodio, vista l'ora.Siamo già un'ora e un quarto, quindi è arrivato il momento, Paese dei Balocchi.Per cui io chiedo a Davide, hai qualcosa da condividere con la nostra community, qualcosa che ti salta L'ultima volta ci ha portato i Lunari.Ah giusto, che bello che è quel libro lì.Riconducono il paese dei balocchi.Ah il paese dei balocchi.No appunto in realtà un po' di cosettine le ho già dette, ripeto, T.S.Pattern, il libro dovrebbe essere uscito in italiano, "Atlante delle emozioni", lo sto scrivendo al momento su...no, non è questo.Vi mando poi il link...esatto, era tipo "Atlantis", per non "Emotion Atlantis" o qualcosa del genere.Non ho finito di leggerlo, devo essere onesto, però quello che ho letto finora mi era piaciuto.l'altra cosa che appunto ti è stata fatta, per gli amanti della programmazione funzionale in typescript suggerisco anche Remote Data, un'altra libreria per gli amanti di queste cose qui, anche qua vi mando il link che permette di usare un approccio funzionale alla cosa più comune che facciamo a front end, prendere una chiamata e gestire i casi di loading, azure e success, tutti in una maniera più funzionale, più pipe oriented possibile.Io ho un balocco che non mi sembra di aver mai portato ed è un sito, visto che abbiamo parlato di CSS, di front-end, però a volte bisogna proprio, abbiamo bisogno di immagini, abbiamo bisogno di, specialmente se magari abbiamo nella mente di fare il nostro bel gioco, abbiamo bisogno proprio di grafiche che non sappiamo proprio farci da soli.In quel caso opengameart.org è un bellissimo sito dove mettono a disposizione, tutti gli autori se vogliono, possono mettere a disposizione le loro creazioni specifiche per il gioco, però va bene un po' per tutto, ci sono anche dei background, ci sono credo anche modelli tridimensionali.Quindi Davide, avevi detto che stavi provando, che volevi provare qualcosa sul 3D, forse qui puoi anche trovare qualcosa di carino.Questo l'avevo anche detto in anteprima, l'avevo consigliato sul canale Telegram, qualcuno l'aveva chiesto, quindi lo dico anche in puntata.Quasi quasi mi fate venire voglia di riprendere in mano 3js.Mamma mia.Io come dicevo prima sono una capra nel design dei layout, vorrei essere più bravo, però due cosine alla fine dopo tanto tempo le ho imparate.Uno dei posti dove ho imparato di più è un libro, un ebook, che potete trovare sul sito refactoringui.com, è scritto da uno dei due tizi di Tailwind, che è quello che si occupa della parte di design, è prodotto da Tailwind Labs, è un libro che praticamente aiuta a capire dove sbagliamo nel design dell'interfaccia e ci spiega come e perché facciamo degli errori.A corredo ci sono una serie di video esplicativi e poi se prendete il pacchetto super figli da persona che flex avete anche delle icone, dei fonti.Io ho preso quello più economico e mi è stato più che sufficiente.È un po' costoso perché il pacchetto economico mi ricordo di averlo pagato attorno ai 100 euro/dollari.Comunque, vedo che 99 dollari più venditi di tasse, va bene, siamo là.Però è davvero un libro che vale la pena avere se fai front end.Almeno per non fare porcheria e troppo porcheria in un set project dove non abbiamo la possibilità di pagarci un design.28 gradi e mezzo all'ombra, non piove più da 20 giorni, e non c'è un aleto di vento, caldo tanto caldo, tanta sete, ja ja ja! Portaci da bere uno shot di birra, ma presto portaci da bere uno shot di birra, frutta con o senza schiuma, scuro o chiara, ma che sia una birra! Una birra, please! E' arrivato il momento di ringraziare i donatori, coloro che supportano e ci sostengono economicamente perché kitbar è gratuito ma non senza costi, ogni mese infatti abbiamo tutta una serie di bollette da pagare e i donatori ci aiutano appunto a sostenere questo tipo di spese.questa settimana dobbiamo ringraziare Salvatore Sanfilippo, fantastico, che oltre essere stato nostro ospite la settimana scorsa ci ha donato e offerto tre birre che noi alziamo al cielo i bicchieri e brindiamo alla salute di Antireds grazie Siamo arrivati alla fine dell'episodio anche questa settimana, grazie Davide per essere venuto con noi a condividere la tua esperienza, grazie di cuore, tu ormai sei di casa qua a Gitbar no? Grazie a te, mi invito sempre la forza, a quanti episodi sei arrivato? Questo sarà il 125esimo o 126esimo? Ecco quindi il plauso va a te per la perseveranza è veramente un sacco di cose quindi grazie non solo dello spazio ma di tutto lo sbatta che ti fai.Io Davide rinnovo appunto il ringraziamento per aver condiviso con noi le tue conoscenze, le tue esperienze e ti aspetto per parlare di 3D sul web a questo punto.Volentieri, prima che me lo dimentichi, visto che nel mio lavoro non penso che lo sarò molto, se vuoi facciamo un po' di discussione su FPTS e tutte le rigate che ci stanno attorno.Volentierissimo, sfondi una porta aperta.Però dobbiamo farlo prima di dicembre, secondo me dopo l'esplosione di Natale, se non lo usa ancora penso di dimenticarmelo.Poi volentieri con il 3D adesso vi farò qualcosa, appunto ho iniziato, ho fatto i primi 20 minuti del corso, un corso al momento, direi che non sono sicuramente ancora la persona con cui parlarne.Io ho questo mega punto interrogativo sull'accessibilità e il 3D sul web che è ancora così, che flotta nella mia testa a quale non sono ancora riuscito a dare una bella risposta perché secondo me c'è un buco? Lo so, infatti è una delle mie prime domande che mi sto già facendo, infatti ancora non posso fare il disclosure della mia prossima avventura lavorativa ma è una delle domande che mi sta venendo in mente.Quante cose saranno per un effetto wow, banalmente ininfluente sulla parte funzionale e quanto invece ci sarà da patire per quanto riguarda l'accessibilità, ma lo scopriremo nell'estate prossima.molto volentieri grazie di nuovo io vi do appuntamento la prossima settimana qua su Gitbar e alla prossima ciao grazie Ma non abbiamo letto del gruppo Telegram? GitBar, il circolo dei fullstack developer.Una volta a settimana ci troviamo davanti a a due birre e con Brain Repo parliamo di linguaggi e tecniche di sviluppo web, di metodologie ed strumenti immancabili nella cassetta degli attrezzi dei Full Stack Dev.[Musica] [Musica]