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 de mantener el estado, no en la base de datos, sino 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 deficiente 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 ningún ejemplo de aplicaciones web que usen 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. Cualquiera sabe dónde puedo encontrar algunos tutoriales / ejemplos de aplicaciones web escritas en Node.js (y sí, sé sobre Geddy y ExpressJs , pero no parecen seguir los patrones radicalmente diferentes de los que hablaba Crockford, y eran más como obteniendo una experiencia Railsy en Node.js).
[Nota de 3 años en el futuro: Parece que Express , Geddy , Sails , Kraken y todos son reimplementaciones 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 son tiempos emocionantes para Nodejs, incluso si ya no es la nueva moda. Al menos hay muchos ejemplos del mundo real de Node en uso ahora ...
fuente
Respuestas:
Le sugiero que consulte los diversos tutoriales que se están publicando últimamente. Mi favorito actual es:
http://nodetuts.com/
Espero que esto ayude.
fuente
La competencia Node Knockout terminó 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ía buscar en Google algunas entradas para verificar.
fuente
DailyJS tiene un buen tutorial (serie larga 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 (incluidos 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
fuente
Actualizar
Dav Glass de Yahoo ha dado una charla en YuiConf2010 en noviembre, que ahora está disponible en Video de .
Muestra en gran medida cómo se puede usar YUI3 para renderizar widgets en el lado del servidor y hacer que funcionen con solicitudes GET cuando JS está deshabilitado, o simplemente hacer que funcionen normalmente cuando está activo.
También muestra ejemplos de cómo usar DOM del lado del servidor para aplicar hojas de estilo antes de renderizar y otras cosas interesantes.
Las demostraciones se pueden encontrar en su cuenta de GitHub .
La parte que falta en mi opinión para que esto sea realmente impresionante 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 esperaba, luego encienden JS y ahora el widget tiene el mismo estado que antes pero funciona sin recargar la página, luego agrega algunos guardados en el servidor + WebSockets para sincronizar entre múltiples navegador abierto ... y nace la próxima generación de ARIA discretos y graciosamente degradantes.
Respuesta original
Pues adelante, constrúyelo tú mismo.
En serio, el 90% de todas las aplicaciones web que existen funcionan bien con un enfoque REST, por supuesto, podría hacer cosas mágicas como un seguimiento de usuarios superior, seguimiento de descargas en tiempo real, verificar qué partes de videos se están viendo, etc.
Un problema es la escalabilidad, tan pronto como tenga más de un proceso de nodo, muchos (pero no todos) los beneficios de tener los datos almacenados entre las solicitudes desaparecen, por lo que debe asegurarse de que los clientes siempre accedan al mismo proceso. E incluso entonces, las cosas más importantes volverán a necesitar una capa de base de datos.
Node.
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 juegos hasta ahora, pero puedo decir con certeza que habrá muchas cosas interesantes para múltiples jugadores (o incluso MMO) en el futuro, que usarán HTML5 y Node.js.
Node.js todavía está ganando terreno, ni siquiera está cerca de RoR Hype hace algunos años (solo eche un vistazo a la etiqueta Node.js aquí en SO, apenas 4-5 preguntas por día).
Rome (o RoR) no se construyó de la noche a la mañana, ni tampoco 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 :)
fuente
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 la vinculación al evento y los datos. La belleza es que YUI3 se usa tal cual tanto en el cliente como en el servidor. Tiene mucho sentido. El gran problema es que todavía no hay una biblioteca DOM del lado del servidor lista para producción.
screencast
fuente