Home >Web Front-end >Front-end Q&A >Which platform is nodejs?
nodejs is a platform based on the Chrome JavaScript runtime. It is a development platform that allows JavaScript to run on the server. It is mainly used to easily build network applications with fast response speed and easy expansion.
The operating environment of this tutorial: windows7 system, nodejs version 12.19.0, DELL G3 computer.
Node.js is a platform built on the Chrome JavaScript runtime. It is a development platform that allows JavaScript to run on the server. It makes JavaScript a script on par with server-side languages such as PHP, Python, Perl, and Ruby. language.
Node.js is an event-driven I/O server-side JavaScript environment based on Google's V8 engine. The V8 engine executes Javascript very quickly and has very good performance.
Node.js is used to easily build network applications with fast response speed and easy expansion.
What is runtime?
The so-called runtime is a series of components or tools that the program needs to rely on during operation; these tools and components are packaged together and provided to programmers, and programmers can run the programs they write. code.
For JavaScript, it needs to rely on the following components during operation:
1) Interpreter
JavaScript is a scripting language that needs to be interpreted and run at the same time. Which source code is compiled, and the whole process is completed by the interpreter. Without an interpreter, JavaScript is just a bunch of plain text files that cannot be read by computers.
2) Standard Library
We will call some built-in functions in JavaScript code. These functions are not written by ourselves, but come with the standard library.
3) Local modules
The so-called local modules are modules that have been compiled in advance. They are binary files. There is no difference in the internal structure of executable files, but they cannot be run alone. That’s all. These local modules are actually dynamic link libraries (.dll files under Windows). If you have used compiled languages such as C and C, you should be able to understand it better.
Many functions of JavaScript require the support of local modules, such as:
Cookie is used to store a small amount of user data. It is a small file on the user's computer. , the use of cookies must be supported by the file operation module.
Ajax can request data from the server through the Internet. This is a network operation and must be supported by a network library.
Trace the execution process of the code step by step and find logical errors. This process is called debugging and requires the support of a debugger.
JavaScript can operate HTML, which requires the HTML parsing module to build the DOM tree in advance.
Local modules generally encapsulate common functions and have high performance requirements, so they are usually implemented in compiled languages, such as C language, C, assembly language, etc.
The JavaScript interpreter requires the support of local modules. The standard library will also call the interface of the local module when writing. However, the JavaScript code we write generally does not directly use local modules, so Web front-end programmers cannot reach it. they.
The local module is the hero behind the scenes. It is not obvious, but it is indispensable.
Summary
Various components/tools such as interpreters, standard libraries, and local modules jointly support the running of JavaScript code. They are collectively called the JavaScript runtime.
Before Node.js, the JavaScript runtime was bundled in the browser and appeared as various modules of the browser. This means that if you want to run JavaScript code, you must start the browser. JavaScript cannot escape the palm of the browser. Its functions are greatly restricted and can only be used as a web script.
Composition of Node.js
Node.js runtime is mainly composed of V8 engine, standard library and local modules, especially local modules The amount of Node.js determines the strength of Node.js functionality from the bottom level.
1) V8 engine
The V8 engine is the JavaScript interpreter, which is responsible for parsing and executing JavaScript code.
The V8 engine draws on many technologies from the Java virtual machine and C compiler. It compiles JavaScript code directly into native machine code, and uses a caching mechanism to improve performance, which makes JavaScript run at a speed comparable to binary program.
2) Local module
Node.js integrates many high-performance open source libraries, which are implemented in C/C language, such as:
Module | illustrate |
---|---|
libuv |
A cross-platform, event-driven asynchronous I/O library. But libuv is not limited to I/O, it also provides process management, thread pool, signal processing, timer and other functions. Everything in Linux is a file. I/O here includes not only file reading and writing, but also database reading and writing, network communication (socket), etc. |
nmp | Node.js package manager can download packages, install packages, uninstall packages, update packages, upload packages, etc. |
http_parser | A lightweight HTTP parser written in C language to support web application development. |
zlib | An industrial-grade data compression/decompression module, Nodejs uses zlib to create synchronous, asynchronous or streaming compression/decompression interfaces. |
OpenSSL | This module provides many of the rigorously tested encryption/decryption features that the modern web relies on for security, such as the SSL protocol and the https protocol. |
c-ares | Asynchronous DNS query and resolution library. |
Node.js runs JavaScript code directly on the computer and gives JavaScript powerful capabilities, so there are many big differences between its local module and the runtime in the browser , and even said that there is almost no connection. Node.js almost completely abandoned the browser and built a new JavaScript runtime from scratch.
3) Standard library
Local modules are written in C/C, and Node.js is aimed at JavaScript developers, so it is necessary to encapsulate the C/C interface of the local module and provide an elegant set of JavaScript interfaces to developers, and the interface must be kept consistent on different platforms (operating systems).
This set of JavaScript interfaces is the Node.js standard library. Whether the standard library is elegant and powerful determines the ease of use of Node.js and directly affects the market performance of Node.js.
For more node-related knowledge, please visit: nodejs tutorial!
The above is the detailed content of Which platform is nodejs?. For more information, please follow other related articles on the PHP Chinese website!