Ich versuche herauszufinden, wo Node passt. Es ist eine Nische, sozusagen ... Auf welche Hindernisse zielt Node, um eine Rampe zu bieten?
Ich habe die Beispiele gelesen und ein paar Demonstrationsvideos gesehen. Und alles sieht sehr glatt aus ... Erstellen eines einfachen Webservers; Erstellen eines einfachen TCP / IP-Chatservers; Verwenden von Node als JSON-basierte Front für einen Datenbankserver ... Aber wo passt es? Ich meine, bis auf das letzte Beispiel, was ist mit Node zu tun?
Ich denke, was ich frage ist das: Wofür würdest du Node benutzen? Und warum?
Liste der Gründe für die Verwendung des Knotens:
Bibliotheken und Werkzeuge, die mit node.js verwendet werden können:
Alle diese Bibliotheken basieren auf der Tatsache, dass node.js Ihnen ermöglicht, alles auf einer niedrigen Ebene zu handhaben, und dass die Kommunikation mit dem Client glatt und rationalisiert ist, weil Sie die gleiche Sprache an beiden Enden verwenden.
Der Verkaufsvorteil für mich ist, dass ich die gleiche MVC-Bibliothek backbone.js auf dem Client und dem Server habe. All mein Modellcode wird wiederverwendet. Die Modelle auf dem Client und dem Server werden trivial über now.js synchronisiert.
Mein Datenbankzugriff wird von Wiege (oder Mungo) gesteuert ), das alles in JavaScript geschrieben ist. Tatsächlich bindet mein MVC direkt in die Datenbank und speichert nahtlos meine Modelle. Die Modelle definieren nützliche Methoden wie save
und fetch
, um dauerhaften Datenbankspeicher zu erstellen. Ich berühre die Datenbank nicht manuell, weil mein MVC mir erlaubt, einen Datenbanktreiber anzuschließen, um dies für mich zu tun.
Das Rendern meiner Vorlagen erfolgt mit EJS . Meine Ansichten werden zwischen dem Client und dem Server geteilt. Es gibt einfach eine große Menge an Code-Wiederverwendung und meine gesamte Web-Entwicklung wird in JavaScript durchgeführt, was bedeutet, dass ich mein Codierungs-Paradigma oder meinen Stil nicht wechseln muss.
Ich habe auch keine Probleme zu entscheiden, wie ich mit der Grauzone zwischen dem, was auf dem Server lebt, und dem, was auf dem Client lebt, umgehen kann, da dieser graue Bereich vollständig geglättet wurde und der Client und der Server nahtlos integriert sind.
Wenn Sie eine komplexe dynamische ajax-Webanwendung schreiben möchten, ist node.js ein perfekter Kandidat. Wenn Sie eine statische Website haben, dann ist node.js ein perfekter Kandidat (Sie haben es in 20 Minuten eingerichtet).
Wenn Sie eine serverschwere Website mit wenig clientseitigen Funktionen und Postbacks schreiben, dann sollten Sie besser PHP oder ASP.NET verwenden. Aber wenn Sie das tun, sollten Sie in mehr dynamische clientseitige Funktionalität und mit ajax suchen.
Ich glaube, dass eine der von Node.js proklamierten Stärken darin besteht, dass es als websockets -Server geeignet ist. Verbindungen in Node.js sind billig (weil es nur sehr wenig Framework gibt) und daher kann ein einzelnes System viele persistente Verbindungen unterstützen.
-Wohlknoten ist im Allgemeinen zum Aufrechterhalten einer großen Anzahl offener Verbindungen (zu anderen Knoten, Diensten usw.) geeignet.
Dies sollte Ihnen einen Einblick in seine Leistung im Vergleich zu anderen geben (+ eine Diskussion als Bonus): Skalierungsstapel vs node.js vs Twisted vs Eventlet
Node passt auch gut als Shell / Terminal-Skriptsprache, gutes Beispiel ist dies: github.com/indexzero/forever
Und als javascript @ serverseitige Lösung - verkleinert die Lücke zwischen dem Erstellen von Frontend (html / js) & amp; Backend (in aktuellen Fall nodejs) Lösungen.
Sie können das auch nützlich finden: Liste der Projekte, Anwendungen und Unternehmen mit Nodejs
>Sie können viele node.js-Anwendungsfälle erhalten, wenn Sie sich beispielsweise die Module -Seite ansehen. Es variiert von einer Unmenge von Bibliotheken wie Routern, statischen Dateiservern, Web-Frameworks und WebSockets-Servern bis hin zu DB-spezifischen Konnektivitätsmodulen, Standalone-Datenbanken, TCP / IP-Servern und gängigen Protokoll- / Bibliothekswrappern, die darauf warten, andere Wahnsinns zu erzeugen wie diese Unternehmen taten.
Ich würde sagen, dass Sie node.js für den Fall verwenden möchten, wenn Sie das leichte, niedrige und schnelle serverseitige Framework nutzen möchten, das evented IO verwendet und reichhaltige Mengen von Open-Source-Community-basierten Bibliotheken bietet (sollten Sie oder vielmehr JavaScript auf einer bestimmten Ebene kennen müssen, um andere Module zu erstellen oder als Grundlage für ein eigenständiges Projekt zu verwenden (oder als Ergänzung für eine bestimmte Funktionalität, die node.js besser als andere Lösungen ausführen kann).
Es ist eine gute Frage! Wie Sie gesagt haben, ist die Kodierung mit Node schnell und einfach. Es ist nicht das einzige schnelle und einfache Tool, aber was macht es einzigartig? Ich freue mich auf die anderen Antworten!
Mein Beitrag: Einer der Vorteile von Node ist, dass Sie sowohl Ihren clientseitigen als auch Ihren serverseitigen Code in JavaScript schreiben können. Dadurch erhalten Sie einen Spielraum für die Wiederverwendbarkeit von Code, den Sie sonst nicht hätten.
Tags und Links node.js