[SP-pm] Opiniões sobre Catalyst Web Framework

breno breno at rio.pm.org
Fri Jan 7 06:56:03 PST 2011


2011/1/7 Rogerio Ferreira <rogeriotux em gmail.com>:
> 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


More information about the SaoPaulo-pm mailing list