As mentioned in the previous article, Node.js is written in the JavaScript language and runs on various platforms, including Windows, Linux, Unix, Mac OS X, and more. Explore Mytour's article below to delve into What is Node.js? An Overview of Node.js.
Node.js Concept:
Exploring Node.js: An Overview
What is Node.js?
Node.js is a Server-Side platform developed based on the Javascript Engine (V8 Engine) integrated into Google Chrome. It was created by Ryan Dahl in 2009, with the latest version being v0.10.36.
In the official documentation, Node.js is defined as follows:
'Node.js is a platform developed based on the JavaScript runtime in Chrome to build faster and larger-scale network applications. Node.js uses the non-blocking I/O model to create lightweight and efficient applications for real-time data applications running on distributed devices.'
Node.js is an open-source, cross-platform runtime environment used to develop network and server-side applications. Node.js applications are written in JavaScript and can run in the Node.js runtime on OS X, Windows, and Linux platforms.
Additionally, Node.js provides a library with numerous JavaScript modules to simplify the development of web applications using Node.js with extensions.
Node.js = Runtime Environment + JavaScript Library
Node.js Features
Here are some crucial features that make Node.js the top choice for software architects:
- Asynchronous Programming and Event-Driven Model: All Node.js library APIs are asynchronous, meaning non-blocking. Essentially, a Node.js server doesn't wait for API data to return. The server moves on to the next API after making a call, and the event notification mechanism of Node.js helps the server receive feedback from the previous API call.
- Extremely Fast: Developed based on the JavaScript Engine V8 Engine in Chrome, the Node.js library executes code extremely fast.
- Handling Requests in a Single Threaded Environment: Node.js utilizes a Single Threaded model within an event loop. The event mechanism enables the server to provide non-blocking feedback and extend the ability to handle requests compared to traditional servers, creating limited threads to handle requests. Node.js utilizes a single-threaded program, capable of servicing more requests than traditional servers like Apache HTTP Server.
- No Buffering: Node.js applications do not store any data in memory. These straightforward applications output data in chunks.
- License: Node.js is released under the MIT license.
Which applications use Node.js?
The list on Github Wiki provides a comprehensive compilation of projects, applications, and companies utilizing Node.js, including eBay, General Electric, GoDaddy, Microsoft, PayPal, Uber, Wikipin, Yahoo!, and Yammer.
Components of Node.js
Here is a schematic representation of the key components of Node.js that Mytour will delve into further in upcoming articles.
Where is Node.js employed?
Node.js finds application in the following technology domains:
- I/O-bound applications.
- Streaming data applications.
- Data Intensive Real-time Applications (DIRT).
- JSON API-based applications.
- Single Page Applications.
Where Node.js should not be used?
Avoid using Node.js for CPU-intensive applications.
In this article, Mytour has just introduced you to what Node.js is and provided an overview of Node.js. In the next article, Mytour will continue to guide you on setting up the Node.js environment. Additionally, you can explore How are Python and JavaScript different? to distinguish and choose the most suitable programming language for yourself.
