Primeiras impressões com web2py
Nota rápida, este foi um post que estava quase pronto há muito tempo na minha caixa de entrada, como não queria perdê-lo, resolvi publicar.
Depois que mudei de emprego, estou há quase dois meses trabalhando diariamente com python e com o framework para aplicações web web2py, e resolvi criar um post para falar um pouco mais da minha experiência com ele.
O framework
Como aprendi lá na matéria de padrões de projeto, um framework deve possuir 3 características, a saber: hotspots, inversão de controle, e domínio de aplicação.
O domínio de aplicação do web2py é facilmente identificável, um framework para aplicações web utilizando o python que implementem o padrão web server gateway interface, ou wsgi.
A inversão de controle se dá, quando você codifica a sua aplicação, você não chama diretamente componentes do framework na verdade, o framework chama os componentes desenvolvidos por você.
Por fim, os hotspots, são os pontos onde é possível alterar o framework. O web2py é um arcabouço de aplicação quase pronto, mas passível de customizações, os hotspots são os locais onde o framework se torna passível de customizações.
O web2py
O web2py é um framework criado em 2007 com o objetivo de poder criar facilmente aplicações web de alta qualidade, que fosse free and open source, que pudesse ajudar a descentralizar o fluxo da informação, e por fim que fosse fácil, rápida e mais segura.
Como resultado ele ganhou dois prêmios, em 2011 ganhou o Bossie Award for best Open Source Development Software, e em 2012 ganhou o Technology of the Year award from InfoWorld.
Instalação e execução
A instalação do framework é inexistente, é só baixar e rodar e suas únicas dependências básicas é ter o python 2.7 e a lib TK instaladas. para rodar a aplicação é só fazer:
python web2py -p 123
Isso vai iniciar um webserver, o web2py e a aplicação wellcome rodando na porta 8000, para visualizá-la é só apontar para a url 127.0.0.1:8000 no seu navegador.
Desenvolvimento
Prós e contras
Prós
- Já vem com baterias
- muito simples para fazer pequenas coisas
- Ferramentas integradas
Contras:
- Dependência do python 2.7.
- Comunidade pequena.
- Pouca documentação.
- Difícil customizar para projetos maiores
Nenhum comentário