AdonisJS | Framework de type Laravel pour NodeJs

Feb 28 2023
AdonisJS est un framework Web complet pour Node.js qui est fortement influencé par Laravel, un framework Web PHP populaire.

AdonisJS est un framework Web complet pour Node.js qui est fortement influencé par Laravel, un framework Web PHP populaire. Dans ce résumé, nous allons explorer les similitudes et les différences entre AdonisJS et Laravel, et fournir des exemples de fonctionnalités AdonisJS qui correspondent aux fonctionnalités de Laravel.

Similitudes:

  1. Architecture MVC : AdonisJS et Laravel utilisent le modèle d'architecture Model-View-Controller (MVC) pour structurer les applications Web.
  2. Interface de ligne de commande (CLI) : AdonisJS et Laravel fournissent tous deux une interface de ligne de commande (CLI) pour générer du code passe-partout, exécuter des migrations de base de données et d'autres tâches.
  3. Routage : les deux frameworks utilisent le routage pour définir la manière dont les requêtes HTTP sont gérées.
  4. Intergiciel : AdonisJS et Laravel utilisent tous deux un intergiciel pour gérer des tâches telles que l'authentification, la validation des demandes et la journalisation.
  5. ORM : AdonisJS et Laravel fournissent tous deux un ORM (Object-Relational Mapping) pour travailler avec des bases de données.
  6. Modèles de type Blade : AdonisJS est livré avec son propre moteur de template appelé Edge qui fournit une syntaxe similaire à Laravel's Blade.
  7. Communauté : AdonisJS et Laravel ont tous deux des communautés actives de développeurs qui contribuent au développement du framework, créent des packages et fournissent une assistance.
  1. Langage : AdonisJS est construit sur Node.js, tandis que Laravel est construit sur PHP.
  2. Async : AdonisJS est conçu pour être asynchrone et utilise Promises, tandis que Laravel est synchrone et utilise Exceptions.
  3. Structure des fichiers : AdonisJS a une structure de fichiers différente de Laravel, avec des répertoires tels que app/Controllerset app/Modelsau lieu de app/Http/Controllerset app/Modelsdans Laravel.
  4. Configuration : AdonisJS utilise .envdes fichiers pour la configuration, tandis que Laravel utilise .envdes fichiers ainsi que configdes fichiers.
  5. Ordre des middlewares : AdonisJS applique les middlewares dans l'ordre dans lequel ils sont définis dans le fichier de routage, tandis que Laravel applique les middlewares dans l'ordre dans lequel ils sont définis dans le fichier Kernel.

Voici un exemple de la différence entre AdonisJS et Laravel dans leur approche du routage :

Dans AdonisJS, vous pouvez définir des routes à l'aide d'une API fluide :

Routage AdonisJs

A Laravel :

Routage Laravel

Voici un exemple de création d'un modèle et de migration dans AdonisJS :

Cette commande générera un nouveau fichier de modèle dans app/Models appelé Post.js et un fichier de migration dans database/migrations appelé quelque chose comme 1612989050522_create_posts_table.js.

Créer une commande de modèle dans AdonisJs

Ouvrez maintenant le fichier de migration et définissez le schéma de la poststable :

Cette migration créera une poststable avec un id, title, bodyet created_atet updated_atdes horodatages.

Exemple de migration AdnoisJs

Ouvrez maintenant le fichier de modèle et définissez le schéma du Postmodèle :

Exemple de modèle AdonisJs

C'est ça! Vous pouvez maintenant utiliser le Postmodèle pour interagir avec la poststable de votre base de données. Par exemple, pour créer une nouvelle publication, vous pouvez procéder comme suit :

Interagissez avec le modèle AdonisJs

Voici un exemple de contrôleur AdonisJS de base pour le Postmodèle que nous avons créé précédemment :

Exemple de contrôleur dans AdonisJs

Ce contrôleur définit plusieurs méthodes pour gérer les opérations CRUD sur le Postmodèle.

La index()méthode récupère tous les messages de la base de données et les renvoie sous forme de tableau.

La store()méthode crée une nouvelle publication en extrayant le titleet bodyde l'objet de requête, en créant une nouvelle Postinstance, en définissant ses champs et en l'enregistrant dans la base de données. Il renvoie ensuite le message nouvellement créé.

La show()méthode récupère une seule publication par son idparamètre et la renvoie.

La update()méthode met à jour une publication par son idparamètre, en extrayant le titleet bodyde l'objet de requête, en mettant à jour les champs de la publication et en l'enregistrant dans la base de données. Il renvoie ensuite le message mis à jour.

La destroy()méthode supprime une publication par son idparamètre et la renvoie.

Ces méthodes utilisent le middleware intégré d'AdonisJS et les objets de requête/réponse pour gérer les requêtes entrantes et les réponses sortantes. Notez qu'il ne s'agit que d'un exemple de base et qu'il existe de nombreuses autres fonctionnalités et techniques disponibles dans AdonisJS pour créer des contrôleurs robustes.

AdonisJS, avec sa syntaxe et ses conventions de type Laravel, offre aux développeurs une expérience familière et intuitive lors de la création d'applications Web complètes en JavaScript. L'architecture MVC du framework, les puissantes capacités ORM, middleware, routage, authentification et rendu de vue en font un choix robuste et efficace pour les développeurs qui cherchent à créer des applications Web modernes dans Node.js.