Iniciando desenvolvimento web ágil com Perl (Mojolicious)
Publicado por Daniel Vinciguerra (última atualização em 06/06/2016)
[ Hits: 4.118 ]
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> <% } %>
Descubra se seu e-mail ou conta foi "pwned"
Localizador de palavras em arquivos nao binarios
Nenhum comentário foi encontrado.
Como agendar um backup automático do PostgreSQL no Cron evitando o problema de senha
Como preparar o Vim/Neovim para corrigir ortografia em português
Dark Web e Malwares na internet, quanto custa?
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Como verificar o hash de um arquivo baixado da Internet e como criar um hash
Debian 12 - IPTABLES - removendo NFTABLES
OverWatch 2 - Abrindo portas do jogo no Iptables.
Como instalar o adaptador wifi USB Intelbras ACtion A1200 no Linux Mint
Como normalizar seus arquivos MP3 para que fiquem no mesmo volume
O que você está ouvindo agora? [2] (131)
LibreOffice alterar nomenclatura do ícone (15)
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba
[Shell Script] Tire screenshots com Scrot facilmente com Zscrot
[Shell Script] DioPSI - Script multidistro para instalar programas
[Shell Script] ARS Vídeos - Cortador de vídeos e webcam shooter