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é

Découvrez les mini-batteries Minitower pour vos panneaux solaires

Des batteries innovantes pour l'énergie solaire de balcon Les avancées dans le domaine des énergies renouvelables continuent de susciter l'émerveillement,...

Des performances similaires à celles d’une moto 125 CC ! 

Sodium Cycles : pionnier des motos électriques Dans un marché dominé par les voitures et les vélos électriques, Sodium Cycles,...

Samsung révolutionne l’autonomie des smartphones

Les smartphones ont considérablement évolué ces dernières années, offrant des performances accrues, notamment en photographie. Cependant, un défi persiste...

Les risques légaux et de sécurité associés à l’utilisation de sites de téléchargement 

De nos jours, de nombreux amateurs de divertissement se tournent vers des sites de téléchargement et de streaming tels...

Comment convertir une feuille Excel en Google Sheets ?

Pourquoi convertir une feuille Excel en Google Sheets ? Dans le monde professionnel et dans la vie quotidienne, l'utilisation de...

Découvrez la Ninja H2 HySE, première moto Kawasaki propulsée à l’hydrogène

Kawasaki a ébloui le monde motocycliste avec la sortie de la Ninja H2 HySE, une véritable révolution dans le...

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...