Siamo felici di annunciare il rilascio di micro‑lc, il nuovo orchestratore di micro frontend sviluppato in Mia‑Platform.
Questo progetto nasce dalla nostra esperienza di questi anni con lo sviluppo a micro frontend: conosciamo le sfide e le necessità di chi lavora con i micro frontend e vogliamo dare un contributo concreto agli sviluppatori che li utilizzano.
Per questo abbiamo rilasciato il progetto in modalità open‑source: è già disponibile su GitHub e vi può contribuire tutta la community.
Ma che cos’è un orchestratore di micro frontend e quali sono i benefici di micro‑lc? Lo raccontiamo in questo articolo.
Micro frontend: cosa sono e a cosa servono?
Se dovessimo individuare un pattern nell’ambito dello sviluppo applicativo degli ultimi decenni, questo sarebbe sicuramente la tendenza a scomporre gli elementi più complessi in componenti piccoli, indipendenti, standardizzati e per questo più facilmente gestibili e riutilizzabili.
Come si è diffuso il pattern architetturale a microservizi, che permette di semplificare e velocizzare lo sviluppo di applicazioni, allo stesso modo sono nati i micro frontend, che applicano al frontend la stessa logica di disaccoppiamento che i microservizi svolgono per il backend. L’obiettivo è spacchettare un applicativo frontend in una serie di componenti riutilizzabili e componibili. Questo permette inoltre di migliorare l’agilità nel rilascio di nuove funzionalità frontend.
micro‑lc: caratteristiche e benefici
micro‑lc è l’orchestratore di micro frontend creato da Mia‑Platform, che permette di rendere l’esperienza di sviluppo organica: micro‑lc semplifica il lavoro di gestione di micro frontend attraverso un applicativo. Racchiude tutta la parte di backend e frontend, e ne permette l’estensione tramite plugin, necessario per sviluppare applicazioni frontend, velocizzando così il time‑to‑market delle nuove soluzioni.
micro‑lc è composto da due entità rilasciabili: una parte di frontend e una di backend.
La parte di frontend è costituita da un container che mette a disposizione una serie di funzionalità cross-applicativo che possono essere utilizzate per configurare ciascun frontend collegato.
Tra le funzionalità troviamo:
- Gli elementi di base del layout, ossia la top bar e il menu (di tre tipologie: menu sidebar, menu sidebar collassabile e menu interno alla top bar);
- Colori dell’applicativo;
- Logo e Favicon;
- Titolo della finestra;
- Darkmode/lightmode;
- Dati utente;
- Analitici Google;
- Gestione dei Plugin.
Mia‑Platform mette inoltre a disposizione una serie di plugin core e open‑source per micro‑lc.
microlc‑element‑composer, ad esempio, permette di comporre la UI della pagina in modo dinamico, per realizzare micro frontend orizzontali.
Dalla sezione di backend è invece possibile gestire le configurazioni che definiscono gli elementi del frontend, l’autenticazione degli utenti, e configurazioni in generale.
micro‑lc non gestisce o esegue direttamente l’autenticazione degli utenti, ma permette di configurare gli endpoint di autenticazione, che sarà poi gestita da un Authentication Provider.
I frontend sono ideati con Qiankun, un framework che inietta i frontend stessi all’interno del DOM; in questo modo è come se fossero organicamente dentro la tua applicazione e integrati tra loro (al contrario di quanto avviene con iframe, in cui i frontend sono isolati).
micro‑lc è integrato con Mia‑Platform Console: se già utilizzi Mia‑Platform Console puoi selezionare il Plugin dal Marketplace e avviare un’applicazione frontend in pochi click.
I vantaggi di un orchestratore di micro frontend come micro-lc
Come abbiamo anticipato, l’utilizzo di un orchestratore di micro frontend come micro‑lc permette di migliorare l’esperienza di sviluppo a micro frontend, semplificando l’orchestrazione e astraendo il linguaggio utilizzato.
micro‑lc è un componente che si integra nella fase di Runtime.
A differenza dell’integrazione a Buildtime - che richiede di rilasciare tutti gli elementi ogni volta che viene effettuata una variazione - l'integrazione a Runtime permette di semplificare il rilascio.
Una volta rilasciata una nuova configurazione dalla sezione di backend, è sufficiente ricaricare la pagina per vedere le modifiche ai singoli componenti, senza necessità di rilasciare tutti gli elementi singolarmente.
I benefici di flessibilità di micro‑lc investono non soltanto la creazione di nuove applicazioni frontend, ma anche la possibilità di migrare un frontend monolite verso un’architettura a micro frontend, che sarà più veloce, agile e flessibile.
micro‑lc è estremamente configurabile: il layout può essere modificato, inserendo gli asset grafici del brand, offrendo così un’esperienza di utilizzo personalizzata.
micro‑lc è un progetto open‑source: questo significa che chiunque faccia parte della community può dare feedback e contribuire all’evoluzione del prodotto. Prova micro-lc, facci sapere cosa ne pensi e contribuisci con le tue idee!
Se vuoi saperne di più su questo e su tutti i software open‑source di Mia‑Platform, dai un'occhiata a questa pagina del nostro sito: qui puoi trovare la panoramica completa della nostra cultura, una breve descrizione di ogni progetto e il link ai rispettivi siti e repository.
Vai al progetto su GitHub o alla documentazione.
© MIA s.r.l. Tutti i diritti riservati