TOP APPSAdonisJS : un très bon “framework” NodeJS qui promet...

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

-

Il y a environ 6 mois, je cherchais une alternative à SailsJS, un framework Model-View-Controller (MVC) pour NodeJS. Malheureusement, Sails était lent avec les requêtes POST, ne prenait pas en charge de nombreuses fonctionnalités PostgreSQL telles que les transactions et manquait d’autres fonctionnalités. Mais le pire, c’est qu’il n’a pas été mis à jour au cours des 3 dernières années.

Je cherchais donc un autre “framework” pour migrer mon projet NodeJS. Koa.js (mais trop de pièces manquantes), Meteor.js (pas besoin d’une solution tout-en-un, seulement une API), Loopback (trop de magie), et quelques autres…

Jusqu’à ce que je tombe sur AdonisJS. Pour être honnête, le framework a commencé sur Github (4K Star), mais il n’a pas été facile à trouver. Mais je suis tombé amoureux d’elle. Je vais essayer d’expliquer pourquoi.

Avantages

En regardant la structure des dossiers et la logique derrière AdonisJS, il est presque identique à Laravel, un “framework” PHP très populaire. Laravel a également une structure agréable et réfléchie qui aide à garder les choses claires. Donc, si vous l’avez déjà utilisé, vous apprendrez rapidement Adonis.

Son ORM (Object Relational Mapping) est conçu pour les bases de données SQL telles que Postgres et MySQL. Il crée des requêtes SQL efficaces et est basé sur le “modèle d’enregistrement actif”. Le générateur de requêtes est facile à apprendre et vous 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 si vous avez besoin de quelque chose de plus complexe comme des migrations, des transactions, des jointures, des requêtes “SQL natives” complètes, tout est là et facile à utiliser. Pour les passionnés de MongoDB, nous prenons également en charge AdonisJS.

AdonisJS dispose également d’une extension de validation pratique qui 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 tests peuvent être à la fois « synchrones » et « asynchrones », ont accès à la base de données et sont très faciles à mettre à l’échelle. Par exemple, j’ai créé un test pour prouver que mon mot de passe est fort.

Le développement piloté par les tests (TDD) est une méthodologie de développement logiciel qui recommande de créer des tests unitaires avant d’écrire le code source du logiciel. AdonisJS pratique le TDD et je pense que c’est une bonne philosophie à garder en tête pour vos prochains développements !

Inconvénients

En raison du manque de nombreux contributeurs et utilisateurs, il est possible de trouver des “bugs” dans la bibliothèque principale. Certains d’entre eux sont assez évidents.

La documentation est bonne, mais la communauté est encore petite. Il n’y a pas beaucoup de réponses sur StackOverflow et pas beaucoup de tutoriels.

En conclusion

J’utilise AdonisJS en production depuis 6 mois. Stable et rapide. J’aime ça! Si vous recherchez un framework NodeJS moderne avec ES6, un support Postgres et une excellente structure, visitez AdonisJS.

Actualité

Meilleures pratiques pour protéger votre vie privée sur le web

Le web peut rapidement devenir une menace pour votre vie privée si vous ne prenez pas de précautions. En...

5 outils pour tester la vitesse de votre connexion internet

Il est difficile de déterminer votre vitesse d'accès à Internet sans utiliser un test précis, que vous soyez confronté...

À quoi servent les cookies sur Internet ?

Bien que les cookies soient généralement considérés comme un outil positif qui permet aux sites web de mieux fonctionner,...

5 raisons d’utiliser un logiciel d’envoi emailing

5 raisons d’utiliser un logiciel d’envoi emailing L’acquisition de clients (et la hausse des revenus qu’elle permet) est l’une des...

Asus Zenbook Pro Duo : Notre avis sur le PC high-tech

Tout le monde informatique est en constant mouvement. Nous devons sans cesse innover pour répondre aux attentes et aux...

Que faire avec VPN :10 exemples d’applications spécifiques

On parle souvent de l'importance d'avoir un VPN. Mais que peut-on en faire, et comment peut-il aider les internautes...

Populaires

Annuaire inversé : Comment connaître le nom de l’appelant ?

L'annuaire inversé gratuit est le meilleur endroit pour en...

Quelles formes et formats de tampon encreur choisir ?

Quel support dois-je choisir pour mon tampon ? Les tampons...