DEV Community

Solomon Eseme
Solomon Eseme

Posted on • Originally published at Medium on

AdonisJS Tutorial: The Ultimate Guide (2021)

This is the most comprehensive tutorial on the AdonisJS framework online.

Chapters

  1. Complete AdonisJS Overview
  2. AdonisJS: The Framework
  3. Building with AdonisJS
  4. Deploying AdonisJS

Complete AdonisJS Overview

In this AdonisJS tutorial, you will learn a very interesting framework in the Node.js and JavaScript ecosystem.

This AdonisJS tutorial will teach you AdonisJS 5 from scratch to an advanced level, you will learn how to build and deploy your first AdonisJS application.

What is AdonisJS?

AdonisJS is a Node.js framework that is focused on developers’ ergonomics, stability, and speed. AdonisJS is written from the ground up with a strong principle and goals in mind to be a strong integrated system.

It also follows the same MVC principle used by many popular frameworks such as Laravel, Rails, and Spring. It focuses on developer experience, stability, and speed.

If you’re coming from Laravel or Rails, then you will definitely find AdonisJS very easy to navigate.

In fact, I started using AdonisJS a day after looking at my client’s project codebase from the previous developer without any AdonisJS tutorial.

As a complete web framework, AdonisJS comes inbuilt with great features and addons that make it different from other great Node.js frameworks.

Let’s dive into them:

Features of AdonisJS

AdonisJS 5 has many great features of web development built in such as:

Database

AdonisJS has a well thought and robust ORM. It comes with Query builder, migrations and active record models.

It also support a lot more such as:

SQL First Design:

AdonisJS treats SQL as a first-class citizen and supports all the mainstream SQL servers such as MySQL, PostgreSQL, MSSQL, etc.

Lucid Active Record ORM:

AdonisJS supports a great ORM that is inspired by Laravel Eloquent and Rails Active Record. It offers a great API for consuming complex SQL queries and managing relationships.

Migrations, Seeds, and Factories:

The feature should be familiar to you already, and Yes! Adonis supports it too.

HTTP

AdonisJS has one of the most advanced Routing System in the Node.js ecosystem, it comes with built-in Route Groups, Subdomains, pattern matching, and resourceful routes.

It also supports a lot more such as:

Form Validator:

Since AdonisJS is TypeScript’s first framework, AdonisJS creates and exposes runtime validations in the request body and extras the static types at the same time.

JSON Serializers:

AdonisJS is the first Node.js framework to support JSON: API first hand. If your project requires JSON: API then AdonisJS has you covered already.

Security

AdonisJS 5 has some Web Security best practices built into the framework, such as CRSF Protection, web shield for common attacks such as XSS, ClickJacking, Script Injection, and many more.

Another great thing is that AdonisJS 5 allows you to manage the security settings for Cross-Origin HTTP Request (CORs) to make sure the right and authorized users are allowed to access the application.

Auth

AdonisJS 5 provides inbuilt authentication using the Multi Driver Auth that gives developers the flexibility of defining different authentication drivers such as Sessions, Opaque token, and basic authentication.

It also provides InBuilt RBAC which is a Role-Based Access Control great for handling authorization.

There are other great features of AdonisJS 5 such as Health Check which checks and monitors application well-being and can be configured to report to Kubernetes etc.

Why you should learn AdonisJS

Okay!

I know these questions pop into your head a lot, is it not just another Node.js framework? And why should I even bother?

Here is why:

Firstly, there are many reasons why you should learn a particular framework or not from your own perspective.

I will only point out a few general reasons and also point out my personal reasons and experiences with AdonisJS and other Node.js frameworks.

First of all, AdonisJS follows the standards used by most popular frameworks such as Laravel and Ruby on Rails. So if you’re coming from these frameworks to the JavaScript, TypeScript, or Node.js world then you can likely get started with it in a day.

Building Rapid Applications and Developers’ ergonomics is a top focus for the Adonis team, so if your project or team cares more about these then AdonisJS is your top choice.

Super small and unopinionated frameworks like Koa or Express are great in the Node.js ecosystem, but if you have ever benefited or in need of a full-stack framework like Laravel, Rails in Node.js then AdonisJS is your top choice.

If you care more about writing Integrated Systems rather than writing Glue Codes then you need to consider choosing AdonisJS in your next project.

Lastly, the syntax is super easy and adaptable as it supports TypeScript as a first-class citizen. It can strengthen newcomers to TypeScript to pick up real quick, also it supports JavaScript too.

Obviously, those are great reasons to choose or learn AdonisJS as your next Node.js framework or build your next project with it but the choice is yours.

Next, we are going to compare AdonisJS with other Node.js Frameworks in this tutorial to give you a clear picture of where AdonisJS can come into your project.

AdonisJS Framework vs Other Frameworks

Comparing AdonisJS with other Node.js frameworks with this video from Chimezie Enyinnaya of Adonis Mastery shows how great AdonisJS is compared to other frameworks.

Now you have completed the overview of the framework, let’s dive into the framework itself.

When it comes to learning and mastering AdonisJS, this course Learn AdonisJs: from zero to deploy is my top recommendation. You will Learn AdonisJs by building a production-ready application completely from scratch.

Continue reading on Mastering Backend »

Top comments (0)