Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Diseño por capas -> Capa "View": Opciones y algo que se me ocurre...

Estas en el tema de Diseño por capas -> Capa "View": Opciones y algo que se me ocurre... en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola qué tal? Estoy acá introduciendome de apoco en este tema de los diseños por capas y empece a armar un modelo, algo que me ...
  #1 (permalink)  
Antiguo 02/01/2008, 04:15
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 4 meses
Puntos: 2
Diseño por capas -> Capa "View": Opciones y algo que se me ocurre...

Hola qué tal?

Estoy acá introduciendome de apoco en este tema de los diseños por capas y empece a armar un modelo, algo que me quede como para trabajar luego en todos los proyectos que me surjan y tengo algunas dudas con la capa "VISTA":

Generalmente la gente usa algo como smarty ó alguna librería similar para separar las cosas pero a mi la verdad es que no me gusta smarty. En un principio se me habia ocurrido armar una librería parecida pero me di cuenta que iva a terminar armando algo muy similar... se me ocurre que hay opciones más livianas que smarty y me interesan, pero tengo algo en mente y me gustaría ver qué les parece a ustedes como una opción alternativa:

¿Qué pasa si genero un XML con los valores obtenidos en la capa "de abajo" y que la capa de "vista" lo parsee con JavaScript via DOM?

Podría armarme plantillas compuestas por un HTML y un JS tal vez, ó más bien tener un JS único y que se recorra el DOM poniendo los valores indicados para cada "CAMPO"...

¿Qué opinan? ¿es perder el tiempo? ¿qué opciones se usan comunmente además de smarty?

Muchas gracias! :)

edu
  #2 (permalink)  
Antiguo 02/01/2008, 05:09
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: Diseño por capas -> Capa "View": Opciones y algo que se me ocurre...

El motor de plantillas Smarty es uno de los más potentes y más complejos. Hay otros motores más sencillos y rápidos como el FastTemplate o NokTemplate.

Un saludo
  #3 (permalink)  
Antiguo 02/01/2008, 07:48
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 4 meses
Puntos: 2
Re: Diseño por capas -> Capa "View": Opciones y algo que se me ocurre...

Hola Jerkan, gracias por responder.

Estuve leyendo sobre NokTemplate... me gustó. SMARTY me parece muy pesado al dope... a mi me gusta que todo sea super liviano.

¿Sobre lo del XML? ¿Alguno lo hiso así alguna vez?


Saludos!
  #4 (permalink)  
Antiguo 02/01/2008, 12:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Diseño por capas -> Capa "View": Opciones y algo que se me ocurre...

No creo que encontrarias el mejor rendimiento si usas XML y parsearlo via Javascript, aunque puedes ver algun framework como Backbase que hace precisamente lo que buscas.

Saludos.
  #5 (permalink)  
Antiguo 02/01/2008, 13:21
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 4 meses
Puntos: 2
Re: Diseño por capas -> Capa "View": Opciones y algo que se me ocurre...

Si ya me di cuenta que no me va a servir... mejor el XML para los webservices y listo...
Voy a ver si uso algun sistema de plantillas y a ello le sumo un cacheador y listo el pollo y pelada la gallina.

Aun así, lo del XML parseado con js me sigue pareciendo interesante, para alguna webada lo voy a terminar usando, ya vere jaja :P
El problema sería para cachearlo, tendría que armar archivos XML con la data si quiero cachear y siempre estaría el proceso de parsear... de la otra forma puedo cachear en archivos HTML...

Gracias GatorV

un saludo!
  #6 (permalink)  
Antiguo 02/01/2008, 13:34
Avatar de pragone  
Fecha de Ingreso: diciembre-2007
Ubicación: Madrid
Mensajes: 223
Antigüedad: 16 años, 4 meses
Puntos: 2
Re: Diseño por capas -> Capa "View": Opciones y algo que se me ocurre...

Hola Computer XTress

Me parece interesante lo que comentas... De hecho eso, en principio es la base de AJAX, que puedas cargar datos una vez que se ha cargado la página sin necesidad de hacer reload.

Supongo que tendría el beneficio de que del lado del servidor el "template" sería un HTML estático y lo que tu generarías sería un XML con los datos a cargar.
Pero le veo algunos inconvenientes:
1.- Cuando trabajas del lado del servidor las diferencias entre browser son menores que cuando trabajas desde el cliente... esto sería una complejidad añadida.
2.- Nunca sería adoptado por alguien que tenga en mente optimizar su sitio para buscadores (cualquier empresa) puesto que si el contenido se carga con una llamada AJAX los crawlers no lo verán nunca y el posicionamiento sería una pesadilla (sería como tratar de posicionar una página hecha en Flash... puff que dolor de cabeza).
3.- Piensa que si bien Smarty parece pesado, lo cierto es que como tu comentas, si tratas de hacer algo con funcionalidad similar terminarías probablemente con algo parecido... por mi parte lo uso y lo que trato de hacer es "jugar" mucho con el cache y el id de compilación y paso tantas cosas como puedo de la lógica de presentación a la etapa de compilación en lugar de en la etapa de ejecución.

Espero te sirva.

Saludos,
  #7 (permalink)  
Antiguo 02/01/2008, 22:44
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 4 meses
Puntos: 2
Re: Diseño por capas -> Capa "View": Opciones y algo que se me ocurre...

Que bol**do que soy... claro si parseo y genero el HTML con JS me olvido del posicionamiento, ja. Gracias, no había visto pasar esa :P

Bueno, smarty suma 1 punto... ahora bien, qué pasa con el tema de la cache de smarty? es decir, si tengo una home que se actualiza sola smarty se da cuenta de cuando generar un nuevo archivo HTML ?

Yo use smarty solo un par de veces y por trabajos en los que me pedian y lo que hacian era sincronizar una renovación del HTML cada 1 hora ó mismo renovarlo manualmente... eso me parece tétrico...

Por otro lado... ¿se puede indicar a smarty que haga ó no cache de ciertas paginas? por que programe un foro hace tiempo y eso también lo voy a pasar a plantillas, el tema es que si va a estar generando 1 html por cada post que aparece va a explotar el servidor :P


Gracias muchachos por indicarme el camino de la luz... lol

saludos.
  #8 (permalink)  
Antiguo 03/01/2008, 19:45
Avatar de pragone  
Fecha de Ingreso: diciembre-2007
Ubicación: Madrid
Mensajes: 223
Antigüedad: 16 años, 4 meses
Puntos: 2
Re: Diseño por capas -> Capa "View": Opciones y algo que se me ocurre...

Pues, con respecto al control del Caché, tienes varias formas, a Smarty puedes indicarle que quieres que expire una página en específico que tenga en el caché, o si simplemente es una página con muchas visitas te basta con indicarle que la duración en el caché de una página en particular es X cantidad de segundos. Tienes bastante control.
Y con respecto a la otra pregunta, también puedes indicarle en cada request si quieres o no que use el caché. De hecho, te recomendaría que simplemente crees una clase que extienda a Smarty y le puedas pasar los parámetros de configuración que más uses en el constructor.
  #9 (permalink)  
Antiguo 04/01/2008, 06:03
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 4 meses
Puntos: 2
Re: Diseño por capas -> Capa "View": Opciones y algo que se me ocurre...

Hola nuevamente, gracias por tu respuesta.

Ayer estuve leyendo sobre smarty y otros sistemas similares, incluso algunas guias sobre como hacer sistemas de cacheo uno mismo... definitivamente voy a implementar un sistema de cacheo pero por lo visto no hay forma *simple* o directa de que se genere un HTML "cache" solo si hay algo nuevo que mostrar... al menos los sistemas de plantillas no traen uno.

Tal vez se pueda crear un paso PREVIO a la creación del HTML "cache" en el cual se chequee si hay algun cambio pero es dificil... en base a qué me voy a dar cuenta? tal vez al último acceso...

Con respecto a motores me gusto mucho NOK Template. Lastima que no me lo puedo bajar, no funciona la web ! :P


Un saludo y gracias por tu ayuda!

edu
  #10 (permalink)  
Antiguo 04/01/2008, 06:13
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: Diseño por capas -> Capa "View": Opciones y algo que se me ocurre...

Es verdad que no van los enlaces de descargas del NokTemplate. Si quieres te lo puedo pasar.
  #11 (permalink)  
Antiguo 04/01/2008, 06:42
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 4 meses
Puntos: 2
Re: Diseño por capas -> Capa "View": Opciones y algo que se me ocurre...

Dale pls!

Te lo agradecería mucho :)

Mi mail es smashingpumpking //at// hotmail

Muchas gracias!

edu
  #12 (permalink)  
Antiguo 05/01/2008, 15:40
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: Diseño por capas -> Capa "View": Opciones y algo que se me ocurre...

Enviado.

Un saludo
  #13 (permalink)  
Antiguo 06/01/2008, 09:01
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 4 meses
Puntos: 2
Re: Diseño por capas -> Capa "View": Opciones y algo que se me ocurre...

gracias !

Un saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:15.