YubiGeek

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

Découvrez les avantages et inconvénients de AdonisJS, un framework tout-en-un basé sur NodeJS, qui pourrait devenir le framework JavaScript de 2018 !

Like
Like Love Haha Wow Sad Angry
53

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 :

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 :

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

Like
Like Love Haha Wow Sad Angry
53

Maxence Rose

Passionné de high-tech et fasciné par Google, j'écris ce que bon me semble et je teste pour vous les derniers services du Web. Ce blog me permet de m'exprimer sur les différents produits de Google, en premier lieu ses services et les appareils Android.

3 commentaires

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Maxence Rose

Passionné de high-tech et fasciné par Google, j'écris ce que bon me semble et je teste pour vous les derniers services du Web. Ce blog me permet de m'exprimer sur les différents produits de Google, en premier lieu ses services et les appareils Android.