Was ist Node.JS und warum sollte ich mich darum kümmern? [Web Entwicklung]

Was ist Node.JS und warum sollte ich mich darum kümmern? [Web Entwicklung] / Wordpress & Webentwicklung

JavaScript ist nur eine clientseitige Programmiersprache, die im Browser ausgeführt wird, oder? Nicht länger. Node.js ist eine Möglichkeit, JavaScript auf dem Server auszuführen. aber es ist so viel mehr. Wenn Sie sich überhaupt für Webentwicklung interessieren, sollten Sie wirklich etwas über Node erfahren und warum es in der Community Wellen schlägt.

Was ist Node.js??

Node ist eine Schnittstelle zur V8-JavaScript-Laufzeitumgebung - dem superschnellen JavaScript-Interpreter, der im Chrome-Browser ausgeführt wird. Sie können auch V8 herunterladen und in alles einbetten. Node macht das für Webserver. JavaScript ist schließlich nur eine Sprache - es gibt nichts, was besagt, dass es weder auf einem Server noch im Browser des Benutzers verwendet werden kann. In einem typischen LAMP-Server-Stack Einrichten eines Apache-Webservers In 3 einfachen Schritten Einrichten eines Apache-Webservers In 3 einfachen Schritten Was auch immer der Grund ist, Sie möchten vielleicht irgendwann einen Webserver zum Laufen bringen. Unabhängig davon, ob Sie sich auf bestimmte Seiten oder Dienste Remote-Zugriff verschaffen möchten, möchten Sie eine Community erhalten… Lesen Sie weiter, Sie haben einen zugrunde liegenden Apache- oder NGINX-Webserver, auf dem PHP ausgeführt wird. Bei jeder neuen Verbindung zum Server wird ein neuer Thread erzeugt, und es ist sehr einfach, die Leistung zu verlieren oder für einen Standort “gehen” - Die einzige Möglichkeit, mehr Benutzer zu unterstützen, besteht darin, weitere Server hinzuzufügen. Es skaliert einfach nicht gut. Bei Node ist dies nicht der Fall. Es gibt keinen Apache, der auf eingehende Verbindungen wartet und HTTP-Statuscodes zurückgibt. Diese Core-Server-Architektur müssen Sie selbst handhaben. Glücklicherweise gibt es Module, die das einfacher machen, aber es kann trotzdem ein wenig überwältigend sein, wenn Sie anfangen. Das Ergebnis ist jedoch eine leistungsstarke Webanwendung.

Klout - eine auf Node.js basierende Web-App für soziale Statistiken, die für hohe Leistung sorgt

JavaScript jQuery Tutorial (Teil 4) - Event Listeners jQuery Tutorial (Part 4) - Event Listeners Heute werden wir einen Schritt weiter gehen und wirklich zeigen, wo jQuery - Events auftaucht. Wenn Sie die vorherigen Lernprogramme befolgt haben, sollten Sie jetzt einigermaßen gut mit dem grundlegenden Code vertraut sein… Alles was auf dem Server geschieht, löst ein nicht blockierendes Ereignis aus. Jede neue Verbindung löst ein Ereignis aus. Daten, die von einem Upload-Formular empfangen werden, lösen ein Datenempfangsereignis aus; Durch das Anfordern von Daten aus der Datenbank wird ein Ereignis ausgelöst. In der Praxis bedeutet dies, dass eine Node-Site niemals blockiert wird und Zehntausende gleichzeitige Benutzer unterstützen kann. Node.js spielt die Rolle des Servers - Apache - und interpretiert den Anwendungscode, der darüber ausgeführt wird. Genau wie bei Apache gibt es verschiedene Module (Bibliotheken), die installiert werden können, um Funktionen und Funktionen hinzuzufügen - beispielsweise Datenspeicher, Unterstützung für Zip-Dateien, Facebook-Login oder Zahlungs-Gateways. Natürlich gibt es nicht so viele wie für PHP, aber Node befindet sich noch in einem frühen Stadium und es gibt eine starke Community dahinter. Ein Kernkonzept von Node sind asyncrone Funktionen - also läuft alles im Hintergrund. Bei den meisten serverseitigen Skriptsprachen muss das Programm warten, bis die einzelnen Funktionen abgeschlossen sind, bevor es zur nächsten übergeht. Mit Node legen Sie Funktionen fest, die nach Abschluss eines anderen Vorgangs ausgeführt werden sollen, während sich der Rest Ihrer App weiterbewegt. Es ist ein komplexes Thema, das ich heute nicht zu sehr vertiefen möchte, aber eine der Eigenschaften, die den Knoten definiert, ist es wichtig, es zu verstehen. Genügend Chat - hier ist ein Beispiel für ein Beispiel für einen HTTP-Server mit Hello World, der einen kurzen Überblick über einige dieser Konzepte gibt.

 var http = erfordern ("http"); http.createServer (Funktion (Anforderung, Antwort) response.writeHead (200, 'Content-Type': 'text / plain'); response.write ('Hello World!'); response.end (); ) .listen (8080); console.log ("Server läuft!"); 

Versuchen wir, das zu brechen. Zuerst schließen wir das ein http-Modul im Projekt. Wir erstellen dann einen Server und übergeben eine anonyme Funktion als Parameter. Diese Funktion wird für jede neue Verbindung aufgerufen. Es braucht zwei Argumente - anfordern, die Anforderungsparameter des Benutzers enthalten; und Antwort, die wir verwenden, um Dinge zurückzuschicken. Als Nächstes verwenden wir das Antwortobjekt, um dem Benutzer mit dem Antwort-HTTP-Code einen Header zurückzuschreiben 200 (“OK”) und inhaltstyp schreiben a “Hallo Welt!” Nachricht und beenden Sie die Antwort. Schließlich weisen wir den Server an, Port 8080 auf eingehende Anforderungen zu überwachen, und geben eine kurze Nachricht an die Konsole (die Befehlszeile) aus, um uns mitzuteilen, dass sie ausgeführt wird. Wenn Sie dies tatsächlich selbst ausprobieren möchten, speichern Sie den obigen Code als test.js, Laden Sie das Node-Installationsprogramm herunter und führen Sie die Befehlszeile aus -

Knoten test.js

Öffnen Sie einen Browser und navigieren Sie zu localhost: 8080, um Ihre Test-App anzuzeigen! Sie sollten jetzt eine kleine Vorstellung davon haben, wie diese asynchrone Sache zusammen mit ereignisgesteuerten Modellen funktioniert. Wenn Sie JavaScript noch nicht kennen, ist das Konzept, Funktionen als Argumente an andere Funktionen zu übergeben, wahrscheinlich etwas seltsam.

Warum Node verwenden??

Erstens für Leistung und Skalierbarkeit. Knoten ist schnell. Dies ist eine ziemlich wichtige Voraussetzung, wenn Sie als Startup versuchen, die nächste große Sache zu machen, und sicherstellen möchten, dass Sie schnell skalieren können und mit einem Zustrom von Benutzern fertig werden, wenn Ihre Website wächst. Node ist auch perfekt für ein Angebot RESTful API - Ein Webservice, der einige Eingabeparameter übernimmt und ein wenig Daten zurückgibt - einfache Datenmanipulation ohne großen Rechenaufwand. Node kann tausende davon gleichzeitig behandeln, wobei PHP nur zusammenbrechen würde. Abgesehen von den Leistungsvorteilen und der Skalierbarkeit besteht eine gute Chance, dass Sie bereits über JavaScript verfügen. Warum also eine völlig neue Sprache wie PHP lernen? Und dann gibt es die Aufregung, etwas Neues und relativ Unbekanntes zu lernen. Wissen Sie, wann etwas Neues ankommt und dann so allgegenwärtig wird, dass Sie es nicht bereuen, es früher gelernt zu haben und immer wieder aufgeholt zu haben? Tu das nicht diesmal. Knoten wird groß sein.

Nachteile

Wie bei den meisten neuen Technologien ist es nicht so einfach, Node auf vorhandenen Hosts bereitzustellen. Wenn Sie über ein gemeinsam genutztes Webhosting verfügen, können Sie nicht einfach eine Node-App hochladen und davon ausgehen, dass sie funktioniert. VPS und dedizierte Server sind besser positioniert - Sie können Node darauf installieren. Noch einfacher ist es, einen skalierbaren Dienst wie Heroku zu verwenden, der Ihre Website völlig frei weiterentwickeln kann - Sie müssen nur bezahlen, wenn Sie mehr Ressourcen benötigen. Ich habe bereits ein Beispiel für die Verwendung von Heroku gegeben, als wir damit Facebook-Fangata erstellt haben, aber es kann auch für Node verwendet werden. Andererseits ist es sehr einfach, Node lokal auf Ihrem Windows-, Mac- oder Linux-PC zu installieren und sofort mit der Entwicklung zu beginnen. Gehen Sie einfach zu Download Node. Beachten Sie außerdem, dass Node nicht einfach ein Ersatz für Apache ist - vorhandene Webanwendungen sind nicht kompatibel und Sie arbeiten effektiv von Grund auf (obwohl es eine Reihe von Frameworks gibt, die Sie mit gemeinsamen Funktionen unterstützen können). Der andere große Nachteil des Knotens ist, dass er sich noch in einem frühen Stadium der Entwicklung befindet, was bedeutet, dass sich einige Funktionen mit fortschreitender Entwicklung ändern werden. Wenn Sie sich die Dokumentation anschauen, enthält sie einen Stabilitätsindex, der zeigt, wie riskant die Verwendung der einzelnen Funktionen derzeit ist. Wissen Sie, es war noch nie eine aufregendere Zeit, Webentwickler zu werden. Mit offenen Webservices und Datenaustausch ist es einfacher als je zuvor, etwas zu machen genial. Denken Sie daran, Node zu lernen? Gut. Geh weiter und mache den nächsten Twitter! Sie möchten wahrscheinlich auch eine gute Grundlage für die jQuery-Bibliothek von Javascript jQuery - Erste Schritte: Grundlagen und Auswahlmöglichkeiten. - Erste Schritte: Grundlagen und Auswahl. Letzte Woche habe ich darüber gesprochen, wie wichtig jQuery für jeden modernen Webentwickler ist und warum es so ist genial. Ich denke, es ist an der Zeit, dass wir uns mit Code ein wenig schmutzig machen und erfahren haben, wie… Lesen Sie mehr für das Frontend.

Erfahren Sie mehr über: JavaScript, Programmierung, Webdesign, Webentwicklung.