O ecossistema do Python é repleto de ótimos frameworks, dentre eles se destacam o Django e o Flask, dois frameworks para desenvolvimento web e que possuem diversos adeptos pelo mundo. Mas você já se perguntou quando usar um deles e quais são suas principais diferenças? Bom, é isso que veremos neste artigo. :)
Django
O Django é um framework de desenvolvimento rápido para web. Escrito em Python, o Django foi lançado em 2005 e, atualmente, está na versão 2.2. Criado originalmente para gerenciar um site jornalístico na cidade de Lawrence, Kansas, tornou-se um projeto Open Source e logo caiu no gosto dos desenvolvedores intusiastas em Python.
Utiliza o padrão de projeto próprio denominado MTV (model-template-view), bem similar ao já conhecido MVC (model-view-controller), que separa as responsabilidades da aplicação em camadas, aumentando a legibilidade do código e organização da aplicação. A principal premissa do Django é seu princípio DRY (Don’t Repeat Yourself), fazendo com que o desenvolvedor aproveite o máximo de código já criado em outros módulos da aplicação, evitando ao máximo a repetição e reescrita de código.
Curso Django - Fundamentos
Conhecer o cursoTá, mas onde eu vou usar o Django?
O Django é mais recomendado quando estamos desenvolvendo um projeto mais profissional e complexo (apesar de ser amplamente utilizado em pequenos projetos também). Possui um amplo conjunto de ferramentas que facilita a criação destas aplicações, como:
- Django ORM: Permite que você conecte seu projeto com vários bancos de dados relacionais (PostgreSQL, Oracle, MySQL, SQLite, etc) e gerencie seus dados de forma simplificada, sem a necessidade de escrever código SQL.
- Django Admin: Possui uma área administrativa integrada ao projeto para gerenciamento de todos os dados da aplicação, facilitando a criação de um projeto CMS (sistema de gerenciamento de conteúdo).
- Django Templates: Com o Django, a criação das páginas HTML para exibição de conteúdo é feita de forma simples e rápida, permitindo a herança de templates e concatenação de código Python com HTML.
- Comunidade: A comunidade por trás do Django é incrível. Diversos projetos são desenvolvidos diariamente, tornando seu ecossistema cada vez maior.
Flask
O Flask é, assim como o Django, um framework (ou microframework) web de código aberto. Lançado em 2010, o Flask também é amplatamente utilizado em projetos ao redor do mundo.
Diferente do Django, que já possui um conjunto de ferramentas integradas ao Framework, o Flask pode ser comparado a um conjunto de Lego. Ao instalarmos o Flask, apenas duas bibliotecas são instaladas em conjunto, permitindo que o desenvolvedor instale apenas o que o projeto irá necessitar, isso torna a aplicação muito mais leve e rápida de ser executada já que, por exemplo, não precisamos de uma biblioteca para envio de e-mail se a aplicação não irá utilizar deste recurso.
É chamado de microframework justamente por manter um núcleo simples, porém estendível. Não possui camada de acesso ao banco de dados, validação de formulários ou qualquer outro componente. Para isso, é necessário instalar bibliotecas de terceiros e, assim, prover determinada funcionalidade. Isso torna a construção de aplicações com Flask mais simples e sua curva de apendizado mais leve.
Curso Flask - Fundamentos
Conhecer o cursoTá, mas onde eu vou usar o Flask?
Como dito anteriormente, o Flask é amplamente utilizado em pequenas aplicações ou microsserviços, embora possamos criar grandes projetos com o Flask. De todas as características do Flask, é possível ressaltar as seguintes:
- Simplicidade: Por ser um framework minimalista, o Flask fornece os recursos necessários para a criação da base de uma aplicação, como seu sistema de templates, rotas e servidor web embutido para testes. A partir daí, qualquer que seja a necessidade, o desenvolvedor poderá utilizar de bibliotecas externas para incrementar sua aplicação. Isso faz com que o projeto seja o mais simples possível, sem tantos arquivos desnecessários;
- Velocidade: Alinhado à simplicidade do projeto, o Flask possui um desempenho superior quando comparado ao Django.
- Comunidade: Assim como o Django, o Flask possui uma ampla comunidade com vários desenvolvedores espalhados ao redor do mundo. Por isso, diversas novas bibliotecas estão sendo diariamente disponibilizadas para uso.
E ai? Deciciu?
Bom, apesar do Flask e do Django possuírem características similares, seu uso é um pouco distinto. Podemos considerar que o Django é mais recomendado para aplicações maiores e que exigem uma complexidade superior, já que possui diversas facilidades embutidas em seu core, além de uma comunidade gigantesca. Já o Flask é mais utilizado em pequenas aplicações e microsserviços, como APIs. Ou seja, aplicações que devem ser executadas de forma mais rápida. A partir daí, a escolha entre as duas ferramentas deve ser feita pelo desenvolvedor, que irá analisar o projeto e determinar qual framework se encaixa melhor em seu escopo.