Tacno 2 Denunciar post Postado Outubro 28, 2013 Olá. Estou querendo utilizar um framework de template e na internet ví o Smarty e o Twig. Já utilizei o smarty e achei ele muito bom. Porém, me parece que não está tendo mais atualizações e o site parece desatualizado. Gostaria de saber em relação ao Twig. Quem já utilizou os dois? Qual seria a melhor opção? Estava pesquisando em relação a performance e em alguns sites os gráficos apontavam o smarty como melhor e outros o twig como melhor. Gostaria da opinião de vocês. Qual a melhor escolha?? Desde já agradeço. Compartilhar este post Link para o post Compartilhar em outros sites
Enrico Pereira 299 Denunciar post Postado Outubro 28, 2013 Prefiro o Twig. O Twig tem mais funções, é (muito) mais elegante, é mais bem feito, tem uma comunidade maior (mais features novas e menos bugs), roda na HHVM, etc. Ambos têm uma performance bem semelhante, não fará muita diferença. Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Outubro 28, 2013 Antes de decidir se você vai usar Smarty, Twing ou qualquer outro sistema de templates, você precisa considerar se você REALMENTE precisa de uma ferramenta de templates. Uma classe simples que te permita armazenar dados num array e resgatá-los depois, incluir um arquivo qualquer onde vai haver nada mais que HTML e vários "abre e fecha" de <?php ?> e, então, enviar o conteúdo para o navegador, já é na maioria das vezes suficiente para você separar o PHP do HTML. Agora se você quer uma ferramenta de template pra produzir um HTML mais "bonitinho", ter pré-fabricado plugins ou cvom funções que o próprio PHP faz, você está apenas acrescentando mais uma camada ao fluxo da Requisição, o que potencialmente aumenta a demora no processo, você está matando formiga com bala de canhão. Compartilhar este post Link para o post Compartilhar em outros sites
Enrico Pereira 299 Denunciar post Postado Outubro 28, 2013 Mas ambos compilam para PHP no final. O Fabien, criador do Twig, escreveu um artigo na época em que ele (re)criou o Twig. Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Outubro 29, 2013 Pois é, até que se prove o contrário todos os frameworks fazem isso pra diminuir a carga necessária. Mas ainda assim, se não é necessário, não se deve usar. Só que sempre vai haver aquele usuário infeliz e sem sorte que tropeçou no chinelo quando chegou do serviço debaixo de chuva que vai acessar uma determinada página que não esteja compilada ou não cacheada. Tá, tá, isso é extremismo demais, um em milhão, quem sabe. Mas é só um cenário demonstrativo... Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Outubro 29, 2013 "cada programador é uma ilha" Compartilhar este post Link para o post Compartilhar em outros sites
Tacno 2 Denunciar post Postado Outubro 29, 2013 Quem diz que deve utilizar um sistema de template não sou eu. Olha https://developers.google.com/speed/articles/optimizing-php Use cachingMaking use of a caching module, such as Memcache, or a templating system which supports caching, such as Smarty, can help to improve the performance of your website by caching database results and rendered pages. Recomenda-se a utilização, ou então o Memcache nativo do Google. Porém acredito que valha a pena sim, justamente pelo fato de se ter varios métodos prontos, ter intellisense para o zend studio e eclipse além de separar melhor a camada de visualização. Em relação ao desempenho, o cache está aí pra isso =D Quero também para utilizar o minify no HTML, pois o google recomenda também e tanto o twig, quanto o smarty possuem essa função. Quero pra fazer justamente o contrário, aumentar o desempenho. O servidor monta isso rápido, sai mais rápido, pois o servidor monta a página em menos de 1 segundo, já o cliente demora mais que isso pra resgatar os dados. Meu site está abrindo em 0.877 segundos. Quero otimizar mais um pouco. Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Outubro 29, 2013 Ainda acho desnecessário um framework de template pra isso. Veja bem... Com um pouquinho de trabalho você pode criar um pequeno script que leia um determinado URL, obtenha o código-fonte, minimize-o (melhor tradução que encontre para "minify") e salve o HTML estático para ser servido. E, então, com algumas poucas linhas de um console você disparar um cURL para a URL principal que vá navegando links adentro cacheando tudo de uma vez. Acho que foi o Evandro que postou tal snippet uns dias atrás, num tópico de crawler. E mais! Se esse script estiver integrado à um backend de administração, cada vez que você editar um determinado conteúdo, a própria aplicação determina a necessidade de regenerar o cache daquela página e te oferece um botãozinho pra disparar a tarefa. Assim você sequer precisa de um CronJob rodando periodicamente. Aliás, muito me admira o Google ter postado ou permitido a postagem de um artigo desses que descreve a mais mal vista das práticas de Orientação a Objetos. Compartilhar este post Link para o post Compartilhar em outros sites
Tacno 2 Denunciar post Postado Outubro 29, 2013 "minimize-o (melhor tradução que encontre para "minify")" Pensei a mesma coisa quando fui escrever! haha Bem vou utilizar o Twig. Caso o desempenho piore volto aqui e comento. Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Outubro 29, 2013 Piorar, piorar, não vai. Que vai ter um performance menor que uma aplicação sem, isso é fato, mas a diferença é tão pequena que não justifica não usá-lo. O que vai determinar MESMO a performance é o seu PHP. Se você otimizar suas consultas, cachear o que for possível, diminuir a quantidade de includes e etc. já terá percorrido metade do percurso. Compartilhar este post Link para o post Compartilhar em outros sites
Enrico Pereira 299 Denunciar post Postado Outubro 29, 2013 Como o velhinho Knuth diz, a otimização prematura é a raiz de todo o mal. O melhor é não querer otimizar a performance como se não houvesse amanhã e depois fazer um profiling (xDebug, Zend Debugger) para buscar gargalos. Aliás, muito me admira o Google ter postado ou permitido a postagem de um artigo desses que descreve a mais mal vista das práticas de Orientação a Objetos. Há uma lei não escrita: TODO artigo que vá falar de performance, benchmark e micro-otimizações (principalmente em PHP) será uma grande porcaria e ensinará um milhão de más práticas para ganhar um nano-segundo. Compartilhar este post Link para o post Compartilhar em outros sites
RobyFLC 6 Denunciar post Postado Outubro 29, 2013 Usei Smarty durante muito tempo e depois troquei por Twig e não vi grande diferença de performance entre os dois (mas não cheguei a fazer nenhum benchmark). Durante muito tempo, enquanto usava hosts compartilhados, eu usei o Smartoptimizer pra melhorar a performance dos meus sites sem que eu tivesse que alterar muito os códigos deles. Depois que passei a ter controle sobre o meu servidor, o mod_pagespeed fez uma diferença gigantesca. Cheguei a fazer alguns testes simples usando siege mas, como eram pra uso pessoal, não os documentei. Se tiver oportunidade de utilizá-lo, eu REAMENTE recomendo. Compartilhar este post Link para o post Compartilhar em outros sites
raonibs 64 Denunciar post Postado Outubro 30, 2013 Framework de template em minha opinião serve apenas quando for necessário vetar, por segurança, o acesso dos designers direto ao php. Compartilhar este post Link para o post Compartilhar em outros sites
Jeferson Daniel 11 Denunciar post Postado Outubro 30, 2013 Outra vantagem, que não sei se já citaram, é compartilhar um template do PHP ao Javascript. Se sua aplicação/site coloca muita lógica de apresentação no javascript isso pode ser interessante. No github existe uma implementação do Twig em Javascript: https://github.com/justjohn/twig.js Compartilhar este post Link para o post Compartilhar em outros sites