Open-sourceProdotti

micro-lc: il nuovo orchestratore di micro frontend open‑source

Dario EspositoTechnical Content Writer9 set 2021 · Aggiornato 9 mag 2024 · 5 min

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.

Mia-Platform_Microlc_architecture_

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.

Mia-Platform micro-lc

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.