Quiero desarrollar una pagina entera en ajax, es decir, todos los contenidos de la pagina se deben cargar de forma asincrona, pero todo ello sin dejar de lado la accesibilidad por lo que he planteado el desarrollo de la manera siguiente:
Para separar la logica de la aplicacion de la estructura de la misma he optado por utilizar un sistema de plantillas en PHP, de manera similar al que hay en un tuto de cristalab
http://www.cristalab.com/tutoriales/132/creacion-y-uso-de-plantillas-o-templates-en-php
De esta manera se genera todo el contenido de la pagina en el servidor, devolviendo como respuesta toda la pagina entera.
El problema me surge al introducir la logica del cliente(el motor ajax), ya que lo que tendria que recibir como respuesta serian simplemente los datos que varien(como el titulo de la pagina,los contenidos...), para asi cargarlos de forma asincrona.
Una posible solucion que se me ha ocurrido es enviar desde el cliente(motor ajax) al servidor una variable indicando de esta forma que el usuario tiene el javascript activado de forma que el motor de la plantilla no se ejecutase y en su lugar se devolviesen los datos al cliente en un determinado formato(JSON o XML)a saber.Para de esta forma mediante el DOM insertar cada dato en el lugar correspondiente(Es como hacer el motor de la plantilla en el cliente), y ademas tambien aliviamos el trabajo en el servidor.
Por el contrario si el usuario no dispone de javascript o no tiene activado el mismo, la variable nunca se enviara al servidor de manera que el motor de la plantilla en PHP se ejecutara normalmente devolviendo toda la estructura html con los datos ya parseados.
De esta forma creo que se es mas accesible.
Me gustaria saber si alguien se ha encotrado en una situacion parecida y si ha encontrado alguna forma de solucionar este problema, ya que la unica solucion que veo por el momento es la que acabo de comentar.
Muchas gracias a todos por su atencion