Depois de uma pequena pausa, chegamos finalmente à terceira parte da série de posts sobre o uso de frameworks Python no Google App Engine. Após abordar o uso do Django e do web2py no App Engine, agora veremos como usar o Flask, um microframework para Python baseado no Werkzeug, no Jinja2 e em boas intenções. Diferente do Django e do web2py, o Flask não possui uma camada de abstração do banco de dados, não é um framework full stack. Trata-se de uma excelente decisão de design, uma vez que é possível trabalhar com o SQLAlchemy (ou qualquer outro ORM) em sistemas que usam bancos de dados relacionais, e a API nativa para os bancos de dados não relacionais, quando for o caso. Continue Reading »
Chegamos à segunda parte da série de posts sobre o uso de frameworks Python no Google App Engine. O framework da vez é o web2py, um leve e poderoso framework web fullstack. Assim como o Django, um dos principais recursos do web2py é uma poderosa camada de abstração dos dados (DAL – data abstraction layer), mas diferente do Django, a camada de abstração de dados do web2py foi projetada para dar suporte a bancos de dados não-relacionais, e conta com suporte nativo ao BigTable. Continue Reading »
O Google App Engine é uma ferramenta sensacional para desenvolvedores web. Uma ferramente certamente útil e que deveria pelo menos ser experimentada por todo desenvolvedor web que se preza :) A primeira linguagem de programação suportada pelo App Engine foi o Python, e hoje a linguagem Java também é suportada. Python é uma linguagem com muitos frameworks web (muitos mesmo), e você pode usar alguns deles no App Engine. Resolvi, então, criar uma série com três posts sobre como usar três frameworks web Python no Google App Engine: Django, Flask e web2py.
Em todos os casos, desenvolverei uma aplicação simples, que será enviada para o Google App Engine e disponibilizada publicamente :) Nesta primeira parte, abordarei o Django, o mais famoso dentre os frameworks Python para a web. Continue Reading »
Freshen é um framework Python para construção de testes de aceitação, baseado no Cucumber e tem o mesmo objetivo do Cucumber: fazer o desenvolvimento de softwares com BDD mais divertido. Podemos aplicar os conceitos do BDD escrevendo testes de aceitação em alto nível e graças à integração com o Nose, podemos ainda usar testes unitários para testar unidades de código. Continue Reading »
Esta semana saiu o Django 1.2 e dentre as novidades desta versão estão recursos como o suporte a múltiplos bancos de dados, a validação dos Django Models, baseada na validação dos Django Forms, um framework para mensagens e uma nova versão da template-tag if. Existem ainda alguns outros recursos, mas vamos dar uma olhada nesses quatro anteriores com mais atenção… Continue Reading »
Um dos recursos mais poderosos do Django é o Django Forms, que permitem gerenciar de forma inteligente formulários, seja em relação à obtenção dos dados ou validação dos mesmos. Utilizando os forms do Django, tudo fica mais simples :) Conforme abordado no post onde mostrei a construção de um CRUD em Pylons, vê-se que o Pylons também tem suporte ao uso de formulários de forma inteligente, mas eu ainda acho o método Django de trabalhar mais intuitivo. Acredito que foi pensando nisso que criaram o WTForms… Continue Reading »