Skip to main content

What is Nodejs?

NodeJs(or Node) is an opensource and cross-platform Javascript runtime environment built on Chrome's V8 engine used for executing Javascript code outside of a browser. Most times, we use node to build backend services or APIs(Application Programming Interfaces) which powers client applications(let say, web app or mobile app).

Let's talk about client applications. These client applications are what the user of an application sees and interacts with. They need to communicate with a backend service sitting on the server or in the cloud to store data, perform actions like sending mails, handle push notifications, integrate workflows.

Nodejs can be used to build server-side applications which was previously limited to other programming languages like Python or PHP. Let's even clear the air. "Node is not a programming language nor a framework"

How to use Node

Node is ideal for building highly scalable, data-intensive and realtime applications. They are very ideal for I/O(Input or output) intensive apps.

Why Node?

  • Node is great for prototyping and agile development
  • Node is great for building super fast and highly scalable
  • Node's package manager(NPM) is one of the largest ecosystem of open source library
  • Nojs uses javascript so you have a more consistent and cleaner codebase if you have learnt HTML, CSS and JS

Detailed benefits of Node

Node has some exciting features that makes it unique and enjoyable. This benefits could sway you into using it or not depending on the type of applications you want to build.

  1. Asynchronos Event-Driven Architecture: Node.js has an event-driven architecture and as such it is ideal for handling asynchronous operations. This gives node the ability to manage a large number of concurrent connections with a single thread leading to improved resource efficiency and scalability. On the contrary, technologies like ASP.net uses a synchronous(blocking) architecture by default.

  2. Large community support and Ecosystem: Node has one of the largest ecosystem of developers and developer tools. They also have a vibrant and active community of developers all over the world. There are lots of opensource libraries and packages available through the Node Package Manager(NPM). With this, developers can build and focus on new ideas rather than reinventing the wheel at all times.

  3. Speed: Node is very fast and lightweight as it leverages the v8 engine and offers a non-blocking model and is used for real-time applications that needs speed.

  4. Easy adoption: Node is a JavaScript runtime environment and as such uses Javascript concepts. Therefore, developers can use javascript on the client-side and server-side and this ensures that the code is unified and code reusability is highly increased.

Brief History of Node

tip

You can always skip this history if you want to.