Prado - Um Framework PHP para Desenvolvimento de Aplicações Web

Neste artigo apresentaremos o framework PRADO. Este permite o desenvolvimento de aplicações PHP de forma produtiva e eficiente.

Esse artigo faz parte da revista WebMobile Edição 08. Clique aqui para ler todos os artigos desta edição

Clique aqui para ler esse artigo em PDF.

PRADO

Um framework PHP para desenvolvimento de aplicações Web

No desenvolvimento de aplicações web, geralmente nos deparamos com um cenário muitas vezes repetitivo e cansativo, onde boa parte do tempo é utilizada com tarefas que fogem do objetivo da aplicação ou regra de negócio. Alguns exemplos que podemos citar são validações de formulários, verificações de quais usuários têm acesso a uma determinada página, atualizações dos valores de um formulário quando executamos um post nele mesmo, também conhecido como postback, e muitos outros.

Temos no PHP uma das linguagens para desenvolvimento web mais utilizadas do mundo, que tem como principais características facilidade de utilização e uma alta performance, e que recentemente passou a receber investimentos da IBM, reconhecendo assim o seu grande potencial. No entanto, essa linguagem vinha deixando a desejar com relação ao seu modo de programar, onde linguagens como Java e ASP, evoluíram com frameworks poderosos como o Struts e o ASP.NET, respectivamente, que tornam o processo de desenvolvimento para web mais produtivo, menos oneroso com relação a manutenções e baseando-se em design patterns.

Neste artigo apresentaremos o framework PRADO. Este permite o desenvolvimento de aplicações PHP de forma produtiva e eficiente.

Um pouco de história

Nos primórdios da programação web tínhamos os famosos cgi’s escritos em linguagens como C e Perl. Naquela época, toda página dinâmica teria que ser criada usando tags html embutidas dentro do código cgi. Isso trazia uma enorme dor de cabeça tanto para dar manutenção no código, como também para alterar o layout das páginas, tarefa quase que impossível para os designers da época (um exemplo da dificuldade que era realizar essa tarefa pode ser observado na Listagem 1).

 Listagem 1. Script em perl que exibe um valor enviado por uma página utilizando o método GET.

print “Content-type: text/html\n\n”;

print “<html>\n”;

print “<head>\n”;

print “</head>\n”;

print “<body>\n”;

print “<center>\n”;

$p = $ENV{‘QUERY_STRING’};

($key,$value) = split(/=/,$p,2);

print “<h1>”,$value,”</h1>\n”;

print “</center>\n”;

print “</body>\n”;

print “</html>\n”;

 

Depois apareceram linguagens como asp e php, onde o código com a lógica dinâmica poderia ser embutido em páginas html. Dessa forma, criava-se um cenário inverso ao anterior, e que permitia uma maior facilidade para que os designers pudessem mexer mais facilmente no layout sem precisar conhecer detalhes da linguagem de programação utilizada (como pode ser observado na Listagem 2).

 Listagem 2. Script em php que exibe um valor enviado por uma página utilizando o método GET.

<html>

<head>

</head>

<body>

<center>

<h1><? echo $parametro ?></h1>

</center>

</body>

</html>

Mesmo assim, programar para web ainda era um pouco árduo, principalmente quando se tratava da interatividade com o usuário e validação de formulários, onde muitas vezes era necessário manipular códigos javascripts e campos hiddens para gerar o resultado pretendido. Isso sem considerar o fato do protocolo HTTP ser stateless, onde não existe persistência de conexão, então sempre que for necessário manter os valores dos campos de um formulário entre requisições é preciso manipular campos hiddens ou variáveis de sessão.

A evolução

O PHP por possuir vários recursos com uma lista enorme de funções, com acesso aos mais diversos tipos de banco de dados e com uma sintaxe simples e de fácil aprendizagem, se tornou rapidamente uma das linguagens mais utilizadas para desenvolvimento de aplicações web, mas que sofre dos mesmos problemas apresentados anteriormente.

Muitas empresas criaram o seu próprio framework, que muitas vezes eram um conjunto de classes que agilizavam o desenvolvimento de aplicações, e que continham as funções mais usuais, realizando assim o conceito de reusabilidade.

A utilização de frameworks “públicos” traz consigo a preocupação em ser o mais completo possível para ser utilizado nos mais diversos tipos de aplicações, ter uma boa documentação para que qualquer um possa utilizá-lo, seguir padrões de projeto, além de ter uma comunidade de desenvolvedores espalhados pelo mundo, utilizando e trocando experiências. Muitos deles procuram separar fisicamente, em arquivos, o conteúdo HTML do código de programação, para que o designer possa lidar o máximo possível apenas com o HTML, e o desenvolvedor lidar o máximo possível apenas com a lógica de programação.

Tecnologias como Java e .NET implementaram conhecidos frameworks. Em Java podemos citar o Struts, WebWork, e Java Server Faces, e em .NET o ASP.NET que faz parte do .NET Framework.

Chamo a atenção aqui para o Java Server Faces da Sun e o ASP.NET da Microsoft. Estes utilizam o conceito de componentes e eventos, conceitos estes muitos conhecidos por quem desenvolve aplicações desktop, e que sabem o quanto é produtivo utilizar componentes e eventos para o desenvolvimento de aplicações, sem falar no fato de que o desenvolvedor pode criar seus próprios componentes e utilizá-lo facilmente em vários programas. Como veremos a seguir, o PRADO (um framework para o PHP) também se enquadra neste conceito." [...] continue lendo...

Artigos relacionados