Heim  >  Artikel  >  Web-Frontend  >  Eine kurze Analyse, wie Front-End-Entwickler die Node-Sprache lernen können?

Eine kurze Analyse, wie Front-End-Entwickler die Node-Sprache lernen können?

青灯夜游
青灯夜游nach vorne
2023-02-14 19:36:382232Durchsuche

Eine kurze Analyse, wie Front-End-Entwickler die Node-Sprache lernen können?

In diesem Artikel sind die Notizen zusammengestellt, die ich gemacht habe, als ich Node.js zum ersten Mal gelernt habe, um Lesern, die sich für die Sprache Node.js interessieren, eine prägnante Einführung in das zu geben, was Node.js ist und wie man diese Sprache lernt.

1. Was ist Node.js?

Node.js ist eine JavaScript-Laufzeitumgebung basierend auf der Chrome V8-Engine, die 2009 von Ryan Dahl entwickelt wurdeum das Problem der hohen Parallelität von Webservern zu lösen.

Aus dieser Definition können wir die drei Hauptmerkmale von Node.js erkennen:

  • Der Zweck besteht darin, das Problem der hohen Parallelität von Webservern zu lösen;

  • Die Grundlage ist Chrome V8-Engine ;

  • Essence ist eine JavaScript-Laufzeitumgebung;

Daher müssen wir zunächst die oben genannten drei Schlüsselfunktionen verstehen. [Verwandte Tutorial-Empfehlungen:

nodejs-Video-Tutorial, Programmierlehre]

1.1 Drei Hauptfunktionen von Node.js

1.1.1 Um das Problem der hohen Parallelität von Webservern zu lösen

Ryan Dahl Bevor er Node entwarf, widmete er sich der Lösung von Leistungsproblemen, die durch die hohe Parallelität von Webservern verursacht wurden. Aufgrund seiner Berufserfahrung glaubt er, dass der Engpass von Leistungsproblemen in blockierten E/A-Vorgängen liegt. Zeitgleich mit der Einführung der leistungsstarken V8-Engine von Chrome ist Ryan Dahl der Ansicht, dass der natürliche asynchrone Ereignisdelegationsmechanismus von JavaScript und das Fehlen von historischem Gepäck der JavaScript-Sprache auf dem Server sehr gut geeignet sind, die Leistung großer verteilter Systeme durch

asynchron zu verbessern Prozesskontrolle . So entstand Node.js.

Obwohl Node.js inzwischen in einer Vielzahl von Szenarien verwendet wird. Aber wir sollten uns immer darüber im Klaren sein, dass wir den Kern von Node.js nur beherrschen können, wenn wir das „Prinzip der asynchronen Prozesssteuerung“ von Node.js verstehen.

1.1.2 Chrome V8-Engine

Der Chrome-Kern basiert auf WebKit und ist in die folgenden zwei Engines unterteilt:

Rendering-Engine: Web Core;

    JavaScript-Interpretations-Engine: JavaScript Core; ist nicht zufrieden Um die Leistung von JavaScript Core zu verbessern, haben wir unabhängig eine V8-Engine mit besserer Leistung entwickelt, um diese zu ersetzen.
  • Als Interpretations-Engine für JavaScript sind die Hauptfunktionen der V8-Engine:

JavaScript interpretieren und kompilieren;

    Speicherbereinigung verarbeiten; ;
  • Man kann sagen, dass die V8-Engine eine leistungsstarke JavaScript-Ausführungsumgebung bietet, sodass JavaScript ausreichend Vertrauen hat, um auf verschiedenen Plattformen (Browser, Server, Desktop) ausgeführt zu werden.
  • 1.1.3 JavaScript-Laufzeitumgebung
  • Node.js ist weder eine Sprache (JavaScript) noch ein Framework (React, Koa), sondern eine

    JavaScript-Laufzeitumgebung
  • .
  • Was ist also eine

    JavaScript-Laufzeitumgebung
  • ? Wie der Name schon sagt, handelt es sich um eine
Umgebung

, die JavaScript ausführen kann. Worauf bezieht sich die

Umgebung

hier also? Es umfasst hauptsächlich die folgenden zwei Aspekte:

stellt die zugrunde liegenden Funktionen zum Interpretieren und Kompilieren von JavaScript bereit;

bietet eine Reihe von Schnittstellen, die es Entwicklern ermöglichen, die zugrunde liegenden Funktionen des Systems aufzurufen (z. B. Netzwerk, Dateilesen usw.). Schreiben usw.) über JavaScript ;Ersteres wird von der Chrome V8-Engine bereitgestellt, während letzteres eine leistungsstarke ereignisgesteuerte asynchrone E/A-Bibliothek ist, die in C und C++ geschrieben ist **libuv ** bereitgestellt. <strong><h3 data-id="heading-5"></h3></strong>1.2 libuv

  • libuv ist eine plattformübergreifende, ereignisgesteuerte asynchrone I/O-Bibliothek, die die CPU und das Betriebssystem für Node bereitstellt Ebenenfunktionen. Wir wissen, dass verschiedene Betriebssysteme die Hardware auf unterschiedliche Weise planen und dass auch die CPU-Befehlssätze variieren. libuv glättet diesen Unterschied und stellt Benutzern über ein Modul namens Node Bindings eine einheitliche Systembetriebsschnittstelle zur Verfügung.

    Jetzt können wir also sagen, dass Node tatsächlich aus zwei Teilen besteht: der Chrome V8-Engine und libuv. Diese beiden Ebenen sind unter Node Bindings verborgen und Benutzer programmieren anhand von Node Bindings.
  • An diesem Punkt sollten Sie verstehen, was Node.js ist. Es handelt sich um eine plattformübergreifende ausführbare JavaScript-Umgebung. In dieser Umgebung können Sie JavaScript verwenden, um die Funktionen des Betriebssystems vollständig zu nutzen und zu tun, was Sie wollen!

  • 2. Die Philosophie von Node.js

libuv ** 所提供。

1.2 libuv

libuv  是一个跨平台的,事件驱动的异步 I/O 库,为 Node 提供了 CPU 和操作系统层面的功能。我们知道不同的操作系统调度硬件的方式不同,CPU 的指令集也各有差异。libuv 则抹平了这一差异,通过名为 Node Bindings 的模块,向用户暴露了统一的系统操作接口。

因此现在我们可以说,Node 实际上由两部分组成:Chrome V8 引擎以及 libuv 。这两层隐藏在  Node Bindings 之下,而用户面向 Node BindingsUm Node.js vollständig zu verstehen, müssen wir zusätzlich zum oben erwähnten

asynchronen Prozesssteuerungsprinzip

auch die Eigenschaften von Node.js von seiner Erstellung bis zu seiner Verwendung verstehen Entwicklung. Designphilosophie, die uns hilft, das Node.js-Ökosystem zu bevorzugen.

Ich denke, Node.js hat die folgenden drei Hauptmerkmale:

  • Offenheit;

  • Einfach;

  • Lassen Sie mich sie jeweils erklären.

2.1 Open

Node.js Zu Beginn des Entwurfs bestanden wir darauf, die Kernbibliothek klein genug zu machen, um der Kreativität der Community freien Lauf zu lassen, sodass der gesamte Aufbau großer Systeme von der Community kommt so viel wie möglich, damit jede einzelne Komponente schnell ausprobiert und getestet und iteriert werden kann. Ich muss sagen, dass dieser Ansatz zwar etwas faul erscheint, sich aber herausstellt, dass dieses Vertrauen in die Community und die offene Haltung enorme Früchte getragen haben: Node.js verfügt über die aktivste und größte Community- und Paketverwaltungsplattform der Welt .

2.2 Fokusnpm

Entwickler in der Node-Community haben immer ein stillschweigendes Verständnis aufrechterhalten, um die Funktionen des Pakets so einzuschränken, dass sie eng genug sind. Es ist am besten, jeweils nur eine Sache zu tun und eine einzige Schnittstelle nach außen freizulegen Welt. Auf diese Weise werden Paketentwicklung, -design und -tests einfacher und das Paket wird zuverlässiger. Diese Art der Fokussierung spiegelt auch die Bescheidenheit und Effizienz der Entwickler wider.

2.3 Einfachheit

Knotenpakete stellen normalerweise nur ein einzelnes Modul und eine einzige Schnittstelle bereit, erben die Einfachheitsmerkmale von JavaScript und verwenden einfache Datenstrukturen. Dadurch sind Node-Pakete leicht lesbar und verständlich.

3. Wie lernen Frontend-Entwickler Node.js?

Für Front-End-Entwickler, die noch nie an der serverseitigen Entwicklung beteiligt waren, sind die folgenden Punkte die Kenntnisse, die beim Erlernen von Node ergänzt werden müssen:

Vertiefendes Verständnis der JavaScript-Sprachfunktionen (insbesondere ESNext) und Syntax;

  • Datenbankwissen und Datentabellen-Designfähigkeiten;

  • Das Erlernen von Node.js kann in zwei Teile unterteilt werden:

  • Erlernen der Verwendung des Kerns Bibliothek von Node.js ;

Lernen Sie die Verwendung verwandter Web-Frameworks;

  • Während des gesamten Lernprozesses wird empfohlen, die folgenden vier Lernschritte zu übernehmen:

  • Offizielle Dokumente lesen;

Schreiben Sie eine Demo und machen Sie sich mit Ideen zur Grammatiküberprüfung vertraut.

    Stellen Sie sich während dieses Prozesses kontinuierlich Fragen und führen Sie eine gründliche Recherche durch, um die Antworten zu erhalten.
  • Vertiefen Sie Ihren Eindruck, indem Sie die Ergebnisse mit externen Ausgaben teilen.
  • 4. Zusammenfassung

  • Node.js ist heutzutage Realität. Es ist eine Technologie, die jeder Front-End-Entwickler beherrschen muss. Sie öffnet Front-End-Entwicklern die zugrunde liegenden Funktionen auf Betriebssystemebene. Dadurch können Entwickler die Rechenleistung und Funktionen des Computers vollständig nutzen. Und ermöglichte die Idee, alle Probleme der Webanwendungsentwicklung in einer Sprache zu lösen. Ich hoffe, dass Sie durch die Einführung dieses Artikels neugierig auf Node.js werden und wünsche Ihnen viel Spaß beim Erkunden in der Zukunft.
  • Weitere Informationen zu Knoten finden Sie unter:

    nodejs-Tutorial
  • !

Das obige ist der detaillierte Inhalt vonEine kurze Analyse, wie Front-End-Entwickler die Node-Sprache lernen können?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.cn. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen