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

Mia-Platform Team 09 settembre 2021

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! 

 

Vai al progetto su GitHub o alla documentazione.  

 

CLICCA QUI per scaricare il White Paper: "Kubernetes 101: Guida al sistema operativo del futuro"

Post Correlati

Da monolite a microservizi: come far evolvere un’applicazione legacy

La trasformazione digitale ha introdotto innovazioni tecnologiche, software e applicative, che si sono dimostrate estremamente vantag...
Mia-Platform Team 13 marzo 2020

Microservizi, quanto devono essere grandi?

L’utilizzo dei Microservizi nella creazione delle nuove applicazioni è un trend che si sta sempre più affermando tra i team di svilup...
Mia-Platform Team 24 aprile 2020

Come i Microservizi favoriscono il lavoro dei Feature Teams

In questo articolo andremo a esplorare cos’è un feature team e come i microservizi possano favorirne il lavoro. 
Mia-Platform Team 12 giugno 2020