2012-08-27 5 views
5

Tengo una aplicación web cuya estructura actual es procesar todo en el navegador con backbone.js y plantillas del lado del cliente, extrayendo todo el contenido dinámico de una API JSON con Python. Parte de la aplicación es contenida-y suficiente para que no me importe servirla a Google y apoyar a clientes que no sean JS, así que he estado pensando en mudarme a una arquitectura donde la primera solicitud sea manejada por una aplicación Node que hace que el primera página y la sirve renderizada, después de lo cual Backbone asumirá el control del cliente si JS está habilitado para presentar solicitudes posteriores, ya que funcionan ahora.¿Cómo volver a adaptar una aplicación Backbone existente para la representación del lado del servidor con node.js?

Conozco un par de esfuerzos (como Development Seed's bones) para implementar este tipo de estrategia, pero parecen esperar una aplicación que se planificó de antemano con su uso en mente, que, para mejor o para peor, el mío no.

Estoy buscando herramientas, bibliotecas, etc., que faciliten esta transición. Puntos de bonificación si es práctico ofrecer experiencias ligeramente diferentes en algunas áreas para clientes que no son JS. ¿Pensamientos?

+0

En el nivel muy básico Node.js hará que cualquier cosa usando el motor incorporado de Jade templating (que es súper práctico, OMI). No entiendo cuál es el problema con la combinación de representación del lado del cliente. Su aplicación necesita renderizar al menos algo, al menos '' donde incluirá archivos JS, etc. –

+0

Correcto, básicamente en el momento en que solicita "/" (o cualquier otra cosa que no sea un punto final API), usted obtener una página con con scripts en ella y un cuerpo vacío, y el enrutador de la red troncal se da cuenta de qué mostrar, lo toma a través de la API y representa el cuerpo en el cliente. Me gustaría tomar esa infraestructura existente de enrutamiento/renderizado y moverme al servidor para que la solicitud inicial obtenga un cuerpo que ya está lleno, y me pregunto si hay bibliotecas que lo hagan más fácil. –

Respuesta

Cuestiones relacionadas