Gemini: don't repeat yourself Full Stack platform

2 minuti di lettura

Micronaut & GraalVM

Gemini in realtà è una filosofia che si ripete nel mondo dello sviluppo software. Come le librerie vengono usate per evitare di riscrivere algoritmi comuni, o i framework per evitare di riscrivere la ruota (negli accessi al db, alla rete, ecc..) Gemini estende questo concetto a livello di piattaforma sia lato API (backend) che a livello di componenti della GUI (frontend).

L'obiettivo di Gemini è evitare di riscrivere la ruota (don't repeat yourself) nei vari livelli di una piattaforma, soprattutto se abbiamo intenzione di usare il Cloud:

  • nel Backend, generando automaticamente le API Rest e gestendo la memorizzazione dei dati
  • a livello di componenti frontend (React), offrendo la possibilità di includere componenti fullstack in applicazioni web esistenti
  • a livello di Single Page Application fornendo anche un gestionale pronto all'uso, che consuma le API e usi i componenti del frontend

Tutto questo ovviamente senza perdere la possibilità di customizzazione e personalizzazione.

In pratica usiamo il Low Code per gestire tutte le cose ripetitive, e sviluppiamo codice custom solo quando necessario. Cosa intendo per Low Code lo mostrerò nel dettaglio nei prossimi articoli.

In breve, abbiamo uno schema (con dei tipi primitivi e strutturati) che definisce la natura dei dati gestiti dal sistema. Dallo schema vengono generati in automatico le API REST ed una serie di componenti del frontend che usano l'API (form, tabelle, ecc..).

Ecco con Gemini quindi per far evolvere il sistema basterà gestire lo schema dei dati: aggiungere/rimuovere campi, creare nuove entità e così via. Le API e i componenti fullstack recepiranno un automatico gli aggiornamenti e voi vi concentrerete solo sul lato custom dell'applicazione.

Per dare un'occhiata alla piattaforma, o per contribuire ed ottenere accesso alla piattaforma potete trovare info aggiuntive sul repo ufficiale github.