Nelson, você não acha que um Quick Start Guide supriria essas dificuldades que você falou? Pois suas reclamações parecem ter mais a ver com o -- perdoem a expressão extrânea -- custo de resposta de começar a programar em Catalyst do que o core em si, e isso eu acho que um bom guia remedia.
2011/7/15 Geovanny Junio :: eutsiv <[email protected]> > > 2011/7/15 Nelson Ferraz <[email protected]> > >> 2011/7/15 Hernan Lopes <[email protected]>: >> > catalyst é perfeito... >> >> Se ele é perfeito, significa que não pode ser melhorado. Eu me recuso >> a pensar dessa maneira. >> >> E se ele *não é* perfeito, a questão que fica é: como pode ser >> melhorado? Todos nós sabemos -- e eu sou o primeiro a admitir -- que o >> Catalyst é extremamente flexível e poderoso. Qualquer melhoria nessa >> área trará apenas ganhos marginais, e não nos ajudará a atingir a >> ubiquidade. (Se é que este é o nosso objetivo.) >> >> > depois de trabalhar com .net por 1 ano e pouco, >> > tive aula de struts na faculdade e te confesso que fiz o trabalho final >> em um final >> > de semana após a primeira semana de aula... acabei indo estudar e >> trabalhar um >> > pouco com COBOL em uma oportunidade de estágio que me apareceu... depois >> > dessas experiências estava me formando em ciência da computação e o >> assunto >> > do momento eram "frameworks" >> >> Você estudou ciência da computação, tem experiência com .Net, PHP, e >> até COBOL. Definitivamente não é o público-alvo que me preocupa. >> >> Aliás: posso estar enganado, mas a maioria daqueles que defenderam o >> Catalyst nessa thread estudam (ou estudaram) Ciência da Computação. >> >> Vamos pensar sobre isso. >> >> E aqui eu peço um favor: não entrem em modo de defesa automático, não >> tentem proteger o seu framework preferido; ajudem-me a identificar >> falhas, pontos que podem ser melhorados. >> >> Eu quero saber como é que o sujeito que *não* estudou computação e mal >> sabe HTML -- ou seja, 99% da população -- vai usar o Catalyst. >> >> Vamos fazer o seguinte exercício: uma página web simples, com um >> formulário que ao ser enviado responda "Hello, $nome!". É assim que a >> maioria das pessoas vai tomar o primeiro contato com o seu framework. >> >> >> 1) PHP >> >> Abra um editor de texto e salve estes dois arquivos, em qualquer lugar: >> >> ==== index.php ===== >> >> <form method="post" action="hello.php"> >> <input type="text" name="name"> >> <input type="submit"> >> </form> >> >> ==== /index.php ===== >> >> >> ==== hello.php ===== >> >> <h1><?php echo( $_POST["name"] ) ?></h1> >> >> ==== /hello.php ===== >> >> Isso é tudo. Dois arquivos, em qualquer lugar, e está funcionando. >> >> >> 2) Mojolicious::Lite >> >> ==== hello.pl ===== >> >> #!/usr/bin/perl >> >> use Mojolicious::Lite; >> >> get '/' => 'index'; >> >> post '/hello' => sub { >> my $self = shift; >> my $name = $self->param('name'); >> $self->stash( name => $name ); >> } => 'hello'; >> >> app->start(); >> >> __DATA__ >> @@ index.html.ep >> <form method="post" action="/hello"> >> <input type="text" name="name"> >> <input type="submit"> >> </form> >> >> @@ hello.html.ep >> <h1>Hello, <%= $name %></h1> >> >> ==== /hello.pl ===== >> >> Execute o programa com: ./hello.pl daemon >> >> Isso é tudo. Um arquivo, em qualquer lugar, e está pronto. >> >> >> 3) Catalyst >> >> Vou seguir o tutorial em >> >> http://search.cpan.org/~bobtfish/Catalyst-Manual/lib/Catalyst/Manual/Tutorial/02_CatalystBasics.pod >> >> $ catalyst.pl Hello >> created "Hello" >> created "Hello/script" >> created "Hello/lib" >> created "Hello/root" >> ... >> created "Hello/script/hello_create.pl" >> Change to application directory and Run "perl Makefile.PL" to make >> sure your install is complete >> $ cd Hello >> >> $ script/hello_create.pl view HTML TT >> >> >> Open the lib/Hello/Controller/Root.pm file in your editor. >> >> sub index :Path :Args(0) { >> my ( $self, $c ) = @_; >> >> $c->stash(template => 'index.tt'); >> } >> >> Create a root/index.tt template file (put it in the root under the >> Hello directory that is the base of your application). >> >> <form method="post" action="/hello"> >> <input type="text" name="name"> >> <input type="submit"> >> </form> >> >> ==== Neste ponto eu precisei buscar na documentação como obter um >> parâmetro do request ($c->req->params), pois a informação só aparece >> duas páginas do tutorial adiante - WTF???? ===== >> >> sub hello :Path :Args(0) { >> my ( $self, $c ) = @_; >> >> my $name = $c->req->params->{name}; >> >> $c->stash( >> name => $name, >> template => 'hello.tt', >> ); >> } >> >> Create a root/index.tt template file (put it in the root under the >> Hello directory that is the base of your application). >> >> <h1>Hello, [% name %]</h1> >> >> >> Isso é tudo... pelo menos eu acho, pois não consegui instalar o >> Catalyst no meu Mac [one dependency not OK >> (MooseX::Role::WithOverloading)]. WTF?!?!?!?!?!! >> >> Espero que vocês consigam entender a minha frustração. Imaginem um >> usuário iniciante, com pouca experiência em Perl! >> > > Eu fico sem graça de opinar pois não colaboro com a comunidade, mas, qual o > sentido de deixar o Catalyst fácil para 99% das pessoas ( as que mal sabem > HTML )? Essas pessoas querem é produtos prontos: Wordpress, Joomla, > Openbravo, etc.... > > Acho que a discussão na verdade é aquela velha: "Como angariar novos > seguidores para Perl?" - e penso que a resposta também é: Produtos. > > O problema que enfrentamos é que a comunidade é formada em sua maioria de > pessoas com perfil de cientistas da computação, então a galera prefere > escrever coisas mais core. > > O pessoal aqui já faz demais - [ workshop, equinocio, yapc ] - ( para ser > sincero eu não faço nada para a comunidade atualmente ), mas acho que falta > definirem um produto e trabalharem nele, de preferência algo mais > enterprise, tipo um CRM. > > abs, > > >> >> []s >> >> Nelson >> =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 >> > > > =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 > >
=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
