Exemples / didacticiels d'application Web Node.js [fermé]


110

Donc , je fini de regarder une excellente série sur Javascript, et dans l'épisode final (jusqu'à présent), Douglas Crockford loopage il expose pourquoi Node.js est une solution presque parfaite pour le code côté serveur.

Il parle de garder l'état, pas dans la base de données, mais dans les fermetures exécutées dans Node.js, il déclare également que les systèmes de modèles (comme JSP, PHP et ASP) sont une mauvaise abstraction 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 didacticiel expliquant comment procéder. Je ne parle pas d'une simple application , mais de quelque chose qui utiliserait les modèles dont Crockford a parlé dans son discours. Tout le monde sait où je peux trouver des tutoriels / exemples d'applications Web écrits en Node.js (et oui, je connais Geddy et ExpressJs , mais ils ne semblent pas suivre les modèles radicalement différents dont Crockford parlait, et ressemblaient davantage à obtenir une expérience Railsy sur Node.js).

[Note de 3 ans dans le futur: il semble qu'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 il est loin d'être utilisable, mais il semble qu'il s'appuie sur les forces de javascript avec l'histoire des applications MVC du passé. 3 ans plus tard et c'est toujours une période passionnante pour Nodejs, même si ce n'est plus la nouvelle tendance. Au moins, il y a beaucoup d'exemples réels de Node actuellement utilisés ...


10
Je pense que c'est très constructif. Je cherchais des tutoriels / applications. Cela a fonctionné pour moi: de.slideshare.net/gabriele.lana/nodejs-explained-with-examples
MartinL

Réponses:



8

Le concours Node Knockout s'est terminé récemment et de nombreuses soumissions sont disponibles sur github. Le site du concours ne semble pas fonctionner pour le moment, mais je suis sûr que vous pourriez rechercher quelques entrées sur Google.


nodeknockout.posterous.com/and-the-winners-are a une liste de certaines des entrées, mais aucun lien direct vers des dépôts github.
Chris Bloom du

1
Le repo Node Knockout Github contient plusieurs projets: github.com/nko
dhofstet


4

Mettre à jour

Dav Glass de Yahoo a donné une conférence à YuiConf2010 en novembre qui est maintenant disponible en vidéo à partir de .

Il montre dans une large mesure comment on peut utiliser YUI3 pour rendre les widgets côté serveur et les faire fonctionner avec les requêtes GET lorsque JS est désactivé, ou simplement les faire fonctionner normalement lorsqu'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 à l'OMI 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, puis ils activent JS et maintenant le widget a le même état qu'avant mais fonctionne sans rechargement de page, puis jette une sauvegarde sur le serveur + WebSockets pour se synchroniser entre plusieurs navigateur ouvert .... et la prochaine génération d'ARIA discrets et gracieusement dégradants est née.

Réponse originale

Eh bien, allez-y et construisez-le 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 supérieur des utilisateurs, le suivi des téléchargements en temps réel, la vérification des parties de vidéos qui sont visionnées, etc.

Un problème est l'évolutivité, dès que vous avez plus d'un processus Node, de nombreux avantages (mais pas tous) de la conservation des données entre les demandes disparaissent, vous devez donc vous assurer que les clients suivent toujours le même processus. Et même dans ce cas, les choses plus importantes auront à nouveau besoin d'une couche de base de données.

Node.js n'est pas la solution à tout, je suis sûr que les gens vont créer de très bons trucs à l'avenir, mais cela prend du temps, en ce moment, beaucoup sont juste en train de porter des trucs sur Node pour faire avancer les choses.

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

Jusqu'à présent, j'ai principalement fait des expériences de jeu, mais je peux affirmer avec certitude qu'il y aura à l'avenir beaucoup de choses intéressantes multi-joueurs (ou même MMO), qui utilisent à la fois HTML5 et Node.js.

Node.js gagne toujours du terrain, il n'est même pas proche du RoR Hype il y a quelques années (il suffit de jeter un œil à la balise Node.js ici sur SO, à peine 4-5 questions par jour).

Rome (ou RoR) n'a pas été construite du jour au lendemain, et Node.js ne le sera pas non plus.

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


2

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 a beaucoup de sens. Le seul gros problème est qu'il n'y a pas encore de bibliothèque DOM côté serveur prête pour la production.

screencast


1
Oui, en fait, cette conférence a été l'une des discussions qui m'ont enthousiasmé par Node.js (bien que l'idée d'utiliser jquery plutôt que YUI blog.nodejitsu.com/jsdom-jquery-in-5-lines-on-nodejs soit bien plus excitant pour moi)
Kris Erickson
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.