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é

Des chercheurs proposent d’installer un réseau de fibre optique sur la Lune

Une idée audacieuse pour l'exploration lunaire Dans une proposition révolutionnaire, des chercheurs de renommée internationale ont avancé l'idée d'installer un...

Les travailleurs qualifiés russes émigrent de plus en plus vers l’Allemagne

Une tendance croissante Au cours des dernières années, une tendance émergente a captivé l'attention des observateurs : un nombre croissant...

Comment bien choisir une agence de développement web mobile ?

Le choix stratégique d'une agence de développement web mobile Dans un monde de plus en plus numérique, la présence en...

L’arrivée de l’Epic Games Store sur Android et iOS

Dans un monde où les applications mobiles façonnent notre quotidien, Epic Games s'apprête à franchir un pas décisif en...

Le rôle vital d’EDOF dans le paysage de la formation professionnelle

L’espace des organismes de formation (EDOF) se présente comme une innovation majeure dans le secteur de la formation professionnelle...

Samsung Galaxy A53 et A54 : Patch de sécurité 2024 en Europe

Dans une démarche constante visant à garantir la sécurité et la fiabilité de ses appareils, Samsung a déployé la...

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