AdonisJS | Framework simile a Laravel per NodeJs

Feb 28 2023
AdonisJS è un framework web completo per Node.js fortemente influenzato da Laravel, un popolare framework web PHP.

AdonisJS è un framework web completo per Node.js fortemente influenzato da Laravel, un popolare framework web PHP. In questo riepilogo, esploreremo le somiglianze e le differenze tra AdonisJS e Laravel e forniremo esempi delle funzionalità di AdonisJS che corrispondono alle funzionalità di Laravel.

Analogie:

  1. Architettura MVC: sia AdonisJS che Laravel utilizzano il modello di architettura Model-View-Controller (MVC) per strutturare le applicazioni web.
  2. Interfaccia della riga di comando (CLI): sia AdonisJS che Laravel forniscono un'interfaccia della riga di comando (CLI) per la generazione di codice boilerplate, l'esecuzione di migrazioni di database e altre attività.
  3. Routing: entrambi i framework utilizzano il routing per definire come vengono gestite le richieste HTTP.
  4. Middleware: AdonisJS e Laravel utilizzano entrambi il middleware per gestire attività come l'autenticazione, la convalida delle richieste e la registrazione.
  5. ORM: sia AdonisJS che Laravel forniscono un ORM (Object-Relational Mapping) per lavorare con i database.
  6. Modelli simili a Blade: AdonisJS viene fornito con il proprio motore di template chiamato Edge che fornisce una sintassi simile a Laravel's Blade.
  7. Comunità: sia AdonisJS che Laravel hanno comunità attive di sviluppatori che contribuiscono allo sviluppo del framework, creano pacchetti e forniscono supporto.
  1. Linguaggio: AdonisJS è basato su Node.js, mentre Laravel è basato su PHP.
  2. Async: AdonisJS è progettato per essere asincrono e utilizza le promesse, mentre Laravel è sincrono e utilizza le eccezioni.
  3. Struttura dei file: AdonisJS ha una struttura dei file diversa da Laravel, con directory come app/Controllerse app/Modelsinvece di app/Http/Controllerse app/Modelsin Laravel.
  4. Configurazione: AdonisJS utilizza .envi file per la configurazione, mentre Laravel utilizza .envsia i file che configi file.
  5. Ordinamento del middleware: AdonisJS applica il middleware nell'ordine in cui sono definiti nel file di route, mentre Laravel applica il middleware nell'ordine in cui sono definiti nel file del kernel.

Ecco un esempio di come AdonisJS e Laravel differiscono nel loro approccio al routing:

In AdonisJS, puoi definire i percorsi utilizzando un'API fluente:

AdonisJs Routing

In Laravel:

Percorso Laravel

Ecco un esempio di come creare un modello e la migrazione in AdonisJS:

Questo comando genererà un nuovo file di modello in app/Models chiamato Post.js e un file di migrazione in database/migrations chiamato qualcosa come 1612989050522_create_posts_table.js.

Crea comando modello in AdonisJs

Ora apri il file di migrazione e definisci lo schema per la poststabella:

Questa migrazione creerà una poststabella con un id, title, bodye created_ate updated_attimestamp.

Esempio di migrazione di AdnoisJs

Ora apri il file del modello e definisci lo schema per il Postmodello:

Esempio di modello AdonisJs

Questo è tutto! È ora possibile utilizzare il Postmodello per interagire con la poststabella nel database. Ad esempio, per creare un nuovo post, puoi fare quanto segue:

Interagisci con il modello AdonisJs

Ecco un esempio di un controller AdonisJS di base per il Postmodello che abbiamo creato in precedenza:

Esempio di controller in AdonisJs

Questo controller definisce diversi metodi per gestire le operazioni CRUD sul Postmodello.

Il index()metodo recupera tutti i post dal database e li restituisce come array.

Il store()metodo crea un nuovo post estraendo titlee bodydall'oggetto request, creando una nuova Postistanza, impostandone i campi e salvandola nel database. Quindi restituisce il post appena creato.

Il show()metodo recupera un singolo post tramite il suo idparametro e lo restituisce.

Il update()metodo aggiorna un post tramite il suo idparametro, estraendo titlee bodydall'oggetto request, aggiornando i campi del post e salvandolo nel database. Quindi restituisce il post aggiornato.

Il destroy()metodo elimina un post in base al suo idparametro e lo restituisce.

Questi metodi utilizzano il middleware integrato di AdonisJS e gli oggetti di richiesta/risposta per gestire le richieste in entrata e le risposte in uscita. Si noti che questo è solo un esempio di base e ci sono molte altre funzionalità e tecniche disponibili in AdonisJS per la creazione di controller robusti.

AdonisJS, con la sua sintassi e le sue convenzioni simili a Laravel, offre agli sviluppatori un'esperienza familiare e intuitiva durante la creazione di applicazioni Web full-stack in JavaScript. L'architettura MVC del framework, il potente ORM, il middleware, il routing, l'autenticazione e le funzionalità di visualizzazione del rendering lo rendono una scelta robusta ed efficiente per gli sviluppatori che desiderano creare applicazioni Web moderne in Node.js.