Was ist Node.js und wofür nutze ich es?
Hallo. Ich bin gerade dabei ein neues Projekt um zu setzen und bin dabei auf eine Bibliothek für Node.js gestoßen was mich veranlasst hat mich ein wenig mit diesem Interpreter auseinander zu setzen. Dabei bin ich aber auf ein paar Fragen gestoßen ,die mir das Internet nicht wirklich gut beantworten konnte. Ich denke aber jemand der sich auskennt könnte mir besser weiter Helfen was das angeht:
Node.js ist ein Interpreter, welcher Serverseitig Javascript Code ausführt und ihm einige Funktionen hinzufügt bzw. andere Clientexclusive Funktionen entfernt. Er ist schnell, arbeitet mehrere Anfragen parallel ab und ist somit perfekt für die Programmierung eines Webservers oder generell Serverseitiger Anwendungen die einer Menge Nutzer zur Verfügung stehen müssen geeignet. Ein paar Fragen habe ich aber:
-
Ist bei der Nutzung von Node.js überhaupt noch die Nutzung von PHP nötig?
-
Kann der Nutzer der Seite den Node.js Code auf irgendeine Weise uncompiliert ansehen (Private Key bla bla bla)
-
Ist es möglich Node.js auf einer Webseite ein zu binden ohne den Webserver mit Node.js um zu setzen? (Bestehender Webserver, kennt ihr bestimmt von Strato usw.) Oder ist das zu Kompliziert und sollte in solchen fällen eher auf PHP zurückgegriffen werden? (Die Performance von Node.js hat mich so vom Hocker gehauen, dass ich es mal nutzen wollte :D)
Danke für eure Antworten! :)
2 Antworten
Also:
Node.js läuft nicht zwangsläufig "serverseitig" - es ermöglicht einfach die Nutzung von JavaScript außerhalb eines WebBrowsers.
Node.js ersetzt nicht PHP - beide haben ja zunächst einmal unterschiedliche Einsatzgebiete. PHP läuft im Webserver und ist dafür da, serverseitig das an den Client ausgelieferte, statische HTML dynamisch zu erzeugen. Das geht prinzipiell auch mit Node.js, ist aber nicht ganz so hübsch zu machen. Node.js wäre beispielsweise gut, wenn Du aus einer in PHP geschriebenen Webseite per AJAX einen WebService verwenden willst. Der wäre dann in Node.js geschrieben.
Der User kann den Node.js Code dann sehen, wenn er fälschlicherweise im WebRoot einer Webseite landet. Da hat er nichts zu suchen.
Node.js kann man nicht "in eine Webseite einbinden". Sehr wohl kannst Du aber aus einem JavaScript auf der Webseite per AJAX einen in Node.js geschriebenen REST-Service verwenden.
Das Problem dürfte sein, dass ein Node.js Webservice nicht über Port 80 oder 443 laufen kann, wenn dort bereits ein anderer Webserver lauscht. Du müsstest also einen anderen Port nehmen und dann ggf. die Firewall öffnen.
Üblicherweise ist das Einsatzgebiet von Node.js, dass es einen Service bereitstellt, der in irgendeiner Form Daten liefern und speichern kann (REST) und ein Client verwendet diesen Service. Das kann ein PC Client sein oder ein JavaScript im Browser oder ein PHP script oder was auch immer.
Ach, so erste Schritte Tutorials findest du überall. Google einfach mal. Solltest dein OS mit angeben, weil sich die Installation natürlich zwischen den einzelnen Systemen unterscheidet.
Node.js ist serverseitiges JavasScript, praktisch also selber Einsatzzweck wie PHP.
Die Nutzer haben keinen Zugriff auf deinen Node.js-Code.
Auf normalem Webspace bei Strato & Co wird es vermutlich Probleme geben, node zu nutzen.
Danke! Schade das man soeine genaue Angeabe in keinem Tutorial findet. Kannst duu mir vielleicht noch ein Tutorial oder ähnliches auf Deutsch oder Englisch empfehlen, welches sich mit dem Thema node.js auseinandersetzt und mich verstehen lässt wie ich node.js einrichte und nutze?