Zum Hauptinhalt springen




Nodejs ist ein unglaubliches Werkzeug, mit dem wir arbeiten können Javascript jenseits des Browsers.

- Was meinst du damit?

Laut seiner offiziellen Nodejs-Website ist es:

"Es ist eine JavaScript-Laufzeit, die mit der V8-JavaScript-Engine von Chrome erstellt wurde."

Sicherlich fragst du dich so etwas wie ... Und was bedeutet das?

Na du siehst, In der Vergangenheit war Javascript nicht einmal so toll, nicht so offen wie jetzt. Javascript in seiner Konzeption war ursprünglich entwickelt von Brendan eich für netScape und es war streng mit Browsern verbunden.

Es war nicht bis 2009 Nachdem Google der Welt seinen Google Chrome-Browser zur Verfügung gestellt hatte, befreite es Javascript dank seiner V8-JavaScript-Engine aus seinem Web-Gefängnis.

- Und was ist der V8-Motor? (klingt wie ein Energy-Drink)

Der Motor ist die Software, die JavaScript-Code interpretieren und das wiederum führt ein Skript gemäß den gegebenen Anweisungen aus. Alle Webbrowser haben eine JavaScript-Engine, Safari verwendet JavaScriptCore, FireFox verwendet Spinnenaffe, Microsoft Edge verwendet Chakra und in diesem Fall Google Chrome mit V8, das ist auch teilweise der Motor von Nodejs.

Ressource von Rainer hahnekamp

Der Start der V8 Es war ein Wendepunkt in der Motorengeschichte. V8 Es ersetzte das relativ langsame JavaScript-Rendering des Browsers.

Der Grund für diese enorme Verbesserung liegt hauptsächlich in der Kombination von Interpreter und Compiler. Heute verwenden alle vier Motoren diese Technik. Der Interpreter führt den Quellcode fast sofort aus. Der Compiler übersetzt den Quellcode in Maschinencode, den das System des Benutzers direkt ausführt.

Du fragst dich vielleicht ...

- Hat das alles am Ende des Tages mit Nodejs zu tun?

Nun, die Beziehung ist die eines Tages Ryah Dahll, der Schöpfer von NodejsAuf der Suche nach einer Möglichkeit, Webserver zu erstellen, die die Anforderungen des aktuellen Webs berücksichtigen, dh eine große Anzahl von Benutzern und alle, die in Echtzeit darauf zugreifen, fand er die Google V8 Engine und ließ es funktionieren außerhalb des BrowsersDas heißt, im Betriebssystem und von diesem Moment an ist es geboren Nodejs. und was präsentiert es in der JsConf, eine Javascript-Konferenz.

Nodejs ist etwas Besonderes, weil laut seiner offiziellen Website:

"Verwendet ein E / A-Modell für nicht blockierende Ereignisse, das es leicht und effizient macht und sich ideal für Echtzeitanwendungen mit intensivem Datenaustausch über verteilte Geräte eignet."

Wie Sie sehen werden, handelt es sich nicht um ein einfaches Konzept, insbesondere wenn Sie gerade erst anfangen. Daher werde ich zunächst detailliert beschreiben, was Nodejs ist:

Nodejs Es handelt sich um eine Javascript-Ausführungsumgebung, die mit der Google Chrome V8-Engine erstellt wurde, einem Modell für nicht blockierende und ereignisorientierte Vorgänge.

Nun, das hilft auch nicht viel, aber lassen Sie mich aus dieser Aussage erklären.

Nodejs basiert auf dem V8-Engine, die Google erstellt hat, um Javascript in Chrome zu interpretieren, Diesen Motor ausnutzen Nodejs, Kompilieren Sie den Code JavaScript in die Muttersprache, Neben einer großen Ausführungsgeschwindigkeit ist die Einfachheit der Schnittstelle, die Nodejs Es ist so unglaublich, dass das Starten eines Servers weniger als 20 Codezeilen erfordert, zum Beispiel:

// Das HTTP-Modul wird geladen var http = require ("http"); // Erstellen Sie den HTTP-Server und definieren Sie die // Überwachung von Anforderungen an Port 8000 http.createServer (Funktion (Anforderung, Antwort) {// Der HTTP-Header wird mit dem HTTP-Status (OK: 200) und dem Inhaltstyp definiert response.writeHead (200, {'Content-Type': 'text / plain'}); // Antworte im Antworttext mit der Nachricht "Hello World" response.end ('Hello World! n');}) hören (8000); // Die URL für den Zugriff auf den Server lautet console.log ('Server in URL http://127.0.0.1:8000/');

Die Besonderheit von Nodejs liegt in einem Stück namens EventLoop.

Veras Nodejs entsteht als Antwort auf ein Problem mit der traditionellen sequentiellen Programmierung. In Sprachen wie Java, C ++ oder C#, die auf Ausführungsthreads basieren, gibt es ein theoretisches Maximum, das durch den Speicher angegeben wird, der von jedem Ausführungsthread auf dem Computer verbraucht wird, auf dem er bereitgestellt wird.

Nodejs stattdessen ist es einzelner Thread(oder von einzelner Thread) heißt dieser einzelne Ausführungsthread EventLoop und hat die Funktion, von Natur aus Javascript-Code auszuführen.

awdRessource von Digitales Paradigma

Vor dem Eintreffen von Ein- / Ausstiegsvorgängen(Input-Output) delegiert ihre Ausführung an Subsysteme, die speziell für die Verarbeitung im Hintergrund vorbereitet sind.

Auf diese Weise wird der Ausführungsthread nicht blockiert (nicht blockierend), während die EventLoop auf die Funktion verweist, die ausgeführt wird, sobald die Offline-Verarbeitung abgeschlossen ist (Rückrufen).

Ein einfacher Weg, um zu verstehen, was die EventLoop ist vorzustellen, dass das System wie ein Restaurant ist, in dem wir einen einzigen Arbeiter haben: einen Kellner. Unser Kellner ist dafür verantwortlich, die Leute am Tisch zu setzen und ihre Essensbestellung entgegenzunehmen (asynchrone Aufgabe)Wenn der Kellner das Essen zubereiten müsste, würden wir ihn blockieren, damit er am Nebentisch teilnehmen kann.

Stattdessen schickt der Kellner die Bestellung in die Küche (threadPool), in dem einer der Köche es zubereitet. Wenn das Essen fertig ist, ruft er den Kellner an, um es zum Tisch zu bringen. Unser Kellner hat die Korrespondenz zwischen dem Essen und der Tischnummer notiert, um zu wissen, wo er das Essen ausliefern muss (Rückrufen).

Ich hoffe, diese Einführung hat ausgereicht, um Interesse daran zu wecken, mehr darüber zu erfahren Nodejs. Weitere Informationen und Anwendungsbeispiele auf dieser Plattform finden Sie in der offiziellen Dokumentation von Nodejs.