Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Node.js für ASP.NET-Entwickler

Was hat diese Arbeitsweise für Vorteile?

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Ryan Dahl zeigt in einem sehr anschaulichen Beispiel, wie viel Zeit Input-Output-Operationen kosten. Im Vergleich mit WebAPI beispielsweise zeigt sich, dass Node.js einiges mehr an Antworten pro Sekunde zurückgibt.

Transkript

Was diese Arbeitsweise von Node.js für Vorteile hat, zeigt bei einem wunderbaren Beispiel von Ryan Dahl selbst, dass ich nicht vorenthalten möchte. Und das lese ich einmal kurz vor, was er selbst dazu gesagt hat, damit man das auch genau versteht, warum diese Arbeitsweise der Architektur ebenso gut funktioniert. Er hat nämlich gesagt: "Man stelle sich vor, ein ausgeführtes Programm, ist eine Person, die bei sich im Büro am Schreibtisch arbeitet. Benötigt das Programm Informationen aus dem Level2-Cache, entspricht das in etwa dem Öffnen der Schreibtischschublade in dem die Informationen liegen. Für Daten aus dem RAM muss man schon von seinem Platz aufstehen, zur gegenüberliegenden Seite des Büros laufen und die Information dort aus einem großen Aktenschrank rausholen und sich wieder an seinen Platz begeben. Greift man hingegen auf Daten von der Festplatte zu, steht man auf, verlässt das Büro und das Gebäude, setzt sich in ein Taxi, fährt zum Flughafen, nimmt die nächste Maschine nach Tokio, holt dort die Informationen ab und fliegt wieder zurück". Das ist ein so wunderbar verbildlichtes Beispiel, was genau zeigt, was Input-Output-Operationen an Zeit beanspruchen und auch selbst hier im Rahmen, wenn irgendwo etwas liegt, dass das sogar nicht so schnell ist wie im Level2-Cache. Als Vergleich von den Kosten von so Input-Output-Parametern habe ich hier eine kleine Tabelle, das heißt, man sieht im Level1 und 2 Cache werden viel weniger CPU Cycles benötigt. Im Rahmen sind wir noch bei 250. Das ist hier auch noch in Ordnung. Aber zum Vergleich, wenn wir jetzt irgendwo auf die Festplatte oder ein Netzwerk zugreifen, haben wir hier schon einen Million Bereich. Also die Operationen benötigen extrem viel Energie. Das Spannende an der ganzen Geschichte ist auch, dass natürlich PayPal bei Ihrem Bericht natürlich auch die Performance analysiert haben. Das war ja eigentlich auch dann der Grund, was Sie auf dieses Thema so aufmerksam gemacht hat. Und zwar haben Sie hier die Statistiken auch veröffentlicht. Einmal links sehen wir die Java-Applikationen und dann entsprechende Seiten links unten. Das bedeutet, wir sehen hier links unten eben die ganzen Seiten. Die sind hier in der Java-Welt. Und man sieht, man bekommt hier auf bis zu 15 Pages die Sekunde, und bei Node.js ist das Ganze sogar gleich fast doppelt so schnell, deswegen ist sogar in der Tabelle hier 25 mitaufgelistet. Das heißt, Node.js hat fast doppelt so schnell, als die eigentliche Java-Applikation, geantwortet. Ich habe natürlich mich dann nochmal schlau gemacht, ob man nochmal irgendwo Zahlen findet zwischen Performance-Unterschieden von ASP.NET und Node.js, und dann habe ich auf dem privaten Blog ein paar Ergebnisse gefunden. Also aktuell sieht es so aus, dass der schnellste Web-Server auf dem Markt aktuell ist Go, und an zweiter Stelle kommt Node.js, dann kommt PHP und dann viele weitere Technologien. Dann gibt es nochmal einen weiteren Blogpost. Genau hier sehen wir einen Benchmark-Test zwischen ASP.NET Web API und Node.js. Und wir sehen auch hier, dass Node.js um einiges mehr an Antworten in der Sekunde zurückgibt, als die Web API. Das ist natürlich jetzt hier auch alles auf dem Blog gekennzeichnet, bei der Quelle wie derjenige gearbeitet hat. Das ist natürlich auch immer nochmal relevant, das Ganze zu beobachten. Das Spannende ist allerdings auch, dass Microsoft das natürlich entdeckt hat, dieses Prinzip und versucht jetzt mit ASP.NET vNext das ganze Prinzip nachzubauen, und Sie haben aktuell bei bestimmten Prototypen natürlich eine noch schnellere Performance dann herausholen können, als wie bei Node.js. Man muss aber dann dazu sagen, erstens ist das Ganze noch ein Prototyp, das ist noch nicht fertig. An zweiter Stelle muss man dann noch dazu erwähnen, wofür benötigt man eigentlich .NET serverseitig. Das ist immer eine wichtige Frage, die man sich stellen muss. Bei vielen Projekten habe ich selbst mitbekommen, dass der einzige Grund nur der Zugriff auf die Datenbank ist. Man hat also den Komfort von Entity Framework genutzt, also vom OR Mapper, um darauf zugreifen zu können, weil viele Sprachfeatures wie ling und Lambda dort gibt es schon seit Beginn anbei JavaScript. Und gerade durch die neuen ECMAScript-Features kann man das von der Syntax auch genauso nutzen, wie man es unter C-Sharp gewohnt ist, also das wären jetzt nicht so die Argumente gerade im Zusammenspiel mit TypeScript. Ansonsten wäre es eigentlich nur, dass man eben hier mit einem ORM bearbeitet, der riesengroße Vorteil. Und das ist halt auch so eine wichtige Frage, die man sich vorher stellen muss. Auf jeden Fall aus Performance-Sicht und aus der Funktionssicht, was so JavaScript bieten kann, ist Node.js also schon sehr fortgeschritten und gut gegenüber dem, was ASP.NET vNext bringen wird.

Node.js für ASP.NET-Entwickler

Sehen Sie, wie Sie den Umstieg auf auf native JavaScript-Entiwcklung mit Node.js erfolgreich meistern.

2 Std. 52 min (31 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Exklusiv für Abo-Kunden
Erscheinungsdatum:15.05.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!