En este artículo se analizan las ventajas de la utilización de plantillas(templates) para el desarrollo de aplicaciones web, con un breve ejemplo introductorio. ¿Menéame debería utilizar plantillas, tal como lo propone su autor?
#1No me considero, ni mucho menos, un gran programador Web, pero tengo suficiente experiencia programando páginas en lenguaje ASP, como para decir que el autor tiene más razón que un santo. Suerte que he leido este articulo justo antes de comenzar un nuevo proyecto que tengo en mente. Puedo decir que ha cambiado bastante la forma de plantearmelo.
www.lnds.net/2006/09/not_so_smarty.html : "En el caso de Blogmemes, el 80% del tiempo de rendering de una página se consume en Smarty, y estoy hablando sólo de tiempo en el servidor."
Pues parece que NO, ya va el servidor bastante cargado como para encima añadirle más carga :-P
#3Slash, sin embargo utiliza Template-Toolkit como sistema de gestión de plantillas. ¿Es Template-Toolkit mucho más eficiente que Smarty? (pregunto con total honestidad, ya que nunca he realizado pruebas en sistemas con grandes requerimientos de performance).
#4No confundir, hay aplicaciones en que las plantillas son muy útiles.
Y probablemente Meneame y Blogmemes podrían usarlas, pero probablemente no vale la pena.
En otro artículo (www.lnds.net/2006/10/plantillas_php_there_is_silver_bullets.html) explico que BlogMemes no puede usar los mecanismos de caching de Smarty, y por lo tanto usar Smarty no lo beneficia.
Claro que Blogmemes no tiene los tráficos de Meneame, pero no estoy contento con su desempeño. Si algún día Blogmemes llegara a un nivel de tráfico como Meneame, sería desastroso.
A mi tampoco me gusta el código empotrado como lo tiene Meneame, pero creo que dado los requerimientos de desempeño que se necesitan, es lo mejor que hay, salvo hacer una reingenieria enorme, y costosa, o cambiar de plataforma.
#5Vaya vaya, y pensar que yo incrustaba mi codigo html en mis humildes php pensando que era lo optimo, buen artículo bastante ilustrativo, resta aplicar los conceptos.
Gracias
#7Decididamente el uso de plantillas te simplifica la vida a la hora de programar y diseñar.
El mismo autor de este artículo es quien me introdujo, hace ya algunos años, al mundo de las plantillas, tanto para PHP como para Perl, y fue algo muy constructivo.
Es increíble ver como mejora el tiempo de desarrollo cuando se utilizan plantillas, ya que se puede tranquilamente "paralelizar" el trabajo del diseñador y el del programador. Y ni hablar a la hora de cambiar el diseño de un sitio, basta solo un par de horas para tener todo andando nuevamente y estar, al mismo tiempo, tranquilo que la lógica del sistema ha quedado intacta.
Realmente me gustaría que este tipo de prácticas empiece a crecer en el ambiente de los programadores y diseñadores web.
¿Saben los dolores de cabeza que ahorra el uso de estas herramientas cuando hay que "meter mano" en el código escrito por otra persona? Tener la lógica del sistema separada del código HTML es algo impagable!!
#9Juas, ¿alguien se ha fijado alguna vez en que PHP es un lenguaje de plantillas? Smarty y cía. son la mayor aberración existente: lenguajes de plantillas hechos sobre otro lenguaje de plantillas xD
Me hace bastante gracia la gente que se lía a soltar "echo"s para cualquier trozo de html, en vez de usar los escapes de ?>html<?php y <?=$var?>, pero luego quieren usar Smarty o chorradas similares. Desgraciadamente, no hay nada que supla el desconocimiento del lenguaje.
#10Usé un tiempo smarty y la verdad que es fabuloso, pero hace un uso excesivo de recursos y en algunos sitios con algo de demanda, a pesar del cache, código compilado, se vuelve bastante lento (tuve un caso en que dejó fuera de servicio el servidor por un pico de demanda).
Ahora en algunos casos uso un sistema de templates que he creado para mis aplicaciones, y en otros casos directamente meto el código PHP en las páginas, pero solamente haciendo llamadas a objetos o funciones que devuelven un array de datos que yo los proceso a mi gusto a la hora de presentarlos.
Siempre sigo la premisa de mantener separado lo más que pueda el código que tiene que ver con la presentación y el código que... » ver todo el comentario
#12Hoy en día PHP tiene incorporado el objeto parseador de XML y XSLT. Por lo tanto es posible extraer informacion de una Base de datos en XML y manipularla como queramos.
Si me preguntarán que es lo mejor para meneame lo más fácil y flexible seria ofrecerla como un servicio WEB XML.
#14alguien ha usado modelixe? obtiene muy buenos resultados en los test (de media diría que el mejor junto a pear-it y en menor medida con simpletemplate y fast template)
es bueno?
#15lo de siempre, plantillas contra espagueti, macqueros contra peceros...
razon tiene danieloso con lo del XSL, me pase tantas horas haciendo xsls que me sale urticaria na mas de hablar de plantillas ¿razones tecnicas? ninguna pero ¿quien las quiere habiendo para todos los gustos?
mnm.uib.es/gallir/posts/2006/09/26/820/ : Plantillas PHP: there is no silver bullet
www.lnds.net/2006/09/not_so_smarty.html : "En el caso de Blogmemes, el 80% del tiempo de rendering de una página se consume en Smarty, y estoy hablando sólo de tiempo en el servidor."
Pues parece que NO, ya va el servidor bastante cargado como para encima añadirle más carga :-P
Y probablemente Meneame y Blogmemes podrían usarlas, pero probablemente no vale la pena.
En otro artículo (www.lnds.net/2006/10/plantillas_php_there_is_silver_bullets.html) explico que BlogMemes no puede usar los mecanismos de caching de Smarty, y por lo tanto usar Smarty no lo beneficia.
Claro que Blogmemes no tiene los tráficos de Meneame, pero no estoy contento con su desempeño. Si algún día Blogmemes llegara a un nivel de tráfico como Meneame, sería desastroso.
A mi tampoco me gusta el código empotrado como lo tiene Meneame, pero creo que dado los requerimientos de desempeño que se necesitan, es lo mejor que hay, salvo hacer una reingenieria enorme, y costosa, o cambiar de plataforma.
Gracias
www.massassi.com/bTemplate/benchmarks/
El mismo autor de este artículo es quien me introdujo, hace ya algunos años, al mundo de las plantillas, tanto para PHP como para Perl, y fue algo muy constructivo.
Es increíble ver como mejora el tiempo de desarrollo cuando se utilizan plantillas, ya que se puede tranquilamente "paralelizar" el trabajo del diseñador y el del programador. Y ni hablar a la hora de cambiar el diseño de un sitio, basta solo un par de horas para tener todo andando nuevamente y estar, al mismo tiempo, tranquilo que la lógica del sistema ha quedado intacta.
Realmente me gustaría que este tipo de prácticas empiece a crecer en el ambiente de los programadores y diseñadores web.
¿Saben los dolores de cabeza que ahorra el uso de estas herramientas cuando hay que "meter mano" en el código escrito por otra persona? Tener la lógica del sistema separada del código HTML es algo impagable!!
Me hace bastante gracia la gente que se lía a soltar "echo"s para cualquier trozo de html, en vez de usar los escapes de ?>html<?php y <?=$var?>, pero luego quieren usar Smarty o chorradas similares. Desgraciadamente, no hay nada que supla el desconocimiento del lenguaje.
Ahora en algunos casos uso un sistema de templates que he creado para mis aplicaciones, y en otros casos directamente meto el código PHP en las páginas, pero solamente haciendo llamadas a objetos o funciones que devuelven un array de datos que yo los proceso a mi gusto a la hora de presentarlos.
Siempre sigo la premisa de mantener separado lo más que pueda el código que tiene que ver con la presentación y el código que... » ver todo el comentario
echo "<fieldset><legend>";
echo _("Información personal");
if ($login == $current_user->user_login) {
echo '(<a href="' . $globals['base_url'] . 'profile.php">' . _('modificar') . '</a>';
}elseif{
...
Yo lo cambiaria por:
<fieldset>
<legend><?=_("Información personal");?>
<?PHP
if ($login == $current_user->user_login)
{
?>
(<a href="<?=$globals['base_url'];?>profile.php"><?=_('modificar');?></a>
<?PHP
}
elseif
{
...
Ahora, de lo que no estoy seguro es de que si esta forma de programar afecta o no el rendimiento de la aplicación. Si alguno lo sabe, escucho ;)
Si me preguntarán que es lo mejor para meneame lo más fácil y flexible seria ofrecerla como un servicio WEB XML.
es bueno?
razon tiene danieloso con lo del XSL, me pase tantas horas haciendo xsls que me sale urticaria na mas de hablar de plantillas ¿razones tecnicas? ninguna pero ¿quien las quiere habiendo para todos los gustos?