Node.js Tutorial


Node.js is a minimalist framework for server-side JavaScript applications. It was created by Ryan Dahl, Eero Koskinen, and Charles Nutter at the University of Washington in 2009. The first release of Node.js was built on Google's V8 engine and only included the core API necessary to work with JavaScript on a server-side environment. Since then, Node has grown into a rich ecosystem of modules that provide additional functionality for developers and build upon its foundation by providing modern asynchronous event callbacks and streams (among other things).

A Minimalist Guide To Node.js

Node.js is a minimalist framework for server-side JavaScript applications. It's designed to run as a single-threaded event-driven I/O kernel with an emphasis on concurrency and scalability. Node was created by Ryan Dahl, with help from Jeremy Ashkenas, and released in 2009 under the MIT license.

Node uses an event-driven, non-blocking I/O model that makes it lightweight and efficient; however, it can scale to handle large numbers of simultaneous connections and users from multiple data centers (e.g., cloud servers). Because of this efficiency, Node has been used successfully by companies that do not have dedicated resources for developing their own Web servers or virtual machines (VMs).

The Anatomy Of An HTTP Transaction

The HTTP protocol is a stateless protocol, which means that each request and response are independent of one another. This makes it possible to send multiple requests over one TCP connection (like in a web browser) or even UDP connections (like on mobile phones).

The HTTP server returns responses in the form of HTTP status codes:

File System

The file system API is a core feature of Node.js, and it can be used to read and write files from the command line.

The file system API is asynchronous, cross platform (Windows, Linux/Unix/MacOS), and can be used to read and write files from the command line.


It can be used to identify files and directories. A path is often represented as an array, with each item in the array representing one path element:

A relative path refers to a file or directory relative to its containing directory (or parent). An absolute path points directly at where you want to go in your filesystem, no matter how many levels up or down there are between here and there. For example, if you wanted to write some code for NodeJS#1 project located inside /Users/jane$/.ext/Developer/


OS is an acronym for Operating System. An operating system is a software program that manages hardware and software resources and provides common services for computer programs. It allows multiple users to share the same computer, but they can also use their personal computers separately.

The OS acts as an intermediary between application programs and the underlying hardware, by providing facilities such as memory management, input/output control (I/O), file management etc., which are needed by applications written in various languages including Java JVM bytecode interpreter bytecode interpreter

Buffers, Streams, and Events

Buffers, streams and events are the three main ways that you can interact with data in Node.js.

Buffers are used to store and retrieve data from the server. They're like a buffer on your hard drive or RAM (random access memory). You can use them like any other kind of storage device: write something into it, read something out of it and then delete whatever you wrote last time!

Streams on the other hand allow us to read and write large amounts of data asynchronously without blocking each other or waiting for an entire file-size worth of information at once (which would take forever). Streams also include error handling so if there's any corruption during transmission then we'll automatically retry sending until we reach our destination successfully."

Node.js is a minimalist framework for server-side JavaScript applications

Node.js is a minimalist framework for server-side JavaScript applications. It was created by Ryan Dahl, who wanted to create an event-driven development model from the ground up, without any dependencies on the npm package manager or other external libraries.

Node.js is designed to build scalable network programs that can handle lots of concurrent connections (like Google's V8 JavaScript engine). Node applications are typically built upon AMD and CommonJS modules which enable code sharing across multiple projects as well as ease of dependency management between them; this allows you to reuse existing frameworks such as React or AngularJS within your own project without needing separate build steps for each module/library used in your application.


If you’re looking to learn more about Node.js or build your own website, these resources should help get you started.