2010-09-29 10 views
109

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.Node.js Web Application examples/tutorials

Habla de 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 node.js proporciona una solución a esto.

Y estoy listo para comprar, pero no puedo encontrar ejemplos de aplicaciones web que usen este patrón, o cualquier libro o tutorial sobre cómo hacer esto. No estoy hablando de un simple application, 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 escritas en Node.js (y sí, sé 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 Express, Geddy, Sails, Kraken y todos son re-implementaciones de los marcos de rieles/Symfony/Primavera desde Ruby/PHP/Java. Mientras que cosas como Hoodie y Meteor son intentos en un paradigma completamente nuevo. KOA parece interesante, pero está muy lejos de ser útil, 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 del mundo real de Node en uso ahora ...

+0

primer enlace -> muertos –

+9

creo que muy constructiva. Estaba buscando tutoriales/aplicaciones. Esto funcionó para mí: http://de.slideshare.net/gabriele.lana/nodejs-explained-with-examples – MartinL

Respuesta

87

yo sugeriría que echa un vistazo a los diversos tutoriales que están saliendo últimamente. Mi favorito actual es:

http://nodetuts.com/

Espero que esto ayude.

+1

James Shore tiene una serie de videos donde cubre la implementación de https://github.com/jamesshore/lets_code_javascript –

8

La competencia Node Knockout concluyó 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.

+0

http://nodeknockout.posterous.com/and-the-winners-are tiene una lista de algunos de las entradas, pero no enlaces directos a ningún repositorio de github. –

+1

El node Knockout Github repo contiene varios proyectos: http://github.com/nko – dhofstet

4

actualización

Dav cristal de Yahoo ha dado una charla en YuiConf2010 en noviembre que ya 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 DOM del lado del servidor para aplicar hojas de estilo antes del renderizado y otras cosas interesantes.

Las demostraciones se pueden encontrar en su GitHub Account.

La parte que le falta a IMO para hacer esto 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 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

bien seguir adelante y construir usted mismo a continuación.

En serio, el 90% de todas las aplicaciones web funcionan bien con un enfoque REST; por supuesto, puedes hacer cosas mágicas como un seguimiento superior del usuario, seguimiento de descargas en tiempo real, ver qué partes de 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 solicitudes desaparecen, por lo que debe asegurarse de que los clientes siempre aciertan al 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 buenas en el futuro, pero eso requiere algo de tiempo, en este momento muchos simplemente transfieren cosas a Node para que todo funcione.

Lo que (IMHO) hace que Node.js sea tan genial, es el hecho de que agiliza el proceso de Desarrollo, tiene que escribir menos código, funciona perfectamente con JSON, pierde todo ese cambio de contexto.

Principalmente hice experimentos de juego hasta ahora, pero puedo decir con certeza que en el futuro habrá muchas cosas divertidas para jugadores múltiples (o incluso MMO) que usen HTML5 y Node.js.

Node.js sigue ganando tracción, ni siquiera está cerca del RoR Hype hace algunos años (basta con echar un vistazo a la etiqueta Node.js aquí en SO, apenas 4-5 preguntas al día).

Roma (o RoR) no fue construida durante la noche, y tampoco lo será Node.js.

Node.js tiene todo el potencial que necesita, pero la gente todavía están tratando las cosas, así que te sugiero que te unas a ellos :)

2

Lo más parecido es el trabajo experimental de probabilidades 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.

screencast

+1

Sí, en realidad esta charla fue una de las conversaciones que me entusiasmó con Node.js (aunque la idea de usar jquery en lugar de YUI http: //blog.nodejitsu.com/jsdom-jquery-in-5-lines-on-nodejs es mucho más emocionante para mí) –