Eu não entendo essa crítica constante ao mojolicious. Talvez no começo a API fosse instável... Mas eu tenho uma aplicação rodando há quase dois anos e ela nunca deixou de funcionar por causa de atualizações.
Aliás... Talvez tenha sido a instabilidade da API nas primeiras versões que tenha permitido que o projeto encontrasse o ponto ideal em termos de facilidade de uso. Sem o compromisso de backward compatibility nas primeiras versões foi possível experimentar, testar hipóteses, pegar o que era bom e abandonar o que era ruim. O resultado foi uma framework tão poderosa e (na minha opinião) fácil de usar. Sent from my phone On Jul 23, 2013 9:58 AM, "Marcio Ferreira" <[email protected]> wrote: > @Nelson, concordo que com o Mojo faz essa e mais tarefas de modo trivial, > mas você garante que o código continuará funcionando com as atualizações do > Framework? Ou a cada atualização do Framework, caso eu queira usar as novas > features, preciso cruzar os dedos para que tudo continue funcionando? > > > 2013/7/23 Nelson Ferraz <[email protected]> > >> Tudo isso pra setar um cookie? >> >> Sem querer iniciar uma flamewar, mas com o Mojolicious::Lite e' bem >> simples: >> >> ##### >> >> use Mojolicious::Lite; >> >> get '/login' => sub { >> my $self = shift; >> >> # Query parameters >> my $user = $self->param('user') || ''; >> my $pass = $self->param('pass') || ''; >> >> # Store username in session >> $self->session(user => $user); >> >> } => 'index'; >> >> app->start(); >> >> ##### >> >> Isso e' tudo! >> >> Se voce estiver em duvida, assista aos tutoriais do Mojocast: >> >> http://mojocasts.com/ >> >> Em menos de 30 minutos voce podera' decidir se vale a pena mudar para um >> framework que (na minha opiniao) te ajudara' a poupar dias de trabalho e >> frustracao. >> >> Repito: meu objetivo nao e' iniciar um flamewar, mas apenas ajuda'-lo a >> tomar uma decisao bem informada. >> >> >> >> 2013/7/22 Daniel de Oliveira Mantovani < >> [email protected]> >> >>> package Admin; >>> use Moose; >>> use namespace::autoclean; >>> >>> use Catalyst::Runtime 5.80; >>> >>> # Set flags and add plugins for the application. >>> # >>> # Note that ORDERING IS IMPORTANT here as plugins are initialized in >>> order, >>> # therefore you almost certainly want to keep ConfigLoader at the head >>> of the >>> # list if you're using it. >>> # >>> # -Debug: activates the debug mode for very useful log messages >>> # ConfigLoader: will load the configuration from a Config::General >>> file in the >>> # application's home directory >>> # Static::Simple: will serve static files from the application's root >>> # directory >>> >>> use Catalyst qw/ >>> -Debug >>> ConfigLoader >>> Static::Simple >>> /; >>> >>> extends 'Catalyst'; >>> with 'CatalystX::AuthenCookie'; >>> >>> our $VERSION = '0.01'; >>> >>> # Configure the application. >>> # >>> # Note that settings in admin.conf (or other external >>> # configuration file that you set up manually) take precedence >>> # over this when using ConfigLoader. Thus configuration >>> # details given here can function as a default configuration, >>> # with an external configuration file acting as an override for >>> # local deployment. >>> >>> __PACKAGE__->config( >>> name => 'Admin', >>> # Disable deprecated behavior needed by old applications >>> disable_component_resolution_r >>> egex_fallback => 1, >>> enable_catalyst_header => 1, # Send X-Catalyst header >>> ); >>> >>> # Start the application >>> __PACKAGE__->setup(); >>> =encoding utf8 >>> >>> =head1 NAME >>> >>> Admin - Catalyst based application >>> >>> =head1 SYNOPSIS >>> >>> script/admin_server.pl >>> >>> =head1 DESCRIPTION >>> >>> [enter your description here] >>> >>> =head1 SEE ALSO >>> >>> L<Admin::Controller::Root>, L<Catalyst> >>> >>> =head1 AUTHOR >>> >>> Ricardo,,, >>> >>> =head1 LICENSE >>> >>> This library is free software. You can redistribute it and/or modify >>> it under the same terms as Perl itself. >>> >>> =cut >>> >>> 1; >>> >>> On 22 July 2013 14:47, Renato Santos <[email protected]> wrote: >>> > No caso, eu não tinha reparado. >>> > >>> > o modulo não precisa ir no qw//. >>> > >>> > Coloque o "with 'CatalystX::AuthenCookie';" depois do use Catalyst qw/ >>> ... >>> > /. assim o moose vai importar¹ as funções desse CatalystX junto com o >>> object >>> > do Catalyst. >>> > >>> > >>> > ¹ >>> > >>> http://search.cpan.org/dist/Moose/lib/Moose/Manual/Roles.pod#WHAT_IS_A_ROLE >>> ? >>> > >>> > >>> > On Mon, Jul 22, 2013 at 2:43 PM, Ricardo Alcantara >>> > <[email protected]> wrote: >>> >> >>> >> Seria isso? >>> >> >>> >> package Admin; >>> >> use Moose; >>> >> use namespace::autoclean; >>> >> >>> >> use Catalyst::Runtime 5.80; >>> >> >>> >> # Set flags and add plugins for the application. >>> >> # >>> >> # Note that ORDERING IS IMPORTANT here as plugins are initialized in >>> >> order, >>> >> # therefore you almost certainly want to keep ConfigLoader at the >>> head of >>> >> the >>> >> # list if you're using it. >>> >> # >>> >> # -Debug: activates the debug mode for very useful log >>> messages >>> >> # ConfigLoader: will load the configuration from a Config::General >>> file >>> >> in the >>> >> # application's home directory >>> >> # Static::Simple: will serve static files from the application's root >>> >> # directory >>> >> >>> >> use Catalyst qw/ >>> >> -Debug >>> >> ConfigLoader >>> >> Static::Simple >>> >> /; >>> >> >>> >> extends 'Catalyst'; >>> >> >>> >> our $VERSION = '0.01'; >>> >> >>> >> # Configure the application. >>> >> # >>> >> # Note that settings in admin.conf (or other external >>> >> # configuration file that you set up manually) take precedence >>> >> # over this when using ConfigLoader. Thus configuration >>> >> # details given here can function as a default configuration, >>> >> # with an external configuration file acting as an override for >>> >> # local deployment. >>> >> >>> >> __PACKAGE__->config( >>> >> name => 'Admin', >>> >> # Disable deprecated behavior needed by old applications >>> >> disable_component_resolution_regex_fallback => 1, >>> >> enable_catalyst_header => 1, # Send X-Catalyst header >>> >> ); >>> >> >>> >> # Start the application >>> >> __PACKAGE__->setup(); >>> >> =encoding utf8 >>> >> >>> >> =head1 NAME >>> >> >>> >> Admin - Catalyst based application >>> >> >>> >> =head1 SYNOPSIS >>> >> >>> >> script/admin_server.pl >>> >> >>> >> =head1 DESCRIPTION >>> >> >>> >> [enter your description here] >>> >> >>> >> =head1 SEE ALSO >>> >> >>> >> L<Admin::Controller::Root>, L<Catalyst> >>> >> >>> >> =head1 AUTHOR >>> >> >>> >> Ricardo,,, >>> >> >>> >> =head1 LICENSE >>> >> >>> >> This library is free software. You can redistribute it and/or modify >>> >> it under the same terms as Perl itself. >>> >> >>> >> =cut >>> >> >>> >> 1; >>> >> >>> >> >>> >> =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 >>> > >>> > >>> > >>> > >>> > -- >>> > Saravá, >>> > Renato CRON >>> > http://www.renatocron.com/blog/ >>> > @renato_cron >>> > >>> > =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 >>> > >>> >>> >>> >>> -- >>> >>> -dom >>> >>> -- >>> >>> IBM - Business Analytics Optimization Consultant >>> Daniel Mantovani +5511 8538-9897 >>> XOXO >>> =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 >>> >> >> >> >> -- >> Nelson Ferraz >> >> =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
