Home >Web Front-end >Front-end Q&A >What does nodejs mean?

What does nodejs mean?

青灯夜游
青灯夜游Original
2021-09-14 14:59:038831browse

nodejs is a JavaScript running environment based on the Chrome V8 engine. It is a development platform that allows JavaScript to run on the server side, allowing the scripting language JavaScript to be used as a server language. Advantages of node: super high concurrency capability, use of JavaScript syntax, etc.

What does nodejs mean?

The operating environment of this tutorial: windows7 system, nodejs version 14.15.4, DELL G3 computer.

Node.js was released in May 2009 and developed by Ryan Dahl. It is a JavaScript running environment based on the Chrome V8 engine. It uses an event-driven, non-blocking I/O model to allow JavaScript to run in A server-side development platform that makes JavaScript a scripting language on par with server-side languages ​​such as PHP, Python, Perl, and Ruby.

Node.js optimizes some special use cases and provides alternative APIs to make V8 run better in non-browser environments. The V8 engine executes Javascript very quickly and has very good performance. It is based on Chrome JavaScript The platform established at runtime is used to easily build network applications with fast response speed and easy expansion.

Node.js uses the Google V8 JavaScript engine because:

  • V8 is open source software based on the BSD license

  • V8 is very fast

  • V8 focuses on network functions and is more mature in HTTP, DNS, TCP, etc.

Advantages of Node.js? Why can the scripting language JavaScript be used as a server language?

Advantage 1 Node.js has super high concurrency capabilities

The first goal of Node.js is Provides a simple development tool for creating high-performance servers and running various applications on the servers.

Compared with classic server-side languages ​​​​such as Java, PHP or .net, Node.js is like a young and energetic boy. The Java language will create a new thread for each client, and each A client connection creates a thread, which consumes 2MB of memory. That is to say. Theoretically, an 8GB server can have about 4,000 concurrently connected users. To support more users with high concurrency, additional servers must be added.

            Node.js does not create a new thread for each client connection, but only uses one thread.

This is because Node is based on a single thread (there is only one main thread to receive requests and respond)

Isn’t this slower? In fact, this is not the case.

When Node.js receives a user connection, it will trigger an internal event. Respond to user behavior through pre-defined functions. The main thread of Node.js does not care about the process of the program. In fact, there is another working thread to help the main thread of Node to access files and read the database. When the working thread reads the file data or the data in the database, The callback function will be returned to the Node main thread for execution, such as transmitting the found data back to the client and closing the connection for some operations. (This is Node non-blocking I/O, event-driven).

        Attached below is a picture I drew (please forgive me if there is any inappropriateness)

                       There should be a prototype in your head, that is - the main thread of Node.js has been busy receiving requests and responding to requests, so that it can continuously receive requests from multiple clients, and it does not have to wait stupidly. In IO operations, when the IO worker thread finds the data, it will trigger the event callback function to tell the main thread that the data has been obtained. At this time, the main thread will execute the callback function and return the data to the client.

Theoretically, a server with 8G memory can accommodate the connections of 30,000 to 40,000 users at the same time.

This is where Node shines (single-threaded, non-blocking IO, event-driven)

Advantages 2 Node uses JavaScript syntax

Node.JS The V8 engine is based on javaScript, which means that as long as you know the syntax of JS, you can use it for back-end development, but Node officially recommends ECMA Script6 (ES6) syntax .

Node breaks the past situation where JavaScript can only run in the browser, unifying the front-end and back-end programming environments, which greatly reduces development costs. (This is very friendly to front-end developers. The more things JS can do, the faster the front-end development will be)

Advantages 3 The emergence of Node.JS promotes front-end engineering Thoughts

The front-end has developed rapidly in recent years, and Node.js plays an irreplaceable role.

Node.js is not only a running environment, but also a completely new JavaScript language. It accommodates the basics of JS syntax and also adds some internal modules

Such as:

http is used Module for processing request response

                                                                                                use       using           using         use ’ s ’ s ’ through using ’ s through through ’s ’ through through through ‐ ‐ to ‐ ‐ ‐ n , ‐ and ‐ ‐ to 1 to 1 , Let us be convenient to download the bags dependent on our project through the command line

::

## NPM Install jQuery

## NPM Install -G Webpack

# NPM Install-G Create-React-APP, etc. Define module syntax ↓↓

const http = require('http')
 const  Jquery = require('jquery');

                                                                                                        . Make front-end engineering modular, develop quickly, reduce code coupling, and greatly enhance maintainability.

What is Node.js suitable for?

This is more programming related knowledge, please visit: ProgrammingTeaching! !

The above is the detailed content of What does nodejs mean?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn