Smarty cambió mi vida.
Hace mucho que vengo desarrollando en PHP y siempre opté por rebuscármelas solo a la hora de crear componentes o soluciones para mis proyectos. Una por aprender, otra por encarar un desafío y hacer los proyectos sean un poco más interesantes.
He aquí que ahora me encontraba en la necesidad de usar templates para mis proyectos y no sabía por cuál decidirme. Primero se me pasó por la cabeza, como siempre, crearme uno propio e integrarlo a mi propio "framework" al que he bautizado como ISWL (InfoSoft Web Library). Empecé viendo algunos sistemas de templates existentes hasta que me decidí ir por Smarty.
Tengo entendido que es uno de los más conocidos, y creo que el mejor
aunque esto lo digo por los comentarios que he recogido en la misma
web.Y el hecho que esté de que ahora esté soportado en la comunidad PHP ( http://smarty.php.net) es como que refuerza esto que "se dice" por ahí.
Pero como todo software, tiene sus adeptos, fanáticos y enemigos. Yo
normalmente intento no fanatizarme con nada y tampoco quiero meterme en
esas eternas y subjetivas conversaciones de que esto es mejor que
aquello. Como la clásica de las clásicas: Linux vs. Windows…
jejeje… Mi postura es totalmente práctica. Como servidor, creo que a
Linux no hay con que darle. Cómo estación de trabajo, no hay nada como
MS Windows tal vez (y supongo que Mac). Se que Linux funciona muy bien
como estación gráfica… pero lamentablemente faltan herramientas como
para que se convierta en una alternativa seria frente a MS Windows.
En fin… ya me voy desviando del tema… ah.. estaba hablando de
los templates engines para PHP. Cómo les decía… encontré en Smarty un
sistema muy bien desarrolllado, totalmente orientado a objetos, bien
documentando, y fácil de usar, instalar y personalizar.
Primero tenía como "miedo" por como afectaría el rendimiento de la aplicación. Pero, lo bueno de Smarty, es que compila los plantillas. Es decir, todo el "seudocódigo" que usamos para definir las regiones y zonas que luego serían reemplazadas por los valores que asignemos a las plantillas son convertidos a instrucciones "PHP" automáticamente por Smarty. Con esto, se evita que que cada vez que usemos la plantilla, se tenga que parsear la misma transformado y reemplazando el seudocódigo por valores.
Y otra ventaja, que todabía no he provado, es que soporta caché. Pero no voy a hablar de algo que no sé porqué todavía no lo he probado y tampoco estudiado como corresponde.
Por suerte logré integrar perfectamente Smarty a mi Framework y no he tenido ningún solo problemita. Funciona de mil maravillas.
Ahora… ¿qué ventajas tengo?
Básicamente agiliza nuestro trabajo en equipo. Mientras alguien programa el script, yo puedo trabajar sobre la plantilla que usaría el script. Y he aquí la separación del "diseño" (plantilla) de la aplicación en sí (script’s), qué es lo más importante.
Primero puede armar todas las páginas sin pensar en el diseño. Simplemente con los datos que voy a manejar. De esta forma se que valores va a necesitar el script asignarle a la plantilla asi el programador puede empezar a trabajar. Una vez definido esto, el diseñador puede empezar a darle el "look and feel" a la plantilla. Cada uno trabaja por su lado, y sin hacerce "daño" y nos evitamos a veces una dura discusión o un sarta de insultos a la hora de alterar el diseño y ese diseño altere el código PHP embebido en la página.
Asi que… usar Templates puede ser bueno para la comunidad de diseñadores y programadores y evitar eventuales asesinatos, estragulamientos, golpes, insultos, etc., consecuencia directa del trabajo "dispar" de los unos y los otros.
Las ventajas son muchas más, pero creo que estas que menciono son más que importantes.
Un comentario en “Smarty cambió mi vida.”
Y si que era bueno !!!!
Muy buen analisis, sin haber experimentado antes. Creo que ahora, ya a finales del 2005, Smarty se ha afianzado como utilísima capa de abstracción entre el diseño y los scripts’s.
Estoy totalmente deacuerdo con tus palabras, solo añadir que en la practica (por mi propia experiencia) es lo mejorcito para desarrollo web.
(También habría que sumar la abstracción a la base de datos con PEAR y el uso de SMARTY tb con el css).
Sludos, Juliank(Galiza)
Julian
6 de Diciembre de 2005 a las 11:19 am