My thoughts on the JavaScript ecosystem 
Tags: javascript, webdev, beginners
Published: 2017-08-11 06:27:27

---
title: My thoughts on the JavaScript ecosystem 
published: true
description: after a few months of learning a bit of node.js here are some of my thoughts on the JavaScript ecosystem
tags: javascript, webdev, beginners
---

#My thoughts on the JavaScript ecosystem 
###(AKA why I think all web developers should learn JavaScript)

I have been learning JavaScript for a year now, and recently got into Node.js. By no means am I professional JavaScript developer but there are some things that I have noticed about the language, or more specifically, the community around it. This article may be stating the obvious for many people, but perhaps this may be quite helpful for JavaScript beginners. Nevertheless, here are my thoughts on the JavaScript ecosystem.


##You do not have to reinvent the wheel.

This is true for most other languages that have their own package managers but what I have noticed is that for JavaScript is that there is a library, framework, or package for (pretty much) everything. The tool that really makes this true is [NPM](https://www.npmjs.com/). As can be seen, by [this graph](http://www.modulecounts.com/), NPM has surpassed all package managers for other languages by hundreds of thousands of modules created. What this all means is that instead of writing some code that is just boilerplate or spending valuable time figuring out how to do something chances are you can find it on NPM. As well, it provides an easy way to find what you are looking for, look at the documentation, and install the library.

NOTE: I do understand that NPM does have modules written in many other languages than JavaScript, however, due to the sheer amount of game changing JavaScript libraries and frameworks that are hosted there (ie. express.js), I believe all of my previous statements are true. 


##Used in a wide variety of circumstances

JavaScript has become a very powerful language to know. Not only can it be used for client side animations and effects but also it has become very popular as a server-side language with Node.js. Thus, whether you want to become a front end designer/developer or server-side, JavaScript can do both. This also proves useful in the case that someone wants to be a full stack developer: The same language can be used client and server-side with a few added dependencies.


##One language, multiple platforms

One of the major distinguishing features of JavaScript is the one language, many platforms ideology, meaning HTML, and CSS in addition to JavaScript. This has resulted in the creation of some very remarkable platforms such as [Electron](https://electron.atom.io/) or [the Ionic framework](https://ionicframework.com/). This makes this language even more powerful being able to create apps that not only exist on the web, but also on app stores or even as a desktop app! All with just JavaScript, HTML and CSS. 


##Used on pretty much all browsers

I will keep this section short. JavaScript runs natively on most modern browsers. Internet Explorer is not a modern browser.


##Despite all that...

Despite the fact that JavaScript is an awesome language, it is important to remember to have a diverse skill set, just like a person should have a diverse investment portfolio. This is important because even though JavaScript has become powerful, that doesn't mean it can do everything. JavaScript serves many purposes on the web, however, depending on the circumstance, a different language may be better. On top of that, a company might not even be using JavaScript for everything (or anything at all). A company's desktop app may be written in Java, and something like GoLang could be used server side. The point of this article is NOT to tell beginners to learn only JavaScript, and use it for everything but rather to highlight some of my observations about JavaScript as I begin to reach the intermediate level. I maintain the view that a person can specialize in one language but also should diversify their skill set. 


I hope you learned something from this article. Many people may already know a lot of this, so I hope that this helps some beginners understand the JavaScript ecosystem a bit more and as well learn why it is a great language with many uses.

Please leave any feedback about this article that you have for me in the comments, I will try to respond to everyone! This is my opinion, and if you think I am wrong, tell me about it in the comments!

-Matt Silverman | [Silverman.io](https://silverman.io)