Heim >Web-Frontend >js-Tutorial >Was macht NodeJS?
nodejs ist eine plattformübergreifende Open-Source-Laufumgebung, die JavaScript auf der Serverseite ausführen kann. Node.js verwendet den von Google entwickelten V8-Laufcode und nutzt Technologien wie ereignisgesteuerte, nicht blockierende und asynchrone Ein- und Ausgabe Modelle verbessern die Leistung und können das Übertragungsvolumen und die Größe der Anwendung optimieren.
Die Betriebsumgebung dieses Artikels: Windows 7-System, NodeJS-Version 10.16.2, DELL G3-Computer.
Was macht nodejs?
Node.js ist eine plattformübergreifende Open-Source-Betriebsumgebung, die JavaScript auf der Serverseite ausführen kann. Node.js ist Eigentum der OpenJS Foundation (ehemals Node.js Foundation, die mit der JS Foundation fusionierte) und wird von ihr verwaltet. Es ist ein Projekt der Linux Foundation. Node.js verwendet den von Google entwickelten V8-Laufcode und nutzt Technologien wie ereignisgesteuerte, nicht blockierende und asynchrone Eingabe- und Ausgabemodelle, um die Leistung zu verbessern und das Übertragungsvolumen und den Umfang von Anwendungen zu optimieren. Diese Techniken werden typischerweise in datenintensiven Echtzeitanwendungen eingesetzt.
Node.js Die meisten Grundmodule sind in der JavaScript-Sprache geschrieben. Vor dem Aufkommen von Node.js wurde JavaScript normalerweise als clientseitige Programmiersprache verwendet, und in JavaScript geschriebene Programme liefen häufig im Browser des Benutzers. Das Aufkommen von Node.js ermöglicht die Verwendung von JavaScript für die serverseitige Programmierung. Node.js enthält eine Reihe integrierter Module, die es dem Programm ermöglichen, als eigenständiger Server ohne Apache HTTP Server oder IIS zu laufen.
nodejs Einführung:
Node.js ist derzeit eine sehr heiße Technologie, aber ihre Geburtserfahrung ist sehr seltsam.
Wie wir alle wissen, war JavaScript nur wenige Monate nach der Entwicklung von JavaScript durch Netscape tatsächlich der einzige Standard für die Front-End-Entwicklung.
Später besiegte Microsoft Netscape durch den IE und vereinheitlichte den Desktop. Infolgedessen machte der Browser einige Jahre lang keine Fortschritte. (Der alte IE 6, der 2001 eingeführt wurde, wird noch heute von Menschen verwendet!)
Es gibt keine Entwicklung ohne Konkurrenz. Microsoft glaubte, dass der IE6-Browser bereits sehr vollständig sei und fast keinen Raum für Verbesserungen biete, und löste daher das IE6-Entwicklungsteam auf! Google geht jedoch davon aus, dass die neue Generation von Browsern, die moderne Webanwendungen unterstützen, gerade erst begonnen hat, insbesondere die Leistung der Browser-Engine, die für die Ausführung von JavaScript verantwortlich ist, kann um das Zehnfache verbessert werden.
Zuerst brachte Mozilla 2002 den Firefox-Browser mit Hilfe des Erbes von Netscape auf den Markt, das sein Leben geopfert hatte. Dann brachte Apple 2003 den Safari-Browser mit WebKit-Kern auf den Markt, der auf dem Open-Source-KHTML-Browser basierte, jedoch nur auf dem Mac-Plattform.
Anschließend begann auch Google, einen eigenen Browser zu entwickeln. Sie fanden auch Gefallen am WebKit-Kern und starteten den Chrome-Browser, der auf dem WebKit-Kern basiert.
Der Chrome-Browser funktioniert auf allen Windows- und Mac-Plattformen, und Google ist der Ansicht, dass der Browser über eine sehr leistungsstarke JavaScript-Engine verfügen muss, um moderne Webanwendungen auszuführen. Daher hat Google selbst eine leistungsstarke JavaScript-Engine namens V8 unter BSD-Lizenz entwickelt .
Der moderne Browserkrieg hat den IE-Browser von Microsoft weit hinter sich gelassen, weil das erfahrenste und kampfeffektivste Browserteam aufgelöst wurde! Rückblickend und nachgeholt habe ich festgestellt, dass WebKit, das HTML5 unterstützt, zum Standard auf Mobiltelefonen geworden ist und der IE-Browser seitdem von den Mainstream-Mobilgeräten isoliert ist.
Was hat der Browserkrieg mit Node zu tun?
Es gibt einen Typen namens Ryan Dahl. Sein Job ist es, leistungsstarke Webdienste in C/C++ zu schreiben. Für eine hohe Leistung sind asynchrone E/A und ereignisgesteuert die Grundprinzipien, aber das Schreiben in C/C++ ist zu mühsam. Also begann dieser Freund sich vorzustellen, Hochsprachen zur Entwicklung von Webdiensten zu verwenden. Er evaluierte viele Hochsprachen und stellte fest, dass, obwohl viele Sprachen sowohl synchrone E/A als auch asynchrone E/A bereitstellen, Entwickler, sobald sie synchrone E/A verwenden, nicht mehr zu faul sind, asynchrone E/A zu schreiben, so Ryan am Ende zielt auf JavaScript ab.
Da JavaScript in einem einzelnen Thread ausgeführt wird und überhaupt keine synchronen E/A-Vorgänge ausführen kann, führt dieser „Defekt“ von JavaScript dazu, dass es nur asynchrone E/A verwendet.
Die Entwicklungssprache wurde ausgewählt und eine Laufzeit-Engine ist ebenfalls erforderlich. Dieser Typ hat einmal darüber nachgedacht, selbst eine zu schreiben, hat aber klugerweise aufgegeben, da V8 eine Open-Source-JavaScript-Engine ist. Lassen Sie Google in die Optimierung von V8 investieren und wir werden es nur für die Nutzung modifizieren, ohne dafür bezahlen zu müssen. Dies ist ein sehr kostengünstiges Angebot.
Also startete Ryan 2009 offiziell ein Open-Source-Webserverprojekt mit dem Namen Node.js, das auf der JavaScript-Sprache und der V8-Engine basiert. Obwohl der Name sehr kitschig ist, brachte Node JavaScript zum ersten Mal in die Back-End-Serverentwicklung ein, und es gab bereits unzählige JavaScript-Entwickler auf der Welt, sodass Node plötzlich populär wurde.
Welche Vorteile hat die Ausführung von JavaScript auf Node im Vergleich zu anderen Back-End-Entwicklungssprachen?
Der größte Vorteil besteht darin, dass es mithilfe des natürlichen ereignisgesteuerten Mechanismus von JavaScript und der V8-Hochleistungs-Engine einfach ist, leistungsstarke Webdienste zu schreiben.
Zweitens ist die JavaScript-Sprache selbst eine vollständig funktionale Sprache. Während der Front-End-Entwicklung schreiben Entwickler oft beiläufiger, was den Leuten das Gefühl gibt, dass JavaScript eine „Spielzeugsprache“ ist. In der Node-Umgebung kann jedoch durch modularen JavaScript-Code, funktionale Programmierung und ohne Berücksichtigung von Browserkompatibilitätsproblemen der neueste ECMAScript 6-Standard direkt verwendet werden, um die technischen Anforderungen vollständig zu erfüllen.
Ich habe auch von io.js gehört, was zum Teufel ist das?
Da Node.js ein Open-Source-Projekt ist, wurde es zwar von der Community vorangetrieben, hinter den Kulissen jedoch stets von der Joyent Company finanziert. Da eine Gruppe von Entwicklern mit der Strategie von Joyent unzufrieden war, trennten sie 2014 das io.js-Projekt vom Node.js-Projekt und beschlossen, es separat zu entwickeln, aber die beiden sind tatsächlich kompatibel.
Allerdings gibt es in China ein altes Sprichwort, das heißt: „Wenn wir für lange Zeit spalten, müssen wir uns vereinen; wenn wir für lange Zeit vereinen, müssen wir spalten.“ Nicht lange nach der Trennung erklärte Joyent, man wolle sich versöhnen, und so beschloss das io.js-Projekt, zu Node.js zurückzukehren.
Der konkrete Ansatz besteht darin, dass io.js in Zukunft zuerst neue Funktionen hinzufügt. Wenn alle mit dem Test zufrieden sind, werden die neuen Funktionen zu Node.js hinzugefügt. io.js ist die „Early Adopter-Version“, während Node.js die stabile Online-Version ist, die der Beziehung zwischen Fedora Linux und RHEL entspricht.
Empfohlenes Lernen: „nodejs-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas macht NodeJS?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!