Gitbar
Ep.186 - Frontend e Microfrontend con Matteo Pietro Dazzi (Nearform)
Questa settima e' venuto a trovarci il mio amico Matteo e abbiamo fatto una mega chiacchierata.
Vengono esplorati i concetti di vertical split e horizontal split, e viene definito il concetto di Micro Frontend. Viene anche discusso il ruolo dei Micro Frontend nella struttura dell'organizzazione e vengono esaminati i problemi e le complessità nell'adozione dei Micro Frontend. Infine, viene esaminato l'utilizzo di un application shell nei Micro Frontend. In questa parte della conversazione, Matteo e Carmine discutono di vari argomenti legati ai micro front-end. Si parla della mancanza di letteratura specifica su questo argomento, della comunicazione nei micro front-end, della mancanza di standard e degli antipattern. Vengono poi approfonditi i concetti di Module Federation e React Server Component. Si discute anche del refresh e del caching in Module Federation, del bi-directional host e dei server-side components. Infine, si riflette sullo sviluppo front-end e si suggeriscono approcci per razionalizzare l'approccio al micro front-end. Nel terzo e ultimo episodio della conversazione, vengono affrontati diversi argomenti. Si inizia con la condivisione di contenuti, dove Matteo consiglia un TEDx Talk che parla del desiderio di cambiamento. Successivamente, Brainrepo esprime il suo rant sui libri e gli ebook, lamentandosi della formattazione e proponendo di creare un proprio ebook reader. Poi, Brainrepo condivide i suoi balocchi, tra cui un libro sulla software architecture e una fotocamera. Vengono poi ringraziati i donatori che sostengono il podcast e viene spiegato il concetto di Value for Value. Infine, si concludono gli episodi con i ringraziamenti finali e la promozione del canale YouTube.
##TakeawaysI Micro Frontend hanno subito un'evoluzione negli ultimi anni, con l'introduzione di nuovi approcci e strumenti.
I Micro Frontend consentono di separare le responsabilità e favoriscono la scalabilità e la manutenibilità delle applicazioni.
È importante definire i confini dei Micro Frontend e scegliere l'approccio più adatto alle esigenze del progetto.
I Micro Frontend possono essere utilizzati in applicazioni con domini ben definiti e in contesti enterprise. La letteratura specifica sui micro front-end è ancora limitata, con una maggiore disponibilità di informazioni sui microservizi rispetto ai micro front-end.
La comunicazione nei micro front-end può avvenire attraverso diverse modalità, come l'utilizzo di session storage, window, custom event e subject di RxJS.
La mancanza di standard e l'utilizzo di tecnologie diverse per i micro front-end possono essere considerati antipattern.
Module Federation è una metodologia per distribuire software a runtime che permette di importare codice da entità remote, facilitando la composizione dei micro front-end.
React Server Component è un'opzione per lo sviluppo di componenti server-side in React, ma presenta ancora alcune limitazioni e dipende da strumenti come Next.js.
Il refresh e il caching in Module Federation possono essere gestiti attraverso l'utilizzo di query parameters e la definizione di versioni dei moduli.
Il bi-directional host in Module Federation permette di importare e esportare componenti tra micro front-end diversi.
I server-side components sono un argomento dibattuto nel mondo del front-end, con opinioni contrastanti sulla loro utilità e complessità.
Per razionalizzare l'approccio al micro front-end, è importante valutare le caratteristiche del problema da risolvere e scegliere la tecnologia più adatta, evitando l'over-engineering.
Nel mondo del front-end, è importante ampliare la propria conoscenza tecnica e concentrarsi sulle abilities e sulle caratteristiche non funzionali delle soluzioni.
È necessario trovare un equilibrio tra l'esplorazione di nuove tecnologie e l'effettiva risoluzione dei problemi, evitando di cadere in rabbit hole e mantenendo un approccio pragmatico. La...