Índice
Há momentos em que queremos desenvolver aplicativos, mas não queremos começar do zero, para isso existem infinidades de frameworks no mercado, porém quanto mais completo e poderoso o estruturaQuanto maior for sua pegada e sua curva de aprendizado. Isso nos faz perder o interesse em desenvolver nosso aplicativo ou podemos gastar mais tempo do que o necessário.Com o exposto acima em mente, um número considerável dos chamados microframeworks, que são ecossistemas de trabalho que possuem os elementos necessários para evitar ter que começar do zero ao desenvolver nossa aplicação, mas seu tamanho é mínimo, dando-nos apenas o que é necessário para começar sem ter que inundar a cabeça com muito material.
Em Pitão há muitos desses microframeworks, porém há um que se destaca pela ótima documentação e comunidade, este é Frasco, que com algumas bibliotecas e componentes nos permite iniciar um desenvolvimento sem perder de vista a escalabilidade e a modularidade.
InstalaçãoA instalação formal de Frasco mal e leva alguns minutos, porém para o máximo benefício devemos primeiro estabelecer nosso ambiente de trabalho, para isso temos que instalar e configurar virtualenv, que é uma ferramenta que nos permite ter diferentes ambientes sob Pitão em nosso sistema para que não tenhamos que instalar nada globalmente.
Para instalar virtualenv simplesmente devemos atender aos seguintes requisitos:
1- Instale Python 2.7 ou superior, dependendo do nosso sistema operacional, o processo será diferente, mas para a maioria das distribuições Linux isso já está instalado por padrão. Em janelas basta instalar utilizando o download correspondente ao nosso sistema.
2- Assim que tivermos Pitão, temos que instalar pip, esta é uma ferramenta que nos permite fazer a instalação de forma simples e através da consola de comandos dos diferentes pacotes para Pitão. Em Ubuntu por exemplo, basta colocar no console de comando:
apt-get install python-setuptoolsE então executamos:
pip easy_installEm janelas você simplesmente tem que localizar o correspondente para download setuptools.py e logo getpip.py ambos os arquivos devem ser executados com Pitão a partir do console de comando.
3- Finalmente podemos instalar virtualenv ao colocar no console pip install virtualenv, o que nos dará a capacidade de criar nossos ambientes virtuais.
Para criar um ambiente virtual, basta criar uma pasta que conterá nosso projeto e dentro dela colocar o comando:
virtualenv ourprojectOnde "nosso projeto”Será o nome do ambiente virtual.
Uma vez que virtualenv criamos o ambiente, devemos ativá-lo, para isso dependendo do sistema em que estamos devemos fazer o seguinte, no Ubuntu por exemplo, simplesmente nos colocamos dentro do nosso ambiente e colocamos o seguinte comando:
fonte bin / ativarSe estivermos no Windows, faríamos o seguinte:
Scripts / ativarNo final, teríamos um ambiente ativado como vemos na imagem a seguir:
Como podemos visualizar no console o nome do nosso ambiente já ativado aparece entre parênteses.
Uma vez que temos todos os requisitos anteriores cumpridos, agora se podemos fazer a instalação do microframework FrascoPara fazer isso em nosso console de ambiente virtual, simplesmente escrevemos o seguinte:
frasco de instalação pipSe tudo tiver corrido bem, obteremos algo parecido com o que vemos na imagem a seguir:
Vemos como no final nos diz que foi instalado com sucesso Frasco além de suas dependências, com isso estamos prontos para começar a desenvolver nossos aplicativos com este microframework.
Agora vamos criar nosso primeiro aplicativo, neste caso faremos o clássico "Olá mundo!" com o qual podemos entender algumas coisas interessantes sobre como trabalhar com Frasco. Vamos precisar de um editor de texto simples ou talvez algum SDI que suporte Pitão, recomendamos usar Texto Sublime, ou talvez Notepad ++ ambas as opções nos permitem destacar as palavras-chave do idioma.
Em nosso ambiente, vamos criar um arquivo chamado app.py e dentro dele vamos colocar o seguinte código:
from flask import Flaskapp = Flask (__ name __) @ app.route ('/') def hello_world (): return 'Hello World !!!' if __name__ == '__main__': app.run ()Começamos importando o framework, para isso indicamos primeiro que da biblioteca frasco vamos importar a classe Frasco. Em seguida, definimos que nosso aplicativo será uma instância dessa classe. Nós criamos um decorator @ app.route (/) que indicará que o caminho a ser definido para usar a função abaixo é a raiz.
No próximo ato, criamos nossa função Olá mundo() e ele retornará uma mensagem na forma de uma string. Finalmente, executamos o método app.run () com o qual nossa aplicação será levantada.
Para ver isso funcionando, simplesmente vamos para o console do nosso ambiente virtual e escrevemos:
python app.pyIsso deve exibir uma mensagem como a seguinte no console:
Vemos que isso nos diz que o aplicativo está sendo executado em 127.0.0.1 no Porto 5000 então colocamos essa informação em nosso navegador e veremos o resultado como na imagem a seguir:
Com isso temos nossa primeira aplicação feita com Frasco e não demorou alguns minutos.
Devido à micro natureza de Frasco e também que seu objetivo é nos deixar trabalhar da maneira que nos sentimos mais confortáveis, inicialmente não gera nenhuma estrutura de pastas para nossa aplicação, portanto nos dá a liberdade de criar nossa estrutura da maneira que acharmos conveniente.
RestriçãoA única restrição é que não podemos usar o nome flask.py para nossos arquivos, já que isso entraria em conflito com o arquivo principal de nosso framework, todo o resto é bastante flexível.
A configuração básica das pastas recomendadas consiste em uma pasta principal com o nome do projeto, dentro desta teremos o arquivo principal que inicia a aplicação, bem como algumas pastas adicionais, a primeira é a do arquivos estáticos como imagens e folhas de estilo, a segunda é a pasta de modelos chamada modelos, onde teremos os arquivos que nos ajudarão a gerar as visualizações com HTML para o usuário final do aplicativo. Vamos ver na imagem a seguir como é essa estrutura:
Por padrão Frasco usa jinja2 como seu template engine, porém pode ser alterado por outro, mas antes de descartar o uso, podemos ver o que ele nos oferece.
Jinja2É um motor completo que oferece a possibilidade de interpretar algumas instruções para tornar os nossos templates elementos dinâmicos que complementem as diferentes partes da nossa aplicação, o objetivo é ter que escrever a menor quantidade de código, mas cobrindo o maior número de casos e funcionalidades .
A sintaxe é muito semelhante ao mecanismo de template do Django, então, se tivermos trabalhado com essa estrutura, provavelmente nos sentiremos muito confortáveis.
Por padrão Frasco não tem nenhum ORM, então, se vamos trabalhar com o Bases de dados, ou construímos nosso próprio ORM ou usamos um que já está disponível na comunidade, se escolhermos esta segunda opção, podemos considerar Flask-SQLAlchemy.
Esta é uma extensão para poder usar o popular SQLAlchemy o que nos permite estabelecer conexões por meio de Pitão com os diferentes motores Bases de dados, O que MySQL ou mesmo outros motores não relacionais como MongoDB.
A ideia por trás de um ORM é ser capaz de consultar de uma forma que não dependem da sintaxe SQL, então, se a qualquer momento quisermos mudar o motor de Base de dados, nosso aplicativo não deve sofrer nenhuma alteração, ao contrário de se escrevermos diretamente Código SQL, caso em que devemos alterar as instruções de acordo.
Com isso terminamos este tutorial, vimos apenas uma pequena porcentagem do que podemos alcançar com FrascoPorém, basta perceber seu grande potencial, principalmente quando precisamos iniciar um projeto com rapidez e sem muita bagagem. Sua grande popularidade se deve ao fato de que com sua estrutura modular e extensível, nos permite utilizar muitos componentes que já conhecemos de outros desenvolvimentos e não nos limita a trabalhar de uma maneira particular, ao contrário de frameworks como Django onde temos uma maneira muito particular de fazer as coisas, além de todos os componentes que devem ser herdados inicialmente para criar um aplicativo.