Por que você usa Smarty mesmo?
A biblioteca de templates Smarty para o PHP é algo que os desenvolvedores, eu inclusive, sempre encararam como a solução perfeita para a separação da lógica de apresentação da lógica do seu sistema.
Simples de usar, bastava instanciar a classe, passar valores para ela e mandar exibir.
Acreditávamos que os designers achariam ótimo não precisar usar <?=$var?>, afinal de contas, {$var} é muito mais simples.
Mas você já parou pra pensar se isso faz tanta diferença assim? Em um projeto que estou desenvolvendo com outro programador e um designer, uma das primeiras coisas que fiz no Zend Framework foi alterar a camada de visualização pra trabalhar com o Smarty, ao invés do seu sistema de templates padrão, que usa arquivos .phtml com PHP. Depois de um tempo, percebi que estávamos perdendo algumas funcionalidades do ZF, em troca apenas de "facilidade" pro designer na hora de trabalhar com os templates. E por fim acabamos concluindo que essa "facilidade" não existe.
Fazer o designer trabalhar com uma sintaxe de linguagem diferente do PHP, daria tanto trabalho quanto trabalhar com a sintaxe do PHP, e pode até dificultar caso ele precise utilizar alguma função ou uma lógica um pouco mais complexa.
Sendo assim, então por que eu continuaria trabalhando com Smarty? Não encontrei argumentos a favor do uso da biblioteca, e tive discussões sobre o assunto na lista php-brasilia e no MSN com alguns desenvolvedores. Ninguém conseguiu levantar argumentos para continuar trabalhando com Smarty.
Você deve continuar separando sua aplicação em camadas, mas o uso de bibliotecas de Template como o Smarty é absolutamente descartável.

June 9th, 2007 - 12:55
Realmente descartável caso a gente use um framework bem projetado. Em outro projeto pessoal estou usando o Code Igniter, além de usá-lo no trabalho, e ele também permite usar o Smarty na camada de visualização.
Mas pra quê? Além do mais, ter que se adaptar a mais uma pseudo-linguagem e treinar o seu designer pra ela tem um custo maior que usar o próprio php de todos os dias.
June 25th, 2007 - 18:47
Engraçado, outro dia comentei com o pessoal aqui mais ou menos oque você falou acima.. entao percebemos que uma das unicas vantagens seria a capacidade de trabalhar com os componentes html.. tambem teria o fato de que o smarty compila o template, otimiza e gera um cache… o que em larga escala, pode fazer uma diferença sensível.
abraaaço!
June 25th, 2007 - 19:10
Cache é uma funcionalidade que está inserida no contexto de quase todos os frameworks que tem por aí, então não é uma vantagem do Smarty.
E não vejo onde o Smarty poderia otimizar o template.
August 16th, 2007 - 14:34
Concordo Newton! Eles realmente utilizam cache, porque com templates, a aplicação perde bastante o desempenho, comparado com uma aplicação sem templates.
Basta ter uma boa organização do código, funcionalidades e dos arquivos. Que sua aplicação concerteza terá uma performace melhor e uma boa manutenção.
Na verdade tem muita gente que utiliza o Smarty só porque os outros estão utilizando.
Abraço.
December 25th, 2007 - 16:43
Eu ainda vejo uma. Se você tem uma pessoa fazendo o designe, mas você não tem o controle sobre o que ela faz. Usar o smarty impede esta pessoa de colocar código php, dá para fazer coisas interessantes como um wiki.
July 7th, 2008 - 11:20
também vejo algumas vantagens em usar uma camada com tag-libs, pois como nosso amigo Fernando falou, vc pode limitar o designer a mexer so no designer…
existem algumas empresas que depois que vc entrega o projeto, o “setor de desenvolvimento” da mesma já começa a querer a mexer no desing…
entao que mexam só no design e nao façam cagadas nas camadas de baixo…
October 29th, 2008 - 20:02
Eu acredito que o Smarty é mais interessante para o programador do que para o designer. Ou seja, para o programador mais ‘rústico’ que quer ter um produto ‘bonito’. Ele encomenda o modelo todo ao designer , e pode manipular este modelo com Smarty. Não sei se este tipo de adaptação é fácil em frameworks. Ainda, em muitos casos você terá que desenvolver um produto e adaptá-lo ao gosto de n clientes diferentes(um quer azul, outro quer verde, etc…). Senti facilidade em fazer isto quando uso Smarty. Um outro caso interessante, porém muito particular, foi quando tive que gerar um relatório em dois formatos: html para visualização e XML para reaproveitar em outro processo. Assim , com um código e 2 templates ( um para o XML e outro para o HTML) usando Smarty, ficou tranquilo.
Bem , conto estas coisas porque estou habituado a usar o Smarty,que tem meatendido e oferece documentação on-line em português. Mas se alguém tiver outra dica, sempre é bem vinda.
Abraços.