Hace 17 años | Por gabor a blog.smaldone.com.ar
Publicado hace 17 años por gabor a blog.smaldone.com.ar

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?

Comentarios

j

No 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 (http://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.

mis2centavos

Slash, 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).

mis2centavos

Aquí hay algunos benchmarks interesantes, comparando varios sistemas de plantillas para PHP:
http://www.massassi.com/bTemplate/benchmarks/

s

No 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.

pablo-ar

Usé 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 tiene que ver con los procesos y manejo de datos (db). Digamos que me manejo más o menos como se maneja WordPress. Usa el propio PHP como lenguaje para sus templates.

No hace mucho estaba viendo el código de meneame y personalmente no me gustó nada. Demasiada mezcla de código para el proceso de los datos con el código de presentación (html). Aunque supongo que tiene su razón de ser, ya que fue desarrollado pensando en el máximo rendimiento posible como leí que explicaba Ricardo Gallir (en su blog si mal no recuerdo).

Pero, el que se lleva todos los laureles es el PHP Nuke. Sinceramente la peor cosa que ví en materia de programación. En ese sistema si que ni siquiera atina a separar "un poquito" las cosas.

slobos

Vaya 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

l

Decididamente 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!!

D

Juas, ¿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 lol

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, pero luego quieren usar Smarty o chorradas similares. Desgraciadamente, no hay nada que supla el desconocimiento del lenguaje.

mis2centavos

Lástima #7 que el oso todavía ni se entere, no?

SiCk

alguien 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?

pablo-ar

Creo que el código de meneame sería mucho más claro si en vez de usar construcciones como las que se ejemplifica en esta página:

echo "";
echo _("Información personal");
if ($login == $current_user->user_login) ' . _('modificar') . '';
">elseif{
...

Yo lo cambiaria por:




(

D

lo 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?

D

Hoy 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.

g

Una página con hojas de estilo css bien aplicadas supera cualquier sistema de plantillas