Node.js Exemples d’applications Web / tutoriels

J’ai donc fini de regarder l’excellente série de Douglas Crockford sur Javascript, et dans le dernier épisode (jusqu’à présent), loopage explique pourquoi Node.js est une solution presque parfaite pour le code côté serveur.

Il parle de garder l’état, pas dans la firebase database, mais dans les fermetures exécutées dans Node.js, il déclare également que les systèmes de templates (comme JSP, PHP et ASP) sont une abstraction médiocre pour les applications Web plus compliquées et que node.js fournit une solution à cela.

Et je suis prêt à acheter, mais je ne trouve aucun exemple d’applications Web utilisant ce modèle, ni aucun livre ou tutoriel sur la manière de procéder. Je ne parle pas d’une application simple , mais de quelque chose qui utiliserait les modèles dont Crockford a parlé dans son exposé. Tout le monde sait où je peux trouver des tutoriels / exemples d’applications Web écrites en Node.js (et oui, je connais Geddy et ExpressJs , mais ils ne semblent pas suivre les schémas radicalement différents dont parlait Crockford, et ils ressemblaient plus à obtenir une expérience Railsy sur Node.js).

[Note de 3 ans dans le futur: il semble que Express , Geddy , Sails , Kraken et tous soient des ré-implémentations des frameworks Rails / Symfony / Spring de Ruby / PHP / Java. Alors que des choses comme Hoodie et Meteor sont des tentatives pour un tout nouveau paradigme. KOA semble intéressant, mais est loin d’être utilisable, mais semble s’appuyer sur les forces du javascript avec l’histoire des applications MVC du passé. 3 ans plus tard, Nodejs continue de vivre des moments excitants, même si ce n’est plus la nouvelle tendance. Au moins, il y a beaucoup d’exemples de Node actuellement utilisés dans le monde réel …

Je vous suggère de vérifier les différents tutoriels qui sortent récemment. Mon favori actuel est:

http://nodetuts.com/

J’espère que cela t’aides.

La compétition Node Knockout s’est achevée récemment et de nombreuses soumissions sont disponibles sur github. Le site de la compétition ne semble pas fonctionner pour le moment, mais je suis sûr que vous pouvez accéder à quelques entrées sur Google.

DailyJS a un bon tutoriel (longue série de 24 articles) qui vous guide à travers tous les aspects de la construction d’une application de bloc-notes (y compris tous les extras possibles).

Voici un aperçu du tutoriel: http://dailyjs.com/2010/11/01/node-tutorial/

Et voici un lien vers tous les articles: http://dailyjs.com/tags.html#nodepad

Mettre à jour

Dav Glass de Yahoo a donné une conférence à YuiConf2010 en novembre, qui est maintenant disponible dans Video from .

Il montre très bien comment on peut utiliser YUI3 pour rendre des widgets côté serveur et les faire fonctionner avec des requêtes GET lorsque JS est désactivé, ou simplement les faire fonctionner normalement quand il est actif.

Il montre également des exemples d’utilisation du DOM côté serveur pour appliquer des feuilles de style avant le rendu et d’autres choses intéressantes.

Les démos peuvent être trouvées sur son compte GitHub .

La partie qui manque d’IMO pour rendre cela vraiment génial, est une sorte de stockage sous-jacent de l’état du widget. Pour que l’on puisse visiter la page sans JavaScript et que tout fonctionne comme prévu, ils activent JS et maintenant, le widget a le même état que précédemment mais fonctionne sans recharger la page, puis enregistre une sauvegarde sur le serveur + WebSockets à synchroniser entre plusieurs navigateur ouvert …. et la prochaine génération d’ARIA discrètes et gracieusement dégradantes est née.

Réponse originale

Eh bien allez-y et construit vous-même alors.

Sérieusement, 90% de toutes les applications Web fonctionnent bien avec une approche REST, bien sûr, vous pouvez faire des choses magiques comme le suivi des utilisateurs, le suivi des téléchargements en temps réel, la vérification des parties des vidéos, etc.

L’un des problèmes est l’évolutivité, dès que vous avez plus d’un processus Node, beaucoup (mais pas tous) des avantages d’avoir les données stockées entre les requêtes disparaissent, vous devez donc vous assurer que les clients atteignent toujours le même processus. Et même dans ce cas, les choses plus importantes auront encore besoin d’une couche de firebase database.

Node.js n’est pas la solution pour tout, je suis sûr que les gens vont construire des choses vraiment géniales dans le futur, mais cela nécessite du temps, beaucoup ne font que transférer des choses sur Node pour faire avancer les choses.

Ce qui rend Node.js si génial, c’est le fait qu’il rationalise le processus de développement, que vous devez écrire moins de code, qu’il fonctionne parfaitement avec JSON, vous perdez tout ce changement de contexte.

J’ai principalement fait des expériences de jeu jusqu’à présent, mais je peux dire à coup sûr qu’il y aura beaucoup de choses intéressantes dans le futur multi-joueurs (ou même MMO), qui utilisent à la fois HTML5 et Node.js.

Node.js continue de gagner du terrain, il n’est même pas proche du Hype RoR il y a quelques années (regardez le tag Node.js ici sur SO, à peine 4-5 questions par jour).

Rome (ou RoR) n’a pas été construite pendant la nuit et Node.js non plus.

Node.js a tout le potentiel dont il a besoin, mais les gens essaient toujours de le faire, alors je vous suggère de les rejoindre 🙂

La chose la plus proche est probablement le travail expérimental de Dav Glass utilisant node.js, express et YUI3. Fondamentalement, il explique comment YUI3 est utilisé pour rendre le balisage côté serveur, puis envoyé au client où la liaison à l’événement et aux données se produit. La beauté est que YUI3 est utilisé tel quel sur le client et le serveur. Cela fait beaucoup de sens. Le gros problème est qu’il n’y a pas encore de bibliothèque DOM côté serveur prête pour la production.

screencast