Para evitar actualizaciones de página en aplicaciones web, hay dos formas de generar el marcadoGeneración de marcado HTML: lado del cliente vs. Lado del Servidor, ¿tu perspectiva?
a) Realice una llamada Ajax, genere el marcado (HTML) en el servidor y devuélvala como respuesta, manipule el DOM con el nuevo contenido en el lado del cliente.
b) Realice una llamada Ajax que devuelva datos en formato JSON, en el lado del cliente utilice el motor de plantillas y javascript para actualizar el DOM.
Puedo pensar en las siguientes consideraciones, ¿cuál es su opinión/experiencia con estas alternativas?
1) Idioma: Para el enfoque A anterior, puede programar en el idioma que desee en el lado del servidor. El enfoque B requiere JavaScript.
2) La reutilización de aplicación del lado del servidor: JSON llamadas resintonización tiene más capacidad de reutilización con comparar a devolver llamadas marcado HTML (esto no es realmente un problema si no hay consumidores fuera de la aplicación)
P, S. : 1) Hay una pregunta similar aquí - Creating HTML: PHP server-side vs. jQuery client-side. En mi caso, sugiero usar un motor de plantillas del lado del cliente como tmpt, ejs.
2) Tanto en el servidor como en el lado del cliente, planeo usar el patrón MVC.
Gracias por señalar el KnockoutJS, he hecho Silverlight con MVVM, por lo que me parece muy familiar. ¿Lo ha usado en aplicaciones de producción o está al tanto de personas que usan en entornos de producción? Todo el concepto parece bastante nuevo para el JavaScript, por lo que nos preguntamos qué tan maduro es. – patelsan
Sí, lo uso en 2 aplicaciones en producción, y funciona genial :) –