• Résultats de recherche
  • Astuce : touchez "entrer" pour voir plus de résultat.
AdonisJS : un très bon “framework” NodeJS qui promet en 2018

AdonisJS : un très bon “framework” NodeJS qui promet en 2018

Il y a environ six mois, je cherchais une alternative à SailsJS, un « framework » Model View Controller (MVC) pour NodeJS. Malheureusement, Sails était lent sur les requêtes POST, il ne supportait pas beaucoup de fonctions PostgreSQL comme les transactions et il manquait quelques autres fonctionnalités. Mais le pire, c’est qu’il n’a pas été mis à jour au cours des trois dernières années.

J’ai donc commencé à chercher un autre « framework » pour migrer mes projets NodeJS. J’ai essayé Koa.js (mais il manquait trop de choses), Meteor.js (je n’ai pas vraiment besoin de solution tout-en-un, seulement une API), Loopback (trop de magie) et quelques autres…

Jusqu’à ce que je suis tombé sur AdonisJS. Pour être honnête, même si le framework démarre sur Github (4K stars), ce n’était pas facile à trouver. Mais j’en suis tombé amoureux. Je vais essayer d’expliquer pourquoi.

Avantages

En regardant la structure de dossier et la logique derrière AdonisJS, il est presque identique à un « framework » PHP super populaire : Laravel. Et Laravel a une bonne structure réfléchie, qui vous permet de garder les choses claires. Donc, si vous avez déjà travaillé avec, vous apprendrez rapidement Adonis.

Son ORM (Object-Relational Mapping) est conçu pour les bases de données SQL, telles que Postgres ou MySQL. Il crée des requêtes SQL efficaces et est basé sur l’ »active record pattern« . Son générateur de requêtes est facile à apprendre et nous permet de créer rapidement des requêtes simples. Par exemple :

const cars = await Car.query().whereIn(‘locationId’, locationIds).with(‘locks’).orderBy(‘label’, ‘asc’).fetch()

Mais même lorsque nous avons besoin de choses plus compliquées comme des migrations, des transactions, des jointures ou des requêtes complètement « en langage SQL natif », tout est là et facile à utiliser. Quant aux amoureux de MongoDB, AdonisJS le soutient aussi !

AdonisJS possède également une extension de validation pratique et facilite l’écriture de règles, par exemple :

const validation = await validate(data, {   username: ‘required|max:20|unique:users’,   email: ‘required|max:254|email|unique:users’,   password: ‘required|strongPassword’,   password_confirmation: ‘required_if:password|same:password’ })  if (validation.fails()) {   return response.send(validation.messages()) }

Ces vérifications peuvent être à la fois « synchrones » ou « asynchrones », peuvent accéder à la base de données et il peut être étendu très facilement, par exemple, j’ai écrit une vérification pour prouver qu’un mot de passe est fort.

Le TDD (Test-Driven Development) ou en Français « développement piloté par les tests » est une technique de développement de logiciel qui préconise d’écrire les tests unitaires avant d’écrire le code source d’un logiciel. AdonisJS pratique le TDD et je pense que c’est une bonne philosophie à prendre en compte pour vos prochains développement !

Inconvénients

Comme il n’y a pas beaucoup de contributeurs et d’utilisateurs, vous pouvez parfois attraper un « bug » dans les bibliothèques principales. Certains d’entre eux sont assez évidents.

Même si les documentations sont bonnes, la communauté est encore petite. Il n’y a pas beaucoup de réponses sur StackOverflow et il n’y a pas beaucoup de tutoriels.

En conclusion

J’utilise AdonisJS en production depuis six mois. C’est stable et rapide. J’aime ça ! Si vous cherchez un framework NodeJS moderne avec ES6, le support Postgres et une bonne structure, passez chez AdonisJS.

Source : Medium

Partager
Articles alternatifs
Avec Sistine, rendez tactile, l’écran de votre MacBook, pour 1$ seulement
Anish Athalye, un étudiant au MIT, a mis à disposition, avec l’aide de Kevin, Guillermo, et Logan, un code sous...
Publié par Maxence Rose le 23 octobre 2020
Comment installer un blog avec Ghost sur un serveur dédiée ou un VPS ?
Ghost est une jolie alternative à WordPress, qui permet comme son homologue de publier du contenu sur un blog. Vous...
Publié par Maxence Rose le 21 janvier 2020
Hébergement Windows ou Linux pour WordPress ?
L’hébergement Windows est l’étape finale du processus de publication (images, pages, documents, etc…) sur Internet. C’est un espace physique alloué...
Publié par Maxence Rose le 7 juillet 2016
Commenter
Gravatar
  • Enflammé(e)
  • Sous le charme
  • Joyeux
  • Triste
  • Poce blo
  • Aucune

Pour partager votre avis avec cet article, vous pouvez laisser un commentaire en donnant votre nom, votre adresse email, et votre site Internet. Aucune authentification n'est nécessaire. Vous vous apprêtez à commenter l'article « AdonisJS : un très bon “framework” NodeJS qui promet en 2018 », n'oubliez pas de respecter les règles de communauté : aucun spam, aucune insulte et aucun contenu interdit par la loi. Vous pouvez effacer vos données de formulaire enregistrées en session en .