AdonisJS [Part 1] - Introduction
Published: 2020-01-30 17:27:26

Hello, everyone 👋

Today i want to share you about how to learn AdonisJS from scratch!.

This is absolutely for you that don't know AdonisJs before. This will be a series of tutorials from installation until you can create a simple application that performs CRUD (Create, Read, Update, Delete) operations. It's awesome, right? 😎.

Before we start, let me explain to you what AdonisJs is and why you should learn this framework.

Oh, on this part we will not type any line of code. This part is focused on making you know what AdonisJs is. If you have learned or used Laravel framework, this framework is very suitable for you that want to migrate to JavaScript environment. So, let's start it now! 😉.

## What is AdonisJs?
AdonisJs team said :
> *AdonisJs is a Node.js MVC framework that runs on all operating systems. It offers a stable eco-system to write a server-side web application so that you can focus on business needs over finalizing which package to choose or not.*

> *AdonisJs favours developer joy with consistent and expressive API to build a full-stack web application or a micro API server.*

AdonisJs is one of JavaScript framework that allows you to create *full-stack* web application.

But, what does the word *full-stack* above mean?

If you have created a web application using PHP framework such as Laravel, Symfony, Zend or something else you are building a *full-stack* web application. Where you do not separate your client view and the business logic. All your code is wrapped in one root folder. And AdonisJs is similar as i mentioned just now.

Don't worry if you don't familiar with the above explanation. We'll learn it by doing, OK 😉.

## What can AdonisJs do?
AdonisJs allows you to create full-stack web or micro-services. It's easy to manage your app because AdonisJs follow the [MVC design pattern](https://en.wikipedia.org/wiki/MVC).

AdonisJs provides rich cli tools to bootstrap and manage your app resources. You can create controllers, models, etc. by running the AdonisJs built-in commands on the terminal and AdonisJs kindly generates files containing scripts so you can use it right away.

It used query builder called [knex.js](http://knexjs.org/) to makes your model more secure, easily to deal with databases and process your SQL queries to many database without write a specific command for each database. It will cuts your time down to write multiple lines of queries that using more than one database 😮.

AdonisJs also allows you to create real-time based website. Since AdonisJs includes websockets to their repository and you can add it to your project when you need it.

All the above text is just a little piece of things that AdonisJs can do. For more information you can [visit the official website of AdonisJs](https://adonisjs.com/) 😉.

## The things you should know!

Although AdonisJs is very easy to learn, but you must understand a few things below.

### JavaScript
Of course, this the most important thing you should know. The basic of JavaScript is enough to understand this framework. But, some understanding about JavaScript class and modules is very helpful to makes you learn faster.

### Node.js
Since AdonisJs is a server-side framework, you should to understand the basic of Node.js and able to use the basic operation of Node.js.

### OOP
OOP or Object Oriented Programming is not necessary but recommended. If you understand the basic of OOP it's also help you when understanding how controllers and models work.

### Basic MVC Pattern
AdonisJs follow MVC design pattern so, it makes you easy to read and manage your app. If you understand this pattern, you are able to use this framework better and easy to read the flow of this framework.

## What's next?
Stay tuned to this series and wait for another update soon! 😇

For the next part, we will learn about how to install AdonisJs project to your computer and do some setup. Yeay! 🤩

## Conclusion
AdonisJs is one of JavaScript framework that allows you to create full-stack web and micro-services. It follows MVC pattern and use query builder called knex.js to deal with database.

AdonisJs also allows you to create real-time website because this framework uses pure websockets that you can use whenever you need it.

If you liked this post, you can give it love or unicorn 🥰.

Also follow me on :
- twitter: [@thexdev](https://twitter.com/thexdev)
- github: [@thexdev](https://github.com/thexdev)
- instagram: [@axeone.dev](https://www.instagram.com/axeone.dev/)

Thanks for reading!

Sampai Jumpa 👋