DAM (Digital Assets Management): 5 motivi per sceglierlo
(anche se ce ne sono molti di più)
Gemma Contini
Micronaut si definisce così:
“A modern, JVM-based, full-stack framework for building modular, easily testable microservice and serverless applications”.
Micronaut è quindi un full-stack framework JVM-based disegnato appositamente per creare microservizi e app serverless in modo facile e veloce.
Si tratta di un framework “moderno”, infatti ha solo qualche anno di vita ed è stato presentato durante il Greach 2018 dallo stesso team di Object Computing (OCI) che ha sviluppato il framework Grails.
Micronaut permette di costruire app estremamente modulari grazie appunto alla presenza di moduli in cui sono contenute molte funzionalità core (ad esempio esiste un modulo per la Security, un modulo per AWS, un modulo per l’utilizzo delle code RabbitMQ, etc).
Un altro aspetto legato alla modularità è senza dubbio il fatto che Micronaut supporta ben tre linguaggi differenti: Java, Groovy e Kotlin. È quindi possibile creare la propria applicazione un mattoncino alla volta, tenendo il più possibile disaccoppiate tra loro le varie scelte implementative.
Micronaut permette inoltre di scrivere test in modo facile e veloce. Questa caratteristica non è certo trascurabile data l’importanza della fase di test in un’architettura a microservizi, in cui è fondamentale gestire bene gli errori dato che più componenti devono cooperare.
Qualcuno a questo punto potrebbe chiedersi: ma non abbiamo già Spring e Spring Boot per costruire microservizi?
Questo senza dubbio è vero, Spring e Spring Boot sono dei buoni framework che si sono evoluti con il passare del tempo per supportare non solo lo sviluppo di app monolitiche ma anche quello di microservizi. Proprio in questo aspetto risiede il punto di forza di Micronaut: a differenza degli altri framework, è disegnato ad hoc per i microservizi e lo sviluppo serverless.
Micronaut non solo include le funzionalità relative ai microservizi offerte dagli altri framework, ma offre addirittura un miglioramento nella loro gestione e nel loro sviluppo. Inoltre, la presenza di moduli che contengono le funzionalità core permette di salvarsi dall’incubo delle dipendenze tipico dell’utilizzo di altri framework.
Un’importante novità in Micronaut riguarda l’uso della reflection, un meccanismo molto utilizzato da framework come Spring che necessita il caricamento ed il caching di tutti i costruttori, i metodi ed i campi: questo fa sì che la mole del codice del progetto impatti sia sulla quantità di memoria utilizzata a runtime sia sul tempo di startup dell’app. Micronaut non solo riduce l’utilizzo della reflection ma, utilizzando l’Annotation Processor, si occupa a tempo di compilazione di tutto ciò che gli altri framework fanno a runtime come: l’iniezione delle dipendenze, l’aspect-oriented-programming (AOP) e la gestione delle configurazioni. Tale scelta porta un’app Micronaut ad avere un tempo di startup molto basso, intorno al secondo, e ad utilizzare poca memoria a runtime. Inoltre, i JAR/WAR package creati con Micronaut hanno dimensioni molto contenute.
Tra le feature più rilevanti offerte da Micronaut ci sono:
Il grafico qui sopra mostra il trend positivo delle ricerche su Google effettuate negli ultimi due anni in cui è presente il termine ‘micronaut’: si può vedere come il numero di ricerche sia in costante aumento. Micronaut si presenta infatti come un ottimo framework per costruire microservizi e va sicuramente preso in considerazione per sviluppi futuri.
Certimeter Group crede nei valori, nella passione e nella professionalità delle persone.