867626

JavaScript-Server: Node.js

29.06.2011 | 12:11 Uhr |

Der größte Star ist ohne Zweifel Node.js . Blogs, wie beispielsweise How to Node werden mit Hinweisen und Vorschlägen gefüllt, während die Leute versuchen herauszufinden, wie weit sie mit diesem Werkzeug kommen können. Es gab sogar bereits eine Konferenz, die dieses Projekt zum Thema hatte. Und die Nutzer verwenden das Wort „node" bereits als Verb, was so viel heißt, wie einen Node.js-Code zu schreiben. Wir sind uns sicher, dass die Ideen, die hinter Node.js stecken, sich durchsetzen werden, weil sie gut sind.

Der größte Trumpf von Node.js ist dessen Einfachheit. Node.js verwendet nur einen Thread für den Server. In diesem Thread wird alles abgearbeitet. Wenn Anfragen eintreffen, verarbeitet Node.js eine nach der anderen und leitet diese an eine einzelne Funktion weiter. Diese Funktion wurde spezifiziert wenn der Server aufgerufen wurde. Wenn Sie gedacht haben, dass eine Java-Server-Seite, ein Java-Servlet oder eine PHP-Datei der einfachste Weg sei, eine Webseite zu erstellen, dann werden Sie von dieser Effizienz beeindruckt sein:

function website(req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('hello world\n'); }

Wenn Sie nun sagen, dass eine JSP oder eine PHP-Datei genauso einfach sein kann, dann müssen Sie hinter die Kulissen schauen und sich daran erinnern, was der Java Servlet-Container oder der PHP-Server für Sie erledigt. Sie können einfach „hello world" in JSP schreiben, aber Java wird bei dieser Aufgabe 2 MB RAM verbrauchen, da es einen Thread, der den Code unterstützt, erst erstellen muss. Erst dann wird der Thread „hello world" ausgeben. Das JSP erscheint einfach, ist es aber nicht.

Geniale Javascript-Programme für den Browser

Node.js selbst macht sehr wenig, außer die einkommende Anfrage zu nehmen und die Funktion Website aufzurufen. Anschließend wird es die Ergebnisse nach draußen führen. Auf Grund der Zielstrebigkeit kann es all die Anfragen, die an der Tür klopfen schnell abarbeiten. Es ist wichtig zu wissen, dass ein Teil der immensen Geschwindigkeit daher kommt, dass einige andere Funktionen ausgelassen werden. All die Arbeit, die Java in die Sauberkeit des Codes und dessen Ausführung hineinsteckt, lohnt sich zwar, wenn ein Thread viel Zeit benötigt, um fertig zu werden. Doch Node.js beweist, dass es auch anders geht. Allerdings mit Einschränkungen: Wenn der Arbeitsauftrag kurz ist, dann scheint es so, als wäre Node.js multitaskingfähig, da es die Aufträge schnell erledigt. Aber wenn Sie einen Auftrag haben, der den Server aufhält, dann können Sie sehen, wie sich alles dahinter aufreiht.

Chakra: Die neue Javascript-Engine

Ihre Aufgabe als Programmierer ist es, alle Verzögerungen, wie beispielsweise eine Anfrage von einem entfernten Web-Service, zu verhindern. Sie müssen Ihren Code dann in zwei Funktionen aufteilen, wie es die AJAX-Programmierer häufig am Client tun. Wenn die Daten ausgegeben werden, wird Node.js die Rückruffunktion ausführen. In der Zwischenzeit werden andere Abfragen abgehandelt. Wenn der Programmierer ein paar Minuten darin investiert, die Arbeit vor und nach dem Delay zu separieren, kann der RAM schnell wieder freigegeben werden. Behandeln Sie RAM wie Kapital und vermeiden Sie es, alles davon aufzubrauchen.

Wir denken, dass Node.js schnell aus der reinen Experimentierphase rauswachsen wird. Bald können ernsthafte, aber dennoch einfache Aufgaben, wie beispielsweise Online-Umfragen und einfache Nachrichten zwischen Nutzern von Node.js abgehandelt werden. Wenn die Serveraufgaben einfach und kurz sind, ist Node.js die beste Lösung. Die Werkzeuge sind gut, insbesondere, wenn man beachtet, dass sich Node.js noch in der Anfangsphase befindet.

PC-WELT Marktplatz

867626