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é

Lead nurturing : guide pour transformer vos prospects froids en clients chauds

Qu’est-ce que le lead nurturing ? Définition du lead nurturing Le lead nurturing est une stratégie de marketing qui consiste à entretenir...

Qu’est-ce qu’un lead et pourquoi est-il crucial pour votre business ?

Dans le monde du marketing et des ventes, le terme lead est omniprésent. Mais qu'est-ce qu'un lead, et pourquoi...

Personnaliser votre CRM : pourquoi adapter l’outil à vos besoins spécifiques ?

Les CRM (Customer Relationship Management) sont des outils puissants pour gérer les relations avec les clients. Cependant, pour maximiser...

Qu’est-ce qu’un CRM ? Guide complet pour comprendre et choisir le bon outil

Dans un monde où la relation client est au cœur de la stratégie des entreprises, les outils de CRM...

La cartographie Garmin : quelles sont les options et comment les installer ?

La cartographie Garmin est essentielle pour les utilisateurs d'appareils Garmin, qu'il s'agisse de montres de sport, de GPS de...

Résoudre les problèmes de batterie sur votre montre Garmin : astuces et solutions

Les montres Garmin sont connues pour leur fiabilité et leurs nombreuses fonctionnalités, mais l'autonomie de la batterie peut devenir...

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