Ejemplos/tutoriales de la aplicación web Node.js
web-applications sails.js (5)
Así que terminé de ver la excelente serie de Douglas Crockford en Javascript, y en el episodio final (hasta ahora), loopage explica por qué Node.js es una solución casi perfecta para el código del lado del servidor.
Habla sobre mantener el estado, no en la base de datos, pero en cierres que se ejecutan en Node.js, también afirma que los sistemas de plantillas (como JSP, PHP y ASP) son una abstracción pobre para aplicaciones web más complicadas y que node.js proporciona una solución a esto.
Y estoy listo para comprar, pero no puedo encontrar ejemplos de aplicaciones web que utilicen este patrón, ni ningún libro o tutorial sobre cómo hacer esto. No estoy hablando de una aplicación simple , sino de algo que usaría los patrones de los que Crockford habló en su charla. Alguien sabe dónde puedo encontrar algunos tutoriales / ejemplos de aplicaciones web escritos en Node.js (y sí, sé sobre Geddy y ExpressJs , pero no parecen seguir los patrones radicalmente diferentes de los que hablaba Crockford, y se parecían más a obteniendo una experiencia de Railsy en Node.js).
[Nota de 3 años en el futuro: Parece que ExpressJs , Geddy , Sails , Kraken y todos son re-implementaciones de los frameworks Rails / Symfony / Spring de Ruby / PHP / Java. Mientras que cosas como Hoodie y Meteor son intentos de un paradigma completamente nuevo. KOA parece interesante, pero está muy lejos de ser utilizable, pero parece que se basa en las fortalezas de javascript con la historia de las aplicaciones MVC del pasado. 3 años después y todavía es un momento emocionante para Nodejs, incluso si ya no es el nuevo calor. Al menos hay muchos ejemplos reales de Node en uso ahora ...
DailyJS tiene un buen tutorial (una larga serie de 24 publicaciones) que lo guía a través de todos los aspectos de la creación de una aplicación de bloc de notas (incluyendo todos los posibles extras).
Aquí hay una descripción general del tutorial: http://dailyjs.com/2010/11/01/node-tutorial/
Y aquí hay un enlace a todas las publicaciones: http://dailyjs.com/tags.html#nodepad
La competencia Node Knockout cerró recientemente, y muchas de las presentaciones están disponibles en github. El sitio de la competencia no parece estar funcionando en este momento, pero estoy seguro de que podrías buscar algunas entradas en Google.
Lo más parecido es probablemente el trabajo experimental de Dav Glass usando node.js, express y YUI3. Básicamente, explica cómo se usa YUI3 para representar el marcado en el lado del servidor, y luego se envía al cliente donde se produce el enlace al evento y a los datos. La belleza es YUI3 se usa tal cual, tanto en el cliente como en el servidor. Tiene mucho sentido. El único gran problema es que aún no hay una biblioteca DOM lista para el servidor de producción.
Sugeriría que revises los diversos tutoriales que están apareciendo últimamente. Mi favorito actual es:
Espero que esto ayude.
Actualizar
Dav Glass de Yahoo dio una charla en YuiConf2010 en noviembre, que ahora está disponible en Video from .
Muestra en gran medida cómo uno puede usar YUI3 para renderizar widgets en el lado del servidor y hacer que trabajen con solicitudes GET cuando JS está desactivado, o simplemente hacer que funcionen normalmente cuando está activo.
También muestra ejemplos de cómo usar el DOM del lado del servidor para aplicar hojas de estilo antes del renderizado y otras cosas interesantes.
Las demostraciones se pueden encontrar en su cuenta de GitHub .
La parte que le falta a IMO para que esto sea realmente increíble es algún tipo de almacenamiento subyacente del estado del widget. Para que uno pueda visitar la página sin JavaScript y todo funcione como se espera, luego activa JS y ahora el widget tiene el mismo estado que antes pero funciona sin recargar la página, luego agrega algo de ahorro al servidor + WebSockets para sincronizar entre múltiples abrir el navegador ... y nace la próxima generación de ARIA discretos y graciosamente degradantes.
Respuesta original
Bueno, sigue adelante y construye tú mismo entonces.
En serio, el 90% de todas las aplicaciones web funcionan bien con un enfoque REST, por supuesto que puedes hacer cosas mágicas como el seguimiento superior de los usuarios, el seguimiento de las descargas en tiempo real, ver qué partes de los videos se están viendo, etc.
Un problema es la escalabilidad, tan pronto como tenga más de 1 proceso de nodo, muchos (pero no todos) los beneficios de tener los datos almacenados entre las solicitudes desaparecerán, por lo que debe asegurarse de que los clientes siempre realicen el mismo proceso. E incluso entonces, las cosas más grandes necesitarán nuevamente una capa de base de datos.
Node.js no es la solución para todo, estoy seguro de que la gente creará cosas realmente geniales en el futuro, pero eso necesita algo de tiempo, en este momento muchos simplemente transfieren cosas a Node para que todo funcione.
Lo que (en mi humilde opinión) hace que Node.js sea tan bueno, es el hecho de que agiliza el proceso de Desarrollo, tienes que escribir menos código, funciona perfectamente con JSON, pierdes todo ese cambio de contexto.
Principalmente hice experimentos de juego hasta ahora, pero puedo decir con certeza que habrá muchas cosas divertidas para jugadores múltiples (o incluso MMO) en el futuro, que usen HTML5 y Node.js.
Node.js todavía está ganando tracción, ni siquiera está cerca del RoR Hype hace algunos años (solo eche un vistazo a la etiqueta Node.js aquí en SO, apenas 4-5 preguntas al día).
Roma (o RoR) no se construyó durante la noche, y tampoco lo será Node.js.
Node.js tiene todo el potencial que necesita, pero la gente todavía está probando cosas, así que te sugiero que te unas a ellos :)