FullStack Labs

Please Upgrade Your Browser.

Unfortunately, Internet Explorer is an outdated browser and we do not currently support it. To have the best browsing experience, please upgrade to Microsoft Edge, Google Chrome or Safari.
Upgrade
Welcome to FullStack Labs. We use cookies to enable better features on our website. Cookies help us tailor content to your interests and locations and provide many other benefits of the site. For more information, please see our Cookies Policy and Privacy Policy.

Is there value in learning Vanilla JavaScript?

With a pretty solid JavaScript community and access to an overwhelming amount of tools and frameworks, is it still necessary to learn Vanilla JavaScript? The short answer is yes, but why?

Written by 
Alejandro Henao
,
Software Engineer
Is there value in learning Vanilla JavaScript?
blog post background
Recent Posts
Six Ways to Handle Concurrency in the JVM
How to be efficient in remote design work in multicultural teams
Deploying a Rails App with Kubernetes

Table of contents

What is Vanilla JavaScript?

"Vanilla”, “Plain” or "Pure" JavaScript is just a term referring to the use of JavaScript without any 3-party libraries or frameworks like React, JQuery, Angular, etc. JavaScript by itself is a powerful cross-platform language that nowadays has a huge community of its use on both, the client-side and server side.

A pretty big community provides us with a lot of tools and frameworks that make the development experience a lot easier and more comfortable, reducing the boilerplate amount, improving the maintenance, and letting us build more complex applications in less time, so, why should we master pure JavaScript if we have all of this at our disposal?

Why should you learn all you can about it?

You can find a library for almost anything you might need to do, saving a massive amount of time for developers and companies that don't have to implement those solutions from scratch on their own. It is not common, but sometimes clients can be very “creative”, leaving you in a situation where the requirement is so specific that you won’t find an appropriate library that helps you accomplish this task. I mean, maybe in a good scenario you could find one but might include a lot of stuff you won’t need and potentially impacting negatively your project performance.

| KISS - Keep it simple…

In my experience, in this kind of situation, it’s always better to try coding the solution by yourself. Be careful, sometimes when we build something from scratch, we can end up building very complex scripts. One of the beauties of using plain JavaScript is precisely its simplicity. That simplicity requires creativity to solve problems, and you can only be creative if you know your possibilities. 

| “Don't reinvent the wheel”.

Trying to accomplish a particular requirement in the simpler way possible using Vanilla JavaScript can save you a lot of time searching for the right library among other tasks that come up when you are adding a new library to your project, but sometimes, the solution might just not be that simple. If you consider that there is no way to build from scratch a simple solution for the requirement, don't worry, talk to your team, and search for a third-party tool that suits your project, the goal is to not add unnecessary libraries to a project when it’s not needed.

| “Just remember, you are a JavaScript developer, not just an Angular, React, or whatever framework developer”.

Some time ago, Vanilla JavaScript was kind of scary for most of the developers I knew; it was easier and faster to use some tools like JQuery, Lodash, and such to manipulate the DOM and do certain operations. At that time, using external tools helped to keep the amount of code “smaller” and, let’s say, more maintainable. Nowadays, JavaScript is way more powerful and easier than before, libraries like JQuery are deprecated because manipulating the DOM using Vanilla JavaScript is just that easy. Nothing is better than using web standards, something you know will be supported in the long term and does not need to load any file to work, making your project load and its reactivity blazingly fast.

| “It works! I don't know why though”.

Frameworks and tools make our lives easier as developers, out there are awesome “dev-friendly” tools to build complex solutions. So, why should you learn Vanilla JavaScript if you would rarely use it to manipulate the DOM? You need to keep in mind that all of these tools are in the end, just Vanilla JavaScript, and if you do not master the basics you will find you out stuck in a series of weird bugs (maybe for hours or even days), and of course, that is reasonable if you don't understand how they actually work. After mastering the basics, you will feel how everything flows, and how easy it is to grab any library you need to integrate into your project.

Now that we agree that some tools can be pretty handy, please don’t let yourself go and start installing all sorts of packages on your projects. Evaluating a package installation for a project should not be that easy, you need to take all kinds of considerations. For the moment, start asking yourself: "Do I absolutely need it?" This is an important question you need to ask because there are so many packages that are useless knowing that JavaScript can easily do the same with a few lines of code. Imagine you are a new member of the team on a new project, but you noticed you need to go over dozens of documents to know the tools the project is using and the project needs to load a serious amount of sources to start working (not nice, isn’t it?). That’s another case where a good knowledge of plain JavaScript would come in handy to improve the whole project, from the code-base to the performance.

Conclusion

Do not avoid the use of pure JavaScript; it is pretty flexible and friendly. Its simplicity lets us stimulate our creative thinking and enjoy solving problems. Just remember to keep it simple.

Don’t let a tool control you; you must control the tool. Knowing Vanilla JavaScript will boost your skills up and will let you be a fast learner, it gets easier to know how to correctly use any external tools you might need for your projects. 

Using third-party tools is not a bad practice, and it’s not wrong. Keep in mind you are in a business and time is crucial, but it is also the quality and performance of the project. Trying to keep the balance is not easy, but knowing more than “enough” of Vanilla JavaScript might make things easier.

What are you waiting for? Let's start coding, master JavaScript and become an expert!

Alejandro Henao
Written by
Alejandro Henao
Alejandro Henao

Alejandro is a Software Engineer at FullStack Labs with over 4 years of experience and solid expertise in JavaScript. He has developed web applications and their design patterns, mainly using Angular, Vanilla JavaScript, and ASP.NET Core. He considers himself to have strong programming skills with strategic and problem-solving thinking.

People having a meeting on a glass room.
Join Our Team
We are looking for developers committed to writing the best code and deploying flawless apps in a small team setting.
view careers
Desktop screens shown as slices from a top angle.
Case Studies
It's not only about results, it's also about how we helped our clients get there and achieve their goals.
view case studies
Phone with an app screen on it.
Our Playbook
Our step-by-step process for designing, developing, and maintaining exceptional custom software solutions.
VIEW OUR playbook
FullStack Labs Icon

Let's Talk!

We’d love to learn more about your project.
Engagements start at $75,000.

company name
name
email
phone
Type of project
How did you hear about us?
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.