Olá galera, nesse post vamos conhecer mais um notável framework e também uma das ferramentas mais interessantes e práticas na questão de desenvolvimento PHP: o Recess Framework.
O que é o Recess ?
O Recess foi criado pelo nosso amigo Kris Jordan, um ex-funcionário da Microsoft (amigos do Linux não gostarão da idéia), com o intuito de fornecer uma estrutura concisa, leve e fracamente acoplada.
E não é só isso, ele resolveu também aderir a um conceito muito conhecido de estilo arquitetural WEB: o paradigma REST, criado por um outro amigo nosso bem importante.
O que o Recess tem de diferente?
Recess foi projetado para escrever aplicações simples, de forma rápida e leve, utilizando extensivamente TODOS os métodos da Interface Uniforme do HTTP (GET, PUT, POST e DELETE) e fornecendo alguns tipos de representações dos dados (HTML ou JSON). Isso faz com que a aplicação desenvolvida seja integrada facilmente com qualquer outra externa em qualquer estrutura devido à interoperabilidade fornecida por essa ferramenta genérica do HTTP. (isso lembra um WebService?).
Mas afinal, além de ser um framework baseado nos conceitos de REST, quais são as vantagens ?
1ª O framework possui um ORM (Mapeador Objeto Relacional) à prova de balas que desenvolve queries super complexas, para todos os tipos de operações que compõem um CRUD da vida.
2ª Recess usa um esquema de Annotations (blocos de comentários especiais em classe ou método) para criar relacionamentos, routes e manipulação de formatos (HTML ou JSON) para exibir na aplicação. Por exemplo , se eu criasse algumas annotations iguais essas no código abaixo:
1 2 3 4 5 6 7 8 | /** * !Table pedido * !BelongsTo cliente */ class Pedido{ } |
Imaginamos que um pedido pode ser realizado por um cliente, sendo assim ele “pertence” (belongs to) a um cliente. Utilizamos dois comentários especiais: um para definir a tabela e outro notando uma espécie de relacionamento. Para termos uma ideia, veja o que o Recess faz quando aplicamos essas annotations:
Bacana né ? O framework gerou um fragmento de documentação apenas com simples comentários. A partir daí, o Recess ja sabe qual classe ele irá relacionar (Cliente), sabe qual FK deverá trabalhar (clienteId), e mais: anexa automaticamente métodos na classe Pedido para manipular o cliente relacionado de uma forma muito simples como mostra a imagem abaixo:
Ou seja, temos métodos para setar um cliente, buscar o cliente referenciado (realmente o método faz toda a mágica das queries e traz um cliente em forma de objeto ) e desvincular um cliente de um pedido (não seria legal, mas…).
3ª Uma GUI para construção rápida das suas aplicações, contendo todas as informações que precisa do seu projeto. Com isso, é menos código, escrevendo somente o necessário.
4ª Inclui uma documentação em HTML das suas classes, sendo possível enriquecer a documentação gradativamente via comentários nas classes e nos métodos. Vejamos um exemplo: eu crio pequenos comentários de como será, o que retornará o meu método…
1 2 3 4 5 6 7 8 9 10 11 12 | /* * Método que tem como função exibir um formulário de cadastro de post por um usuário * Exemplo: * * $controller->createPost('1'); => /exemplo/site/1/post/create * * Agradecimento ao Manolo Master R'Santiago por descrever este método. * @param $usuario_id * @return Form para cadastro de post */ |
e agora veja o que o Recess faria com esses comentários:
Resumindo, através de comentários, o Recess gerou uma mini-documentação em HTML de um método chamado createPost(). E olha que não alterei nenhum arquivo CSS…
5ª É totalmente flexível tanto a um ambiente de produção e ambiente de desenvolvimento e testes sem nenhuma mudança de path adicional. Somente um drag ’n’ drop e tudo ficará como o esperado.
Aonde posso encontrá-lo?
Ao visitarmos o site do projeto, podemos ver Tutoriais, um livro da documentação oficial (ainda em desenvolvimento), o blog , o fórum oficial do framework para sanar as dúvidas, o repositório oficial do projeto e muita coisa bacana. Enfim, vale a pena dar uma olhada, baixar a versão estável, rodar em sua localhost, e ver o quanto ele é simples, ágil e como ele ajudará a criar aplicações rápidas. Só vendo na prática pra saber o que estou dizendo !
Vale lembrar que o framework está em constante expansão , graças às pessoas que colaboram com o projeto, e particularmente no ano que vem (até la terei tempo!) começarei a fazer isso também
Ah, como todo framework legal, existe um tutorial explicando como fazer um blog. Para os amigos que ja querem ir experimentando, sintam-se a vontade: http://www.newmediacampaigns.com/page/how-to-create-a-blog-with-recess-framework-part1.
Nos próximos posts, veremos tutoriais de como fazer bom proveito dessa ferramenta, como utilizaremos a interface gráfica, como criar um simples CMS rapidamente, como criar a documentação e também iremos desenvolver umas aplicações bem bacanas com o projeto. Aguardem !
E é isso ! Espero terem gostado e até a próxima
Pingback: Rodrigo Santiago
Pingback: Portal PHP
Pingback: Suissa
Pingback: Emerson Soares
Pingback: Carlos Alan