This is the most comprehensive tutorial on the AdonisJS framework online.
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.
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:
AdonisJS 5 has many great features of web development built in such as:
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.
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:
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.
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.
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.
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.
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.
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.
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.
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.