Iniciando desenvolvimento web ágil com Perl (Mojolicious)
Publicado por Daniel Vinciguerra (última atualização em 06/06/2016)
[ Hits: 4.732 ]
Homepage: http://bivee.com.br
Você ainda usa *cgi-lib.pl ou a *CGI.pm para desenvolver paginas de internet em Perl? A propósito; você ainda usa CGI para desenvolver alguma coisa para a web?
O CGI apesar de ser uma forma "simples" de criar sistemas web, é péssimo para a performance, desperdiçando um recurso precioso do seu servidor.
Então eu vou lhe apresentar o *Mojolicious!
Mojolicious é um framework moderno para desenvolvimento ágil de aplicações web que torna o trabalho de escrever estes softwares muito, mas muitooooo mais simples, rápido e divertido.
Com poucas linhas você pode começar a escrever sua primeira página e o melhor de tudo é que ele já conta com um servidor de desenvolvimento e produção, tudo junto na caixa! :)
Não vou abordar todos os recursos possíveis com ele (são muitos mesmo), mas podemos mostrar um exemplo de formulário para ilustrar como é simples trabalhar com o Mojo...
PRÉ-REQUISITOS
- perl 5.10 ou superior
- Módulo Mojolicious instalado
REFERÊNCIAS:
cgi-lib.pl - http://cgi-lib.berkeley.edu/
CGI.pm - http://metacpan.org/pod/CGI
Mojolicious - http://mojolicious.org/
EXECUTANDO:
morbo agile-webdev.pl
Deverá aparecer algo parecido com:
Server available at http://127.0.0.1:3000
#!/usr/bin/env perl
use Mojolicious::Lite;
# action GET: http://localhost:3000/
get '/' => 'index';
# action GET: http://localhost:3000/form
get '/form' => { message => '' } => 'form';
# action POST: http://localhost:3000/form
post '/form' => sub {
my $c = shift;
# pegando parâmetros do formulário
my $texto = $c->param('texto') || '';
# definindo uma variável do template
$c->stash( mensagem => $texto );
# renderizando o template @@ form.html.ep
$c->render('form');
};
app->start;
# templates
__DATA__
@@ index.html.ep
<p><a href="/form">Link para o form</a></p>
@@ form.html.ep
<form method="post">
<p>Digite alguma coisa no form:</p>
<p><input type="text" name="texto"></p>
<p><button type="submit">Enviar</button></p>
</form>
<% if (stash('mensagem')) { %>
<p>A mensagem digitada foi <%= stash('mensagem') %></p>
<% } %>
Perl Check Port - Entenda melhor os sockets
Nenhum comentário foi encontrado.
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
KDE Plasma - porque pode ser a melhor opção de interface gráfica
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Vou destruir sua infância:) (8)
Interface gráfica com problema (2)
Instalar Linux em notebook Sony Vaio VPCEG13EB (13)









