How To Get Insanely Good at JavaScript
Tags: javascript, beginners, programming, tutorial
Published: 2022-07-21 08:21:04

JavaScript is the most popular language in 2022, hands down. People are using it to develop everything from beautiful frontends to complex backends. 

But with so many other options in the market, how did JavaScript come out on top? How is there so much demand in the market for JavaScript developers?

Simply put, you can make any web app, android, or IOS app with JavaScript. You don’t need to learn multiple languages like Java, Kotlin, Swift, etc. Just learn JavaScript, and you are set. 

You do not need to learn any other language in 2022. JavaScript has got your back for everything. 

## Starting Off..
Are you new to the programming world, or do you have some experience in coding? Keep your answer in your mind. 

If you want to learn JavaScript, a basic understanding of HTML is necessary.

JavaScript is a language that was designed to run in the browser. 

Now let’s get to the learning part. You’ve probably heard of vanilla JS. This is pure JavaScript without any additional libraries. Some people believe you should learn vanilla JS before moving to any framework. 

I would only suggest this route if you have absolutely no coding experience. Otherwise, I suggest you start by learning a framework like ReactJS. 

When you learn with a framework, you use your intuition and code while you learn. 

There are two broad uses of JavaScript today — as a Frontend Language and as a backend or a Server language called NodeJS.

## As a Frontend Language
Most websites these days are HTML paired with JavaScript. JS runs functions such as logging in, submitting forms, etc.
 
Running Vanilla HTML-JavaScript is a decent approach, but today most developers and [companies](https://devrev.ai/blog/the-power-of-product-led-business-operations) use popular JavaScript Libraries to build their Websites, such as ReactJS (maintained by Facebook), AngularJS (maintained by Google), and VueJS, to ease the burden of coding!

As a beginner, I recommend starting with these packages as the bulk of the coding is done in this, while only niche parts of the project would you require to run vanilla JavaScript.

## Learning Frameworks like React, Angular and Vue
If you are an experienced developer, you can open up the documentation for the framework and start coding. 

But otherwise, if you are a beginner, the best way to learn is by following a step-by-step tutorial. Suppose you want to learn ReactJS. 

Open up the tutorial and code while you watch. At the start, you will have to copy exactly what is done in the tutorial.

But, eventually, you will get independent and can start referring to the documentation for any queries. 
These tutorials go over all the basics needed — 

- [React JS Crash Course — YouTube](https://www.youtube.com/watch?v=w7ejDZ8SWv8)

- [Angular Crash Course — YouTube](https://www.youtube.com/watch?v=3dHNOWTI7H8)

- [Vue JS Crash Course — YouTube](https://www.youtube.com/watch?v=qZXt1Aom3Cs)

It might seem slow, but follow through and trust me, because, at the end of the video, you will be able to create anything — From a Million-dollar Real Estate site to a cutting-edge Web3 trading dApp!

Let’s take a brief look at the frameworks mentioned above. 

**ReactJS** is by far the most popular framework. It is incredibly versatile, with its concept of JSX, making it very Intuitive and beginner-friendly. It is very powerful. This will cover **all your needs**.

**AngularJS** is also a very popular framework. Unlike React(a library), it is a fully-fledged framework with its own DOM implementation. Due to its high complexity, it is **difficult to learn** and used only when necessary.

**VueJS** is an upcoming framework that bases itself on using pre-made Templates. It is made for building, ready-to-ship, performant websites on the Fly!

## As a Backend Language

All websites need an automated entity to respond to user requests. A server comes in handy to do this. These servers are traditionally in Java, GoLang, or Rails. This versatility of writing frontend and having a Run-time environment to run a server, which encompasses the complete horizon of Full-Stack development, is only possible by using JavaScript.

That's why JS is so popular!

NodeJS facilitate JavaScript in a run-time environment. Using NodeJS, you can build your backend App.

Although there are new concepts and libraries required to develop a server, the way you handle requests remains the same when using it as a frontend or a backend language. Backend concepts like CORS, Middleware, APIs, etc., must be understood before you develop your server.

This tutorial will help you to develop a REST API that will go over using a Database (MongoDB) for storing information permanently — 

[Build A Restful Api With Node.js Express & MongoDB | Rest Api Tutorial — YouTube](https://www.youtube.com/watch?v=vjf774RKrLc)

Additionally, you can find in-Depth videos on this topic. Learn it only when you need it!

You will waste time if you watch a hundred videos but never get to work. Implement every tiny detail you learn.
 
NodeJS will take care of your server requirements for a large part, but due to some concessions made in its development, you will grow out of it at some point. But don’t worry, that day is far-far, far away!

## Timelines — How long will it take?

You might wonder how long it will take you to get a basic grasp of all of the concepts. 

So. as we know, there are two parts to JS to specialize in; they have different timelines.

With ReactJS, it will take about seven days to get a solid hold on it. It is reasonably straightforward, and end of it, you will have the confidence to build just about anything your mind proposes!

For NodeJS, it is a little more complicated, and a lot more depth is required. Building basic functionality is easy and can be done in 2 days, but understanding more profound concepts will only come with experience.

## What Next?

Once you have learned the basic concepts, start coding. Look at open-source projects on Github that use your framework or library. If you learned React, check out React projects. 

Join their Discord, Telegram, [DevRev](https://devrev.ai/blog/the-why-and-what-of-dev-rev), and Slack channels to connect with developers. Look at the current issues in the project.

You can always reach out to other developers if you get stuck. 

Feedback and practice will get you from a novice to a competent developer.