Dev Depot: Moving Beyond Php With Node.js

According to software engineer Constantine Aaron Cois, the web is changing. “The web used to be about consumption: Viewing web pages, watching videos, looking at pictures of cats. Of course, its still about pictures of cats, but the web has become more about interaction,” Cois stated. “Users around the world want to interact with each other, and they want to do it in real time. Chat, gaming, constant social media updates, collaboration — each of these features requires real time communication between users, clients, and servers across the web.”

“What’s more,” says Cois, “this real-time communication needs to happen at massive scale, supporting hundreds, thousands, even millions of users.”

Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient and perfectly suited for building data-intensive real-time applications running across distributed devices.

Enter Node.js (www.nodejs.org), a platform built on Chrome’s JavaScript runtime for easily building fast, scalable network applications to serve the needs of today’s web user.

Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient and perfectly suited for building data-intensive real-time applications running across distributed devices. The Node development team offers a simple “hello world” web server example to show that many client connections can be handled concurrently, since each connection is only a small heap allocation.

“Node tells the operating system (through epoll, kqueue, /dev/poll, or select) that it should be notified when a new connection is made, and then it goes to sleep,” a Node rep explains. “If someone new connects, then it executes the callback.”

Contrast this to the more common concurrency model that employs OS thread-based networking, which is often relatively inefficient and very difficult to use, being plagued by process blocks. With Node, nothing blocks, so less-than-expert programmers are able to develop fast and reliable systems.

“Node will show much better memory efficiency under high-loads than systems which allocate 2mb thread stacks for each connection,” the rep clarified. “Furthermore, users of Node are free from worries of dead-locking the process — there are no locks. Almost no function in Node directly performs I/O, so the process never blocks.”

According to its developers, Node is influenced by and similar in design to systems such as Ruby’s Event Machine or Python’s Twisted, but takes the event model further by presenting the event loop as a language construct instead of as a library.

For example, while other systems may issue a blocking call to start the eventloop, defining behavior through callbacks at the beginning of a script and at the end to start a server through a blocking call such as EventMachine::run(), there is no such start-the-event-loop call in Node.

“Node simply enters the event loop after executing the input script [and] exits the event loop when there are no more callbacks to perform,” the rep reveals. “This behavior is like browser JavaScript [where] the event loop is hidden from the user.”

Other nods to the web can also be found in Node, which treats HTTP as a first class protocol, with a library that has grown out of experiences in developing and working with web servers. For example, while streaming data through web frameworks is often impossible, Node’s HTTP parser and API attempt to correct these problems, and when coupled with Node’s event driven infrastructure, it makes a solid foundation for libraries and web frameworks.

For developers concerned about multiple-processor concurrency and using threads to scale programs to multi-core computers, with Node, new processes can be started via the child_process.fork(), with these processes being scheduled in parallel. For load balancing incoming connections across multiple processes, the cluster module provides a solution.

As for why anyone would want to use JavaScript on a server-side application, Cois notes that although JavaScript has traditionally been relegated to menial tasks in the web browser, it’s actually a fully-functional, highly capable programming language.

Related:  

Copyright © 2024 Adnet Media. All Rights Reserved. XBIZ is a trademark of Adnet Media.
Reproduction in whole or in part in any form or medium without express written permission is prohibited.

More Articles

opinion

To Cloud or Not to Cloud, That Is the Question

Let’s be honest. It just sounds way cooler to say your business is “in the cloud,” right? Buzzwords make everything sound chic and relevant. In fact, someone uninformed might even assume that any hosting that is not in the cloud is inferior. So what’s the truth?

Brad Mitchell ·
opinion

Upcoming Visa Price Changes to Registration, Transaction Fees

Visa is updating its fee structure. Effective April 1, both the card brand’s initial nonrefundable application fee and annual renewal fee will increase from $500 to $950. Visa is also introducing a fee of 10 cents for each transaction, and 10 basis points — 0.1% — on the payment volume of certain merchant accounts.

Jonathan Corona ·
opinion

Unpacking the New Digital Services Act

Do you hear the word “regulation” and get nervous? When it comes to the EU’s Digital Services Act (DSA), you shouldn’t worry. If you’re complying with the most up-to-date card brand regulations, you can breathe a sigh of relief.

Cathy Beardsley ·
opinion

The Perils of Relying on ChatGPT for Legal Advice

It surprised me how many people admitted that they had used ChatGPT or similar services either to draft legal documents or to provide legal advice. “Surprised” is probably an understatement of my reaction to learning about this, as “horrified” more accurately describes my emotional response.

Corey D. Silverstein ·
profile

WIA Profile: Holly Randall

If you’re one of the many regular listeners to Holly Randall’s celebrated podcast, you are already familiar with her charming intro spiel: “Hi, I’m Holly Randall and welcome to my podcast, ‘Holly Randall Unfiltered.’ This is the show about sex, the adult industry and the people in it.

Women In Adult ·
trends

What's Hot Now: Leading Content Players on Trending Genres, Monetization Strategies

The juggernaut creator economy hurtles along, fueled by ever-ascendant demand for personality-based authenticity and intimacy — yet any reports of the demise of the traditional paysite are greatly exaggerated.

Alejandro Freixes ·
opinion

An Ethical Approach to Global Tech Staffing

One thing my 24-year career as a technologist working to support the online adult entertainment industry has taught me about is the power of global staffing. Without a doubt, I have achieved significantly more business success as a direct result of hiring abroad.

Brad Mitchell ·
opinion

Finding the Right Payment Partner

Whenever I am talking with businesses that are just getting started, one particular question comes up a lot: “How do I get a merchant account?” It’s a simple question, but it has a complicated answer.

Jonathan Corona ·
opinion

The Taxman Cometh for Every Business

February may be the month of romance, but it is also a time when we need to think about something that inspires very little love: taxes. April is not far away, and the taxman is always waiting. This year, federal and most state income taxes are due Monday, April 15.

Cathy Beardsley ·
opinion

The Continuous Journey of Legal Compliance in Adult

The adult entertainment industry is teeming with opportunity but is also fraught with challenges, from anticipating consumer behavior to keeping up with technological innovation. The most labyrinthine of all challenges, however, is the world of legal compliance.

Corey D. Silverstein ·
Show More