Ejemplos / tutoriales de la aplicación web Node.js [cerrado]

110

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 ...

Kris Erickson
fuente
10
Lo creo muy constructivo. Estaba buscando tutoriales / aplicaciones. Esto funcionó para mí: de.slideshare.net/gabriele.lana/nodejs-explained-with-examples
MartinL

Respuestas:

8

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.

Chris Bloom
fuente
nodeknockout.posterous.com/and-the-winners-are tiene una lista de algunas de las entradas, pero no tiene enlaces directos a ningún repositorio de github.
Chris Bloom
1
El repositorio de Node Knockout Github contiene varios proyectos: github.com/nko
dhofstet
4

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 :)

Ivo Wetzel
fuente
2

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

mgutz
fuente
1
Sí, en realidad esta charla fue una de las charlas que me entusiasmaron con Node.js (aunque la idea de usar jquery en lugar de YUI blog.nodejitsu.com/jsdom-jquery-in-5-lines-on-nodejs es mucho más emocionante para mí)
Kris Erickson