2011/1/7 Rogerio Ferreira <[email protected]>: > Oi Pessoal, >
Oi Rogério, bem-vindo! > Estou postando essa mensagem na lista, pois acredito que não lugar melhor > para chegar a uma conclusão. Já conheço alguns Frameworks, CMSs, etc..., e > algumas linguagens de scripting. Eu tenho um projeto para iniciar e andei > pesquisando sobre o Catalyst, apesar de conhecer Rails, e como não gosto > muito de Django, a pesar de gostar de python, eu tenho pretensão de usar o > Catalyst neste projeto. Por isso gostaria de saber de vocês, já que aqui é a > vossa praia, sobre suas experiências com o Framework, tais como: Agilidade > para Produzir Resultados, Performance, Manutenção de Código Produzido e > projetos que já usam Catalyst em ambiente de grande demanda de acessos > simultaneos. > > Quem puder compartilhar comigo algo a respeito, eu ficarei grato. > O Catalyst é um excelente framework, estável e robusto, e permite o desenvolvimento de aplicações escaláveis desde a primeira linha de código. De fato, ele foi projetado pra isso, então o primeiro resultado pode não ser tão rápido quando em um framework mais simples, mas o quinto resultado será muito mais rápido e gratificante. Se vc leu o XKCD dessa semana[http://xkcd.com/844/], o Catalyst faz um esforço bastante válido e razoável pra ligar o "code right" com o "code fast" (e, quem sabe, te tirar eventualmente do loop infinito e levar ao mítico "good code") :-) A agilidade para produzir resultados, infelizmente, e consequentemente, depende do seu grau de conhecimento. Mais ainda (alguns diriam até que principalmente), é importante que ele se encaixe com seu modo de pensar. Como o Catalyst é a grande cola entre soluções de templating e ORMs, vc precisa saber usar todas essas pontas para chegar a resultados palpáveis. Do lado das Views temos o Template Toolkit como escolha da maioria. Já para o Model você pode ir do robusto DBIx::Class a alternativas como MongoDB, CouchDB ou mesmo KiokuDB. Experimente fazer o tutorial[http://search.cpan.org/perldoc?Catalyst::Manual::Tutorial] e ver se vc se sente confortável com o Catalyst. O tutorial cobre ainda o básico de Template Toolkit e DBIx::Class. Se gostar, pode comprar o livro [http://www.amazon.co.uk/Definitive-Guide-Catalyst-Maintainable-Applications/dp/1430223650?&camp=2486&linkCode=wey&tag=enligperlorga-21&creative=8882]. Se não gostar, não vale muito a pena insistir, e o mundo Perl está cheio de alternativas bacanas para outros meios de pensar, como o Mojolicious e o Dancer. O desempenho de soluções web depende muito da infraestrutura por baixo. Se vc vem de Rails, sabe que um bom hardware faz toda a diferença, que o grande gargalo é o banco, e que muitas vezes sai mais em conta pagar por uma melhoria na infra do que pagar um ou mais devs pra otimizar o código. Dito isso, sim, as facilidades oferecidas pelo Catalyst compensam e muito o overhead que ele causa, ainda mais rodando em cima de um fastcgi. Ao contrário de muitas soluções, o Catalyst não coloca propaganda em headers ou coisa que o valha, então é difícil listar sites com ele a menos que o dev procure a comunidade e avise. Se vc quer um exemplo de "projetos que já usam Catalyst em ambiente de grande demanda de acessos simultânos", um bom exemplo é o YouPorn[http://www.youporn.com - NSFW], que circula entre os 50 sites mais visitados do mundo. O iPlayer da BBC não é muito conhecido aqui no Brasil, mas também é de altíssimo tráfego. Espero ter ajudado. Se sobrou alguma dúvida, tamos aí pra isso :-) []s -b =begin disclaimer Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ SaoPaulo-pm mailing list: [email protected] L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer
