‫Erzähler: Bevor wir uns mit NodeJS-Code befassen, wollen wir
‫uns zunächst einen groben Überblick darüber
‫verschaffen, was NodeJS eigentlich ist, wofür
‫wir es verwenden und warum wir Node
‫anstelle anderer Technologien verwenden.
‫Die offizielle Definition lautet also,
‫dass NodeJS eine
‫JavaScript-Laufzeit ist, die auf der Open-Source-V8-JavaScript-Engine von Google basiert.
‫Was bedeutet das nun konkret?
‫Versuchen wir zunächst zu verstehen, was
‫die JavaScript-Laufzeit
‫und die V8-Engine eigentlich sind.
‫Sie haben JavaScript also wahrscheinlich schon einmal
‫verwendet und es war wahrscheinlich immer nur in einem Browser, oder?
‫Da jeder Browser nativ HTML, CSS
‫und JavaScript versteht und egal ob Sie Vanilla-JavaScript
‫oder ein JavaScript-Framework wie React-
‫oder Angular-Code schreiben, ist das
‫alles nur
‫JavaScript, das direkt im Browser ausgeführt wird.
‫Der Browser ist in
‫diesem Fall also die JavaScript Runtime.
‫Aber was wäre, wenn wir JavaScript
‫aus dem Browser nehmen
‫und einfach JavaScript-Code woanders ausführen könnten,
‫ohne all die Einschränkungen, die wir im Browser haben?
‫Nun, es stellt sich heraus, dass wir es tatsächlich können.
‫Und die Lösung dafür heißt,
‫wie Sie sich denken können, NodeJS und Node JS
‫ist also nur eine weitere JavaScript-Laufzeit.
‫Es ist wie ein Container, wie eine
‫Umgebung, in der ein in
‫JavaScript geschriebenes Programm ausgeführt werden kann, jedoch außerhalb jedes Browsers.
‫Okay, es ist natürlich etwas
‫komplexer, aber für den Moment reicht es.
‫Nun, wer führt den Code eigentlich aus,
‫wenn nicht der Browser?
‫Und hier kommt der
‫von Google entwickelte V8-Motor ins Spiel.
‫Denn genau dort wird
‫JavaScript-Code geparst und in NodeJS ausgeführt, okay?
‫Ich hoffe also, dass die Definition von
‫NodeJS als JavaScript-Laufzeit auf der V8-JavaScript-Engine jetzt viel mehr Sinn
‫macht und dies ist wiederum nur
‫eine sehr allgemeine Übersicht darüber,
‫was Node ist und wie es funktioniert.
‫Wir werden im nächsten Abschnitt sehr
‫detailliert darauf eingehen, wie Node hinter den
‫Kulissen wirklich funktioniert, aber an dieser Stelle möchte
‫ich nur, dass Sie sich
‫einen schnellen Überblick verschaffen, damit Sie die Grundlagen
‫von NodeJS durchgängig in der Praxis erlernen können diese Abteilung.
‫Wie auch immer, jetzt, da
‫wir JavaScript außerhalb des Browsers
‫in einer Art eigenständiger Umgebung haben,
‫die nur NodeJS ist, können wir mit JavaScript
‫so viel mehr Dinge tun, die vorher
‫völlig unmöglich
‫waren, wie zum Beispiel auf
‫das Dateisystem zuzugreifen, oder bessere Netzwerkfähigkeiten
‫sind mit nicht möglich NodeJS und
‫all diese Faktoren zusammen geben uns die perfekten Voraussetzungen für
‫den Einsatz von NodeJS als Webserver,
‫sodass wir jetzt endlich JavaScript auf der Serverseite
‫der Webentwicklung verwenden können, um schnelle,
‫hochskalierbare Netzwerkanwendungen für die Stromversorgung des gesamten
‫Back-Ends zu erstellen für Websites oder Webanwendungen.
‫Und das ist absolut
‫fantastisch und bahnbrechend für die Webentwicklung.
‫Schauen wir uns nun einige Anwendungsfälle für Node
‫an und warum es so gut für die Back-End-Entwicklung geeignet ist.
‫Und das erste, worüber wir
‫sprechen müssen, ist
‫die Tatsache, dass Node-Anwendungen so schnell und skalierbar
‫sind, weil NodeJS Single-Threaded
‫ist, basierend auf einem ereignisgesteuerten, nicht blockierenden
‫I/O-Modell, was NodeJS sehr leicht und effizient macht.
‫Das hört sich natürlich super kompliziert an, ich
‫weiß, aber wir werden noch einmal etwas später
‫im Kurs darüber sprechen, was
‫das alles genau bedeutet.
‫Denken Sie jedoch
‫vorerst daran, dass Node perfekt zum
‫Erstellen superschneller und skalierbarer datenintensiver Webanwendungen geeignet ist.
‫Und das macht NodeJS perfekt zum
‫Erstellen aller Arten
‫von Anwendungen, z. B. zum
‫Erstellen einer API mit einer dahinter liegenden Datenbank und
‫vorzugsweise einer nicht-relationalen NoSQL-Datenbank wie
‫MongoDB Tauchen Sie immer tiefer in NodeJS ein.
‫Aber es gibt natürlich auch alle möglichen
‫anderen Apps, die wir bauen können,
‫wie beispielsweise Datenstreaming-Anwendungen wie YouTube oder Netflix, Echtzeit-Chat-Apps oder
‫sogar serverseitige Webanwendungen, bei denen der gesamte
‫Inhalt einfach direkt auf der Seite generiert
‫wird Server, also wie Sie
‫sehen, sind die Möglichkeiten wirklich endlos.
‫Aber es gibt tatsächlich auch eine Art von Apps,
‫die wir nicht mit Node erstellen sollten.
‫Und das ist,
‫wenn unsere App eine
‫superschwere serverseitige Verarbeitung benötigt, wie Bildmanipulationen,
‫Videokonvertierung, Dateikomprimierung oder ähnliches, in Ordnung.
‫Warum das so ist, erfahren Sie, wenn wir tiefer
‫in die Funktionsweise von Node eintauchen.
‫In diesem Fall sind wir
‫also besser dran, etwas wie Ruby on Rails, PHP oder Python zu verwenden.
‫Da NodeJS einfach nicht für
‫diese Anwendungsfälle entwickelt wurde und es zwar Lösungen gibt,
‫damit umzugehen, sollten wir immer das
‫richtige Werkzeug für die jeweilige Aufgabe einsetzen.
‫Okay, dies sind also die Arten von
‫Anwendungen, die wir mit NodeJS erstellen können und nicht.
‫Und wenn Sie sich für Node entscheiden,
‫dann sind Sie in guter
‫Gesellschaft, denn viele Top-Unternehmen wie Netflix, Uber, PayPal,
‫Ebay und viele mehr haben bereits mit NodeJS begonnen,
‫was wirklich beweist, dass die Technologie zu diesem Zeitpunkt
‫stabil genug ist, um in der Produktion verwendet werden.
‫Natürlich gibt es noch mehr Gründe für die Verwendung von
‫Node, und der größte ist wahrscheinlich, dass es für
‫Sie oder Ihr Team viel einfacher ist,
‫die gleiche Sprache für Ihren
‫gesamten Stack sowohl im Frontend als auch im Backend zu verwenden.
‫Erstens müssen Sie
‫keine neue Programmiersprache lernen,
‫um Ihr Back-End zu erstellen, und
‫Sie müssen auch nicht ständig
‫zwischen den Sprachen wechseln, was den gesamten
‫Erstellungsprozess schneller und effizienter macht.
‫Glauben Sie mir, es ist wirklich
‫erstaunlich, JavaScript verwenden zu können, um Ihre gesamte
‫Anwendung von Anfang bis Ende zu erstellen.
‫Es ist wirklich absolut fantastisch.
‫Und ein weiterer guter Grund
‫für die Verwendung von Node ist, dass es eine riesige Bibliothek von
‫Open-Source-Paketen oder -Modulen, wie wir sie auch nennen
‫können, für jeden kostenlos zur Verfügung stellt.
‫Es heißt NPM und Sie haben wahrscheinlich schon davon gehört
‫oder es sogar schon verwendet.
‫Und natürlich werden wir auch anfangen,
‫Pakete direkt in der Sektion zu verwenden.
‫Und schließlich ist es auch
‫gut zu wissen, dass es eine
‫riesige aktive Community von Node-Entwicklern gibt,
‫die NodeJS ständig verbessern und Anfängern wie Ihnen helfen.
‫Und damit Sie sich auch in den nächsten
‫Jahren bei all Ihren Projekten auf die Technik verlassen können.
‫Okay, das war eine sehr kurze
‫Einführung und Übersicht über NodeJS und einige seiner Anwendungsfälle.
‫Für den Rest dieses Abschnitts
‫werden wir nun Node verwenden,
‫um einen sehr einfachen Webserver zu
‫erstellen und eine extrem einfache API zu erstellen,
‫damit Sie sich
‫mit den Grundprinzipien der Node-Entwicklung vertraut machen können.