Sviluppo fullstack con AdonisJS
martedì, 04 ottobre 2022Una guida allo sviluppo di un'applicazione fullstack con AdonisJS
Foto di Pavel Nekoranec su Unsplash
Introduzione
Con questo articolo voglio lanciare una serie in cui raccontare la mia prima esperienza con il framework AdonisJS affiancato da VueJS dando indicazioni concrete per poter avviare un progetto completo che utilizzi tecnologie moderne e adatte a sviluppare rapidamente una code base facile da manutenere in futuro.
Se siete impazienti di partire e non vi interessa approfondire le scelte che stanno dietro questa serie di articoli potete procedere direttamente alla prima parte
Perché AdonisJS
Per poter sviluppare progetti “full stack” realmente funzionanti ho utilizzato negli anni diversi framework come CodeIgniter, Laravel, Django ed Express alla ricerca di una libreria che mi aiutasse a semplificare il più possibile la gestione dei dettagli tecnici (specifiche legate al DB, autenticazione, comunicazione client-server, …) lasciandomi concentrare maggiormente sugli aspettivi implementativi specifici dell’applicazione che volevo creare.
Laravel e Django si sono dimostrati dei prodotti potentissimi da questo punto di vista; la loro impostazione permette di risparmiare giorni e giorni di sviluppo impostando il codice in maniera chiara e facile da mantenere e curando tutte le fasi di sviluppo dal prototipo al deploy finale.
Negli ultimi anni ho affiancato a questi progetti un framework frontend come ReactJS sentendo però un po’ la mancanza di una lingua franca che mi permettesse di parlare con lo stesso linguaggio a tutti livelli: dal DB al client passando per il backend.
Feci un tentativo embrionale diversi anni fa, con discreto successo, sviluppando alcune applicazioni basate sul paradigma “MEAN” (MongoDB, ExpressJS, AngularJS e NodeJS) che utilizzava tecnologie basate sulla sintassi Javascript. A questo approccio mancava però un buono strato di organizzazione del codice backend che Express non copriva completamente permettendo più flessibilità ma richiedendo anche più tempo per impostare il lavoro.
Ho iniziato a seguire con curiosità l’evoluzione di Adonis perché era uno dei primi framework Javascript ad avvicinarsi all’approccio che ha reso famosi Laravel e Django. È quindi arrivato il momento di provare questo framework che promette di integrare facilmente autenticazione, migrazioni, ORM e altre strategie moderne facilitando lo sviluppo e l’organizzazione del codice in un solo linguaggio.
Perché VueJS
La risposta alla domanda “Perché VueJS?” è molto più semplice: nonostante avrei utilizzato volentieri anche React ultimamente sto sperimentando maggiormente VueJS perché è un framework altrettanto promettente che mi capita di utilizzare anche in ambito lavorativo.
Dato che questa serie di articoli non è concentrata unicamente sul frontend non approfondirò gli aspetti legati a questo framework frontend lasciando eventualmente spazio a qualche articolo futuro in cui approfondire le novità di Vue 3 e altro ancora.
Il progetto
Andremo a sviluppare un progetto semplice che ha principalmente lo scopo di organizzare gli iscritti ad un’associazione permettendogli di interagire con l’applicazione caricando per esempio dei file o compilando alcuni moduli.
Indice dei contenuti
- Parte 1: Avviare il progetto
- Parte 2: Configurazione di VueJS
- Parte 3: Configurare NaiveUI
- Parte 4: Impostare un sistema di autenticazione
- Parte 5: Gestione delle categorie di file
- Parte 6: Personalizzazione del tema
- Parte 7: Gestione dei privilegi