Go deep in NodeJS - Part 1
Node.js

Go deep in NodeJS - Part 1

Welcome to the journey of learning Node.js! No matter whether you are a first-timer or a ninja-level developer, this sequence will walk you from the beginnings to true professional skills with Node.js. We don't want to code here but we go deep into some concepts that vanished for us during the development and deep knowledge that will take your skills to new levels. What concepts? subjects like, what is V8? what is Event Loop? What are Blocking and Non-Blocking calls in Node.js?

Let's embark on this amazing adventure!

What is Node.js?

While every other development has been overshadowed by Node.js in this fast-moving landscape of web development, the question remains: what precisely is Node.js? In essence, Node.js is an open-source, cross-platform runtime environment that provides runtime for running JavaScript in a server-side environment. Traditionally, JavaScript was restricted to client-side programs; it runs in a browser. Node.js breaks this rule by letting developers use JavaScript for backend development, eventually creating a uniform language environment across both the client and the server sides.

A Node.js application runs in a single process without creating new threads for every request. Node.js relies on asynchronous I/O operations to avoid blocking JavaScript code. All libraries of Node.js are made with the same thought of a non-blocking, event-driven I/O model. (Don't worry, I will explain all of them later). For example, Node.js will not waste cycles waiting on network I/O or database queries. It moves on, and when the response is ready, it continues. This makes Node.js efficient and capable of handling thousands of concurrent connections without the complexity of managing threads.

The Story

If you don't like history, pass this paragraph, but I believe everyone should know about history!

Ryan Dahl did the designing of Node.js in 2009. Dahl envisioned creating scalable network applications that were capable of handling large numbers of concurrent connections with high throughput. He took advantage of the V8 JavaScript engine that was developed by Google. He came out with a runtime environment that was able to handle non-blocking, event-driven I/O operations, hence quite appropriate for building real-time applications. Dahl demonstrated the project at the inaugural European JSConf on November 8, 2009. In January 2010, a package manager was introduced for the Node.js environment called npm.

Why Choose Node.js?

  • JavaScript is Everywhere: Node.js developers can use JavaScript as a backend development and frontend side.
  • Non-blocking I/O and Asynchronous Programming
  • Fast and Scalable
  • Extremely Big Ecosystem

What's Next?

Now we know what is Node.js and its usage. In the next article, we give a brief description of the V8 JavaScript Engine, NPM, and ECMA Script.

要查看或添加评论,请登录

Amir Kenarang的更多文章

  • Go deep in NodeJS - Part 4

    Go deep in NodeJS - Part 4

    This post inspired by javascripttutorial An execution context is like a box where your JavaScript code runs. It keeps…

  • Go deep in NodeJS - Part 3

    Go deep in NodeJS - Part 3

    ECMAScript ECMAScript is a standard for scripting languages, including JavaScript. It is best known as a JavaScript…

  • Go deep in NodeJS - Part 2

    Go deep in NodeJS - Part 2

    V8 is the JavaScript engine that was Google's open-source project. It was developed for running JavaScript codes in the…

    1 条评论

社区洞察

其他会员也浏览了