I want to learn Node.js but how do I start? This is the first question comes into our mind when we want to learn a new technology. Today, I am presenting you the roadmap, a comprehensive list of useful resources that you can follow to get up and running with Node.js.
If you are a beginner or an intermediate Node.js developer, this contains the best resources to learn Node.js for you.
About Node.js Roadmap
The term Node.js roadmap often refers to the releases and future plans of the organization itself. If you happen to know that please visit Node.js Foundation Release Plan.
In this post, we are going to see another Node.js roadmap which is crafted to help you to learn Node.js.
What You Must To Know In Node.js
The very first you would like to know if it’s worth learning for you or not. Here is the answer for you: Future Of Node.js And Why You Should Learn Node.js
So, we are determined to learn Node.js and these are the checklist we need to priorities.
- A basic idea of how Node.js works under the hood
- Understand the event loop
- Difference between synchronous and asynchronous
- Understand Buffers, Streams, and Pipes
- Node.js modules and structure of a Node.js application
- Use NPM and manage Node.js packages
- Build a Web Server in Node.js and understand how it really works
- Implementing realtime features in Node.js
- Writing test cases & automate them
- Build and deploy automation
How Node.js Works Under The Hood
Before jumping into coding, if you are interested to know how Node.js works under the hood, have a quick read on
- Node.js – under the hood
Getting Started With Node.js
- Hello world in Node.js (Tutorials Point)
- NodeSchool.io interactive lessons (NodeSchool)
- Mastering the Node.js REPL (Medium)
Understanding Some Important Concepts In Node.js
Understanding asynchronous programming and event loop is the most fundamental thing you need to grasp. Let’s have a look at them first.
- What the heck is the event loop anyway?
- Understanding Async Programming in Node.js
- Demystifying Asynchronous Programming
- Overview of Blocking vs Non-Blocking
Node.js Tutorial Series
Once you get the best idea of asynchronous programming, let’s checkout few series of Node.js tutorials
Writing raw Node.js code for each of the thing is very time consuming. It’s time we move into a framework. Well, there are tons of Node.js framework. Which one you’d go for?
Roadmap For Express.js (Express)
As many beginners starts with Express, obviously any Node.js roadmap post will come with a roadmap for Express as well.
Here is a list of Express tutorials I recommend to start with:
Database And Caching
Now we need to store our data in our Node.js application. Although MongoDB is the first one which comes into our mind learning Node.js, but there is no hard rules for that. You can use any database you think suitable for your project.
- Node.js MongoDB Tutorial with Examples
- Writing a CRUD app with Node.js and MongoDB
- Getting started with Node.js and PostgreSQL using SequelizeJS
- Using Redis with Node.js
- API Caching with Redis and Node.js
Writing Realtime Applications
Why not we implement all the cool stuff we learned so far and build a realtime chat application
- Build a simple chat app with Node.js and Socket.IO
- Creating a Chat App in Node.js With Express, MongoDB, Mongoose, and Socket.IO
Power Up Your APIs With GraphQL
GraphQL is a query language for APIs that enables you to consume data from any client without defining any regular API.
- Creating A GraphQL Server With Node.js And Express
- How to set-up a powerful API with Node.js, GraphQL, MongoDB, Hapi, and Swagger
- Build a Simple GraphQL API Server With Express and Node.js
Making Your Own Bot
Do you want to write your own messenger bot which will talk to you or your customer? Then, get ready to build a bot with a few easy steps in Node.js
- Build Own Facebook Messenger Bot with Dialogflow and Node.js
- Creating a Simple Facebook Messenger AI Bot with API.ai in Node.js
- Building a Slack Bot with Modern Node.js
Microservices And Building An API Gateway Using Node.js
Building monolithic application is a given nature of any developers. How about trying microservice architecture now? Yeah! you heard it right. Building microservices in Node.js is pretty norm. So why not we take a look:
Writing Tests For Your Code
Test cases are almost inevitable for large amount of code. Automated testing is as important as writing features.
- Testing Node.js with Mocha and Chai
- How to Test Node.js Apps using Mocha, Chai and SinonJS
Dockerizing Your Node.js Application
Everybody loves to ship their product isolated from outside environment and hence containerised. Really! Docker is not a buzz word but a very useful tool for modern application development.
- Containerizing Node.js Applications with Docker
- Node.js Docker workflow
- How to Debug a Node.js app in a Docker Container
Deploying Node Apps
- Deploying Node.js Apps on Heroku
- How to deploy a Node.js application to Amazon Web Services using Docker
- Deploying a Node.js App to Digital Ocean
Creating Serverless Node.js APIs
At this time, you already did enough of Node.js with a variety of frameworks and tools. Now we can see a different implementation of Node.js
- AWS Lambda Tutorial: Lambda + Serverless
- Building a Serverless REST API with Node.js and MongoDB
- How to quickly create a serverless RESTful API with Node.js and AWS
- First Serverless App in Node.js with AWS Lambda + S3 + API Gateway
What You Shouldn’t Do In Node.js
I already said enough of things you should do. You might be tired by now. But let’s hand on for a moment and see what you shouldn’t do in Node.js
- The Top 10 Most Common Mistakes That Node.js Developers Make
- Seven Things You Should Stop Doing with Node.js
Securing Your Node.js API
Writing insecure code is like building a boat which is not going float rather sink. The last but not least topic we need to learn, is writing a secure code.
- Securing Node.js RESTful APIs with JSON Web Tokens
- Building and Securing a Modern Backend API
- Best Security Practices for production Express.js
- Architecting a Secure RESTful Node.js app
If you followed this Node.js roadmap so far, you already aware of the best resources for learning Node.js and you have almost everything you need. But it’s not the end of learning. I’ve got a few other things you might be interested in, such as The Art of Node and many more.
Videos For Learning Node.js
- Node tuts
- Introduction to Node.js with Ryan Dahl
- Node.js: Asynchronous Purity Leads to Faster Development
- Parallel Programming with Node.js
- Beginning Node.js
- Node.js in Action
- Design Patterns – Master best practices to build modular and scalable server-side web applications
Finally, it’s worth to check out for some awesome Node.js modules built by passionate Node.js developers.
- Awesome Node.js (Github)