Node.js — About Node.js® (2024)

As an asynchronous event-driven JavaScript runtime, Node.js is designed to buildscalable network applications. In the following "hello world" example, manyconnections can be handled concurrently. Upon each connection, the callback isfired, but if there is no work to be done, Node.js will sleep.

const { createServer } = require('node:http');const hostname = '127.0.0.1';const port = 3000;const server = createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World');});server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`);});

This is in contrast to today's more common concurrency model, in which OS threadsare employed. Thread-based networking is relatively inefficient and verydifficult to use. Furthermore, users of Node.js are free from worries ofdead-locking the process, since there are no locks. Almost no function inNode.js directly performs I/O, so the process never blocks except when the I/O is performed usingsynchronous methods of Node.js standard library. Because nothing blocks, scalable systems are veryreasonable to develop in Node.js.

If some of this language is unfamiliar, there is a full article onBlocking vs. Non-Blocking.

Node.js is similar in design to, and influenced by, systems like Ruby'sEvent Machine and Python's Twisted. Node.js takes the event model a bitfurther. It presents an event loop as a runtime construct instead of as a library. In other systems,there is always a blocking call to start the event-loop.Typically, behavior is defined through callbacks at the beginning of a script, andat the end a server is started through a blocking call like EventMachine::run().In Node.js, there is no such start-the-event-loop call. Node.js simply enters the event loop after executing the input script. Node.jsexits the event loop when there are no more callbacks to perform. This behavioris like browser JavaScript — the event loop is hidden from the user.

HTTP is a first-class citizen in Node.js, designed with streaming and lowlatency in mind. This makes Node.js well suited for the foundation of a weblibrary or framework.

Node.js being designed without threads doesn't mean you can't takeadvantage of multiple cores in your environment. Child processes can be spawnedby using our child_process.fork() API, and are designed to be easy tocommunicate with. Built upon that same interface is the cluster module,which allows you to share sockets between processes to enable load balancingover your cores.

Reading Time
3 min read
Contribute
Edit this page
Node.js — About Node.js® (2024)
Top Articles
Is XRP Crypto Coin high risk? (Crypto:XRP) - Macroaxis
Where have property prices fallen the most in France?
Golden Abyss - Chapter 5 - Lunar_Angel
Tyler Sis 360 Louisiana Mo
Tmf Saul's Investing Discussions
Amc Near My Location
Devon Lannigan Obituary
Archived Obituaries
Gabrielle Abbate Obituary
GAY (and stinky) DOGS [scat] by Entomb
J Prince Steps Over Takeoff
Jasmine
OnTrigger Enter, Exit ...
Walgreens On Nacogdoches And O'connor
MindWare : Customer Reviews : Hocus Pocus Magic Show Kit
What is the difference between a T-bill and a T note?
Hoe kom ik bij mijn medische gegevens van de huisarts? - HKN Huisartsen
The best TV and film to watch this week - A Very Royal Scandal to Tulsa King
White Pages Corpus Christi
Kountry Pumpkin 29
What Time Does Walmart Auto Center Open
27 Paul Rudd Memes to Get You Through the Week
Yugen Manga Jinx Cap 19
Drift Hunters - Play Unblocked Game Online
Restored Republic June 16 2023
Elite Dangerous How To Scan Nav Beacon
Victory for Belron® company Carglass® Germany and ATU as European Court of Justice defends a fair and level playing field in the automotive aftermarket
Darrell Waltrip Off Road Center
Craigslist Auburn Al
Stubhub Elton John Dodger Stadium
Craigslist Middletown Ohio
Bursar.okstate.edu
Sam's Club Near Wisconsin Dells
Citibank Branch Locations In Orlando Florida
Ma Scratch Tickets Codes
Craigslist Hamilton Al
How to Watch the X Trilogy Starring Mia Goth in Chronological Order
Edict Of Force Poe
Why Gas Prices Are So High (Published 2022)
Body Surface Area (BSA) Calculator
Tyler Perry Marriage Counselor Play 123Movies
Achieving and Maintaining 10% Body Fat
Crystal Glassware Ebay
Craigslist Mendocino
20 Mr. Miyagi Inspirational Quotes For Wisdom
Hampton In And Suites Near Me
Blog Pch
Brutus Bites Back Answer Key
10 Bedroom Airbnb Kissimmee Fl
The Goshen News Obituary
Tamilblasters.wu
Latest Posts
Article information

Author: Melvina Ondricka

Last Updated:

Views: 5793

Rating: 4.8 / 5 (48 voted)

Reviews: 95% of readers found this page helpful

Author information

Name: Melvina Ondricka

Birthday: 2000-12-23

Address: Suite 382 139 Shaniqua Locks, Paulaborough, UT 90498

Phone: +636383657021

Job: Dynamic Government Specialist

Hobby: Kite flying, Watching movies, Knitting, Model building, Reading, Wood carving, Paintball

Introduction: My name is Melvina Ondricka, I am a helpful, fancy, friendly, innocent, outstanding, courageous, thoughtful person who loves writing and wants to share my knowledge and understanding with you.