What is Node.js?
But then what is node.js? Node.js is a piece of software that was written by Ryan Dahl back in 2009. This software is a runtime environment that can read and execute JavaScript code. Exactly the same way a browser can read and execute JavaScript, only without having the ability to render anything into the page. Think of it like the 'console' tab in chrome developer tools.
That reshaped the web development field, because since then we have the opportunity to write JavaScript code outside the browser. That means that someone who up to that time knew HTML, CSS and JavaScript and was working only as a front end developer, didn't have the need anymore to learn a new language to become a full stack developer, only learn some new concepts, with the same syntax.
That is awesome! Does that mean that node.js is another JavaScript framework like react? The answer is no! Node.js is an execution environment and not a framework, that means is a (mainly) C++ program that must be installed on your operating system and can read and execute JS code. It offers of course some JavaScript API's (modules) that allow you to write code that is meant to run outside the browser, such as dealing with files in filesystem, creating http-servers, talking to databases and even more.
In fact node.js acts like a basis that on top of that you can install a framework of your choice, that will help you to achieve a task. There are packages for everything, some examples are cylon.js for robotics, electron.js for making desktop applications, react-native for hybrid mobile applications and more.
Node.js made possible to create any type of application with pure web technologies, and transformed JavaScript into a general purpose language (like Java, python etc).
Can i get an amen?