Why It’s Important To Learn Vanilla JavaScript

Photo by Dana DeVolk on Unsplash

Welcome back, this week I wanted to talk about plain vanilla JavaScript (JS) and why it’s so important to master before picking up JS frameworks and libraries. This is a topic that I’ve wanted to discuss for a while because of the emergence and continued development of JS frameworks in software engineering. I will cover what vanilla JavaScript really means and why it’s such a necessary skill to hone. JS frameworks such as React, Angular, and Vue, are very useful and popular right now in development. They are helpful when abstracting out difficult code, they ship code faster and they increase development velocity. But, hopefully I can convince why you should to invest in sharpening your JS skills!

What Do You Mean by ‘Vanilla’ JavaScript?

Back when JavaScript was first released, developers who used it would need to use other libraries and frameworks to bypass plain JavaScript for a majority of tasks. Therefore, many developers at the time would default to using jQuery with JavaScript. But, with the evolution of the ECMAScript specs and modern browsers, external libraries and frameworks started to lose their appeal. Many of the tasks that were more easily handled by frameworks could now be solved using JavaScript solely. However, as JavaScript evolved, so did many frameworks and libraries.

As JS frameworks and libraries have become more popular, there are many developers who believe that using plain ‘vanilla’ JavaScript is more optimal than the libraries or frameworks. Frameworks make coding much simpler and can cause developers to rely too heavily on them. The term ‘vanilla’ JavaScript was born from the over saturation of JS libraries and to make a point that you can often use plain JavaScript instead of additional JS frameworks or libraries. It is a term to distinguish between JavaScript and all its other libraries and frameworks.

Why Understanding JavaScript is SO Important

I believe that frameworks and libraries are great tools in web development and they provide many benefits, but I want to show you why it’s important to develop your JavaScript skills too and how it can help you when using JS libraries and frameworks no and in the future.

As I stated in the intro, there are benefits to using frameworks because they can simplify complex problems, but when it comes to coding there’s no question that you will always encounter an issue that you can’t solve right away. Let’s say for example that you’re working with components from a JS library and they’re work the way you expect. You probably have to do a deep dive into the documentation for that library, which is all in JavaScript, and figure out why it’s not functioning how you expected. If you have a strong understanding of JS, you will be able to decipher a solution to your issue efficiently. Otherwise, all of the time you save from using the framework is lost doing research to understand some components.

In the last ten or so years, there have been more than 10 different JS frameworks that have become popular and common at many companies. But if you think about the rate in which new frameworks and libraries are developed, do you really think the 10 or so JS frameworks that are popular now will still be relevant in the next 10 or even 5 years?

JavaScript is the programming language of the web and JS frameworks will always continue to be developed and they will probably work better and faster than the ones we use today. But the only constant with all this evolution is JavaScript. Understanding the core engineering principles of JavaScript is extremely necessary in your engineering career because it will allow you to be more adaptable as new JS frameworks and libraries emerge.

Just look at the jQuery developers who are now trying to master Angular, and when they do they’ll move on to React or Vue. By mastering and putting all your effort into only one framework or library, you limit your ability to learn new ones. The best way to learn new JS frameworks more easily is by mastering plain vanilla JavaScript. You cannot merely rely on a passing knowledge of JavaScript or you won’t be able to survive JavaScript’s web revolution.

Conclusion

Hopefully, you are convinced from my blog that mastering vanilla JavaScript and its fundamentals are very important as a developer. It will help you to adapt and transition more easily between JS frameworks and it will allow you to trouble shoot complex issues much more efficiently. The best way to be a strong developer for the present and future is to hone your skills in JavaScript. So when you’re working on your next project using a JS library, I challenge you to think about how you would build it in pure JavaScript. I also challenge you to try to build your next app using only plain vanilla JavaScript. The more you practice the better you become! It is an amazing language and the truth is, anything you can do with the frameworks and libraries can be done using plain vanilla JavaScript! Thanks for joining me this week, I hope to see you back here next week!