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.

Sommaire

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é

Nouvelle app de rencontre ou repaire de stalkers, la drôle de transformation de LinkedIn

LinkedIn : de réseau professionnel à terrain de chasse amoureuse Avec plus d’un milliard d’utilisateurs, LinkedIn est devenu un pilier...

La première liaison hyperloop prévue en 2035 en Chine

Hyperloop One La Chine, déjà leader mondial des technologies ferroviaires à grande vitesse, se tourne vers l’hyperloop, un système de...

Quand il faut devenir plus “vert” : ces 6 références montrent que nos ordinateurs ont du talent

Acheter un nouveau smartphone ou un nouvel ordinateur peut souvent susciter une dissonance cognitive chez les consommateurs bien informés....

Quelle tablette Samsung choisir en 2024 ? Comparatif et différences

Samsung Galaxy Tab S9 Ultra La meilleure tablette Samsung, tous modèles confondus La Galaxy Tab S9 Ultra est la meilleure tablette...

Quand la science-fiction devient réalité : des hologrammes dans vos lunettes

Le 22 avril, dans la revue Nature Communications, une équipe de chercheurs a présenté les résultats de leurs travaux....

Qu’est-ce qu’Apple Intelligence : l’IA sur votre iPhone et Mac ?

Apple Intelligence marque le début de la marque californienne dans le domaine de l'intelligence artificielle. Avec un ensemble de...

Populaires

Comment contacter le service client Vinted ?

Vinted : le service client Vinted est un dressing virtuel...

Comment nettoyer votre clavier sans l’endommager ?

Optimiser le nettoyage de votre clavier Si vous utilisez souvent...