webentwicklung-frage-antwort-db.com.de

Beispiele / Tutorials für Node.js-Webanwendungen

Also habe ich mir Douglas Crockfords exzellente Serie auf Javascript angesehen und in der letzten Folge (soweit) Endlosschleife erklärt er, warum Node.js eine nahezu perfekte Lösung für serverseitigen Code ist.

Er spricht davon, den Status nicht in der Datenbank, sondern in in Node.js ausgeführten Abschlüssen beizubehalten. Er gibt außerdem an, dass Templating-Systeme (wie JSP, PHP und ASP) eine schlechte Abstraktion für kompliziertere Webanwendungen darstellen und dass node.js dies bereitstellt eine Lösung dafür.

Ich bin bereit, mich anzumelden, kann jedoch keine Beispiele für Webanwendungen finden, die dieses Muster verwenden, oder keine Bücher oder Tutorials, in denen erläutert wird, wie dies zu tun ist. Ich spreche nicht von einer einfachen Anwendung , sondern von etwas, das die Muster verwendet, von denen Crockford in seinem Vortrag sprach. Jeder weiß, wo ich einige Tutorials/Beispiele für in Node.js geschriebene Webanwendungen finden kann (und ja, ich weiß von Geddy und ExpressJs , aber sie scheinen nicht zu folgen die radikal unterschiedlichen Muster, von denen Crockford sprach und die eher wie eine Railsy-Erfahrung auf Node.js waren.

[Anmerkung ab 3 Jahren in der Zukunft: Es scheint Express , Geddy , Segel , Kraken und alle sind Neuimplementierungen der Rails/Symfony/Spring-Frameworks von Ruby/PHP/Java. Während Dinge wie Hoodie und Meteor Versuche eines ganz neuen Paradigmas sind. KOA sieht interessant aus, ist aber weit davon entfernt, verwendbar zu sein, aber es sieht so aus, als würde es auf den Stärken von Javascript mit der Geschichte der MVC-Anwendungen der Vergangenheit aufbauen . 3 Jahre später und es sind immer noch aufregende Zeiten für Nodejs, auch wenn es nicht mehr die neue Schärfe ist. Zumindest gibt es viele Beispiele aus der Praxis für Node im Einsatz ...

110
Kris Erickson

Ich würde vorschlagen, dass Sie sich die verschiedenen Tutorials ansehen, die in letzter Zeit erscheinen. Mein aktueller Favorit ist:

http://nodetuts.com/

Hoffe das hilft.

89
JeanNiBee

Der Node Knockout Wettbewerb wurde kürzlich beendet und viele der Einsendungen sind auf github verfügbar. Die Wettbewerbsseite scheint momentan nicht zu funktionieren, aber ich bin sicher, Sie könnten ein paar Einträge googeln, um sie zu überprüfen.

8
Chris Bloom

DailyJS hat ein gutes Tutorial (lange Reihe von 24 Beiträgen), das Sie durch alle Aspekte des Erstellens einer Notizblock-App führt (einschließlich aller möglichen Extras).

Hier ist eine Übersicht über das Tutorial: http://dailyjs.com/2010/11/01/node-tutorial/

Und hier ist ein Link zu allen Beiträgen: http://dailyjs.com/tags.html#nodepad

5
Varun Singh

Update

Dav Glass von Yahoo hat im November einen Vortrag auf der YuiConf2010 gehalten, der jetzt in Video von verfügbar ist.

Er zeigt in großem Umfang, wie man mit YUI3 Widgets auf der Serverseite rendern und sie mit GET-Anforderungen arbeiten lassen kann, wenn JS deaktiviert ist, oder sie einfach normal funktionieren lassen kann, wenn sie aktiv sind.

Er zeigt auch Beispiele für die Verwendung des serverseitigen DOM zum Anwenden von Stylesheets vor dem Rendern und anderer cooler Dinge.

Die Demos finden Sie auf seinem GitHub Account .

Der Teil, dem IMO fehlt, um dies wirklich großartig zu machen, ist eine Art zugrunde liegender Speicher des Widget-Status. Damit man die Seite ohne JavaScript besuchen kann und alles wie erwartet funktioniert, schalten sie JS ein und jetzt hat das Widget den gleichen Status wie zuvor, funktioniert aber ohne erneutes Laden der Seite. Dann wird etwas auf dem Server gespeichert und WebSockets für die Synchronisierung zwischen mehreren offener Browser .... und die nächste Generation von unauffälligen und anmutig herabsetzenden ARIAs ist geboren.

Ursprüngliche Antwort

Na los und bau es dir dann selber.

Im Ernst, 90% aller WebApps funktionieren einwandfrei mit einem REST=) Ansatz. Natürlich können Sie magische Dinge tun, wie überlegenes User-Tracking, Verfolgen von Downloads in Echtzeit und Überprüfen, welche Teile von Videos sind beobachtet werden etc.

Ein Problem ist die Skalierbarkeit. Sobald Sie mehr als 1 Node) verarbeiten, gehen viele (aber nicht alle) Vorteile der Speicherung der Daten zwischen Anforderungen verloren dass Clients immer den gleichen Prozess durchlaufen und auch dann größere Dinge wieder eine Datenbankschicht benötigen.

Node.js ist nicht die Lösung für alles, ich bin mir sicher, dass die Leute in Zukunft wirklich großartige Sachen bauen werden, aber das braucht etwas Zeit, im Moment portieren viele Sachen einfach nach Node Dinge in Gang zu bringen.

Was (meiner Meinung nach) Node.js so großartig macht, ist die Tatsache, dass es den Entwicklungsprozess rationalisiert, Sie weniger Code schreiben müssen, es perfekt mit JSON zusammenarbeitet und all diese Kontextwechsel verloren gehen.

Bisher habe ich hauptsächlich Spieleexperimente gemacht, aber ich kann mit Sicherheit sagen, dass es in Zukunft viele coole Multiplayer (oder sogar MMO) -Dinge geben wird, die sowohl HTML5 als auch Node.js verwenden.

Node.js gewinnt immer noch an Fahrt, es ist vor einigen Jahren noch nicht einmal in der Nähe des RoR-Hype (schauen Sie sich einfach das Node.js-Tag hier auf SO an, kaum 4-5 Fragen pro Tag).

Rom (oder RoR) wurde nicht über Nacht gebaut, und Node.js wird es auch nicht sein.

Node.js hat all das Potenzial, das es braucht, aber die Leute probieren immer noch Dinge aus, also würde ich Ihnen vorschlagen, sich ihnen anzuschließen :)

4
Ivo Wetzel

Das Nächste ist wahrscheinlich Dav Glass 'experimentelle Arbeit mit node.js, express und YUI3. Grundsätzlich erklärt er, wie YUI3 verwendet wird, um Markups auf der Serverseite zu rendern und diese dann an den Client zu senden, wo die Bindung an Ereignisse und Daten erfolgt. Die Schönheit ist, dass YUI3 sowohl auf dem Client als auch auf dem Server unverändert verwendet wird. Macht sehr viel Sinn. Das große Problem ist, dass es noch keine produktionsbereite serverseitige DOM-Bibliothek gibt.

Screencast

2
mgutz