Skip to main content

Introduction to Node.js

Learn Node.js

Introduction to Node.js

Hello Folks! This blog is for the new Node.js enthusiasts who wants to learn node.js. Here you will learn node.js online from me and you will learn node.js for free. I will guide on how to learn node.js and will help you to learn node.js from scratch.

Prerequisites: 

Welcome to the world of Back-end web development. Throughout this blog posts, I will guide you to become a backend developer. Before we dive deep into the topic, let us brush up the prerequisites. A website has 2 parts, the "Frontend" and the "Backend". The Front-end of a website generally refers to the side of the website with which the user interacts. It's the User Interface(U.I.)  of the website. In simple terms, it consists of all those elements which we see and interact with after the web page loads in our computer. It is sometimes also known as "Client-side" of the web page. The Backend web development refers to the server-side development that is backend is about all the activities happening behind the scenes of a website. Now, what happens actually behind the scenes? The back-end of a website consists of a server, an application and a database, mainly focuses on databases, scripting, and the architecture of websites. When we type a URL in our browser, a request goes to DNS server. The DNS resolve the IP for the URL and send it to the browser so that browser can request that host for the website. To some extent, we can conclude servers as the heart of the network. Databases are responsible for storing data and it is from where the data is rendered to the client-side. It is much like the brain of the network. A database server is a server which provides database services to computers and other computer programs, as defined by the client–server architecture for web applications. Likewise, an application server is a software framework that provides both facilities to create web applications and a server environment to run these applications. It has to be remembered that database and database server is not the same thing. Similarly, an application and an application server is also different.

Introduction:

Now, we come to the main topic. As per the Node.js official documentation, Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. Before you mess up with the terms used here, let me explain what the official definition actually means by breaking it into small parts. When we run a JavaScript code or work with any JavaScript frameworks, the code gets executed in the browser. So, in that case our browser is the JavaScript runtime environment.  The JavaScript(JS) code is converted into machine code with the help of a JavaScript parser. In case of Google Chrome, it's V8, for Firefox it's SpiderMonkey and for Microsoft Edge it's Chakra. There are couples of libraries on which Node.js depends to work properly.
Most important are: Chrome's V8 & LIBUV.
If V8 was not there then Node.js had no way to understand, the JS code we write in the Node.js environment. LIBUV is an opensource library with strong focus on asynchronous I/O. this gives access to OS, file system, networking and more. This is also responsible for 2 main features of Node.
1. The Event Loop.
2. The Thread Pool.
Apart from all of this, Node.js also depends on:
1. http-parser for parsing http.
2. c-ares for some DNS request staff.
3. OpenSSL for cryptography.
4. zlib for compression.
We will discuss all of the above points in the upcoming posts. But let us first focus on the primary idea.
In simple words, Node.js lets developers use JavaScript to write command line tools and for server-side scripting-running scripts server-side to produce dynamic web page content before the page is sent to the user's web browser. Node.js is thus used to provide fast stable and efficient backend services.

Characteristics of Node.js:

1. Fast, efficient and highly scalable.
2. Event driven, non-blocking I/O Model.
3. Asynchronous in nature.
4. Single Threaded.
5. It's Open Source.
6. We use only one language at both ends of the website. To learn more about Node.js visit : More about Node.js.
To learn about how to download Node.js visit : Download Node.js

Comments

  1. Nice explaination in easy language. Hope we can get some video tutorials in future about the practical application of Node JS

    ReplyDelete
    Replies
    1. I will try my best to bring out a YouTube channel. Kindly stay tuned with the blog and share with your friends!

      Delete
  2. Good explanation . Easy to understand. Put more diagrams and some practical applications .

    ReplyDelete
    Replies
    1. Yup sure. But these are much theoritical concepts....in the later sections we will have a lot of diagrams. Graphs and charts.

      Delete
  3. I was checking constantly this blog and I am impressed! Extremely helpful information.Thanks for sharing
    Node JS Online training
    Node JS training in Hyderabad

    ReplyDelete
  4. As we know there are many companies which are converting into AWS Big data consultant with the right direction we can definitely predict the future.

    ReplyDelete
  5. This comment has been removed by the author.

    ReplyDelete
  6. Hi there,I enjoy reading through your article post. Thank you for sharing.
    Mean Stack Online Training

    Mean Stack Training in Hyderabad

    ReplyDelete
  7. There is a high demand for this advanced JS framework among web developers. It lets them develop robust websites and applications for different verticals. And these are the reasons which push business to hire node js web development companies out of leading node js development companies available in the global market for your website requirements.

    ReplyDelete
  8. Thank you for writing this informative post. Looking forward to read more.
    Best Web Development Company

    ReplyDelete
  9. http://chennaitraining.in/dotnet-training-in-chennai/
    http://chennaitraining.in/etl-testing-training-in-chennai/
    http://chennaitraining.in/salesforce-admin-training-in-chennai/
    http://chennaitraining.in/salesforce-developer-training-in-chennai/
    http://chennaitraining.in/sap-hana-training-in-chennai/
    http://chennaitraining.in/sap-mm-training-in-chennai/
    http://chennaitraining.in/sap-sd-training-in-chennai/

    ReplyDelete

Post a Comment

Popular Posts

More about Node.js

More about Node.js Hello Folks! Welcome to the part 2 of the Introduction to Node.js blog. Before you read this blog further, it is must to read the previous blogs for better understanding. Here is the Introduction to Node.js link. So let's proceed to learn node.js. In this post we will mainly discuss on node.js architecture, the event loop and the thread pool.
 Node.js Architecture:As said before, Node.js is  majorly dependent upon the Chrome's V8 engine and LIBUV library for its working. Now I guess you know what is V8 Engine and LIBUV library from the Part 1 of this blog. It is to be mentioned that LIBUV is a library in Node.js which is written in C++ and V8 Engine also uses C++ besides using JavaScript. Therefore, Node.js is not just JavaScript as you might have thought. Now, its time for us to discuss in detail the "Event Loop" and the "Thread Pool" in Node.js. The Event Loop enables Node.js to perform non-blocking I/O operations in Node.js, even though No…

Download Node.js for Windows

Hello Folks! If you have not read the previous two blogs, I will highly encourage you to go and read them, before you start with this.
Introduction to Node.js
More about Node.js
We have learned a lot of theories and now its time to get our hands dirty. We will download node.js in this post. Though we will again discuss some theories in the later posts, in this blog I will teach you, how to download node.js and configure your computer to follow the later blogs.
I will discuss it in step by step and I will highly recommend you to follow the steps with me.
Step -1:First visit the website : https://nodejs.org/en/
Something like this will be shown :









See, by default as my PC has Windows 8.1 and it has 64 bit architecture so I can download from here.
Major Node. js versions enter Current release status for six months, which helps library authors time to contribute. LTS release status is "long-term support", which generally guarantees that bugs will be fixed for a total of 30 months.
But if…