Was ist NodeJS?

Node.js ist eine plattformübergreifende Open Source-JavaScript-Laufzeitumgebung, die auf der JavaScript-Engine V8 von Chrome basiert, die ursprünglich von Ryan Dahl erstellt und 2009 veröffentlicht wurde.

Läuft Node.js unter Windows?

Ja. Windows unterstützt zwei verschiedene Umgebungen für die Entwicklung von Apps mit Node.js:

Wozu können Sie NodeJS nutzen?

Node.js wird hauptsächlich zum Erstellen schneller und skalierbarer Webanwendungen verwendet. Es wird ein ereignisgesteuertes, nicht blockierendes I/O-Modell verwendet, wodurch es einfach und effizient ist. Es ist ein hervorragendes Framework für datenintensive Echtzeitanwendungen, die über verschiedenen Geräten verteilt laufen. Im Folgenden findest du einige Beispiele, was du mit Node.js erstellen kannst.

  • Single-Page-Apps (SPA): Dies sind Web-Apps, die in einem Browser funktionieren. Du musst die Seite dann nicht jedes Mal neu laden, wenn du neue Daten abrufen möchtest. Einige Beispiele für SPAs sind Apps sozialer Netzwerke, E-Mail- oder Karten-Apps, Onlinetext- oder -zeichnungstools usw.
  • Echtzeit-Apps (RTAs): Dies sind Web-Apps, die es Benutzern ermöglichen, Informationen zu erhalten, sobald sie von einem Autor veröffentlicht werden. Der Benutzer (oder die Software) muss die Quelle somit nicht regelmäßig auf Aktualisierungen überprüfen. Einige Beispiele für RTAs sind Instant Messaging-Apps oder Chaträume, Online-Multiplayerspiele, die im Browser gespielt werden, Dokumente zur Onlinezusammenarbeit, Communityspeicher, Videokonferenz-Apps usw.
  • Datenstreaming-Apps: Dies sind Apps (oder Dienste), die Daten/Inhalte beim Eintreffen (oder Erstellen) senden, während die Verbindung geöffnet bleibt, um weiterhin Daten, Inhalte oder Komponenten nach Bedarf herunterzuladen. Einige Beispiele hierfür sind Video- und Audiostreaming-Apps.
  • REST-APIs: Dies sind Schnittstellen, die Daten für die Web-App einer anderen Person bereitstellen und mit ihr interagieren. Ein Kalender-API-Dienst könnte beispielsweise Datums- und Uhrzeitwerte für einen Konzertveranstaltungsort bereitstellen, der von der lokalen Veranstaltungswebsite einer anderen Person verwendet werden kann.
  • Serverseitig gerenderte Apps (SSRs): Diese Web-Apps können sowohl auf dem Client (im Browser/am Front-End) als auch auf dem Server (am Back-End) ausgeführt werden. Dadurch können dynamische Seiten (für die HTML generiert wird) beliebige bekannte Inhalte anzeigen und noch nicht bekannte Inhalte sofort anzeigen, wenn sie verfügbar werden. Diese Apps werden häufig als „isomorphe“ oder „universelle“ Anwendungen bezeichnet. SSRs verwenden SPA-Methoden, da sie nicht jedes Mal neu geladen werden müssen, wenn du sie verwendest. SSRs bieten jedoch einige Vorteile, die für Sie wichtig sein könnten, z. B. das Verfügbarmachen von Inhalten auf Ihrer Website in Google-Suchergebnissen und das Bereitstellen eines Vorschaubilds, wenn Links zu Ihrer App in sozialen Medien wie X oder Facebook geteilt werden. Ein potenzieller Nachteil ist, dass ständig ein Node.js-Server ausgeführt werden muss. Beispiele sind eine App für ein soziales Netzwerk, die Ereignisse unterstützt, die Benutzern in den Suchergebnissen angezeigt werden sollen. Soziale Medien profitieren eher von SSRs, während für eine E-Mail-App auch eine SPA ausreichend ist. Außerdem können Sie auf dem Server gerenderte Apps ausführen, die keine SPAs sind, z. B. einen WordPress-Blog. Wie du siehst, kann es schnell kompliziert werden, sodass du herausfinden musst, was für dich wichtig ist.
  • Befehlszeilentools: Diese ermöglichen dir, sich wiederholende Aufgaben zu automatisieren und dein Tool dann über das riesige Node.js-Ökosystem zu verteilen. Ein Beispiel für ein Befehlszeilentool ist cURL – eine Abkürzung für Client-URL –, das zum Herunterladen von Inhalten von einer Internet-URL verwendet wird. cURL wird häufig verwendet, um z. B. Node.js oder in unserem Fall einen Node.js-Versions-Manager zu installieren.
  • Hardwareprogrammierung: Node.js ist zwar nicht so beliebt wie Web-Apps, aber die Beliebtheit von Node.js steigt gerade bei IoT-Anwendungsfällen, wie z. B. dem Sammeln von Daten von Sensoren, Signalen, Sendern, Motoren und allem, was große Datenmengen generiert. Node.js ermöglicht das Erfassen von Daten, das Analysieren dieser Daten, die Kommunikation zwischen einem Gerät und einem Server und das Ausführen von Maßnahmen auf der Grundlage der Analyse. npm enthält mehr als 80 Pakete für Arduino-Controller, Raspberry Pi, Intel IoT Edison, verschiedene Sensoren und Bluetooth-Geräte.

Nächste Schritte