Você está na página 1de 11

0

UNIVERSIDADE CRUZEIRO DO SUL


CURSO SUPERIOR DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

ANÁLISE COMPARATIVA ENTRE OS FRAMEWORKS WEB PYTHON DJANGO E FLASK

DIEGO FRANÇA TORRES


BRASÍLIA - DF
MAIO DE 2022
1

RESUMO

Desenvolver um sistema por mais simples que seja demanda


conhecimentos que muitas vezes um único desenvolvedor não tem para facilitar o
processo criativo e de resolução de problemas que deve ser o foco principal de todo
desenvolvedor.
Visto que integrar diferentes tecnologias não é uma tarefa fácil,
principalmente para um desenvolvedor iniciante, dificuldade esta que é acentuada
progressivamente devido a metamorfose das tecnologias já existentes e do
surgimento de novas
Este estudo visa fazer um comparativo entre os principais frameworks de
desenvolvimento web com a linguagem de programação python, e analisar o
framework que melhor se adapta a determinados tipos de projetos de
desenvolvimento, seja um site simples até um complexo sistema web empresarial.
2

SUMÁRIO
1-INTRODUÇÃO 3

2-JUSTIFICATIVA 4

3-OBJETIVO 5

4-DESENVOLVIMENTO 6

4.1-CARACTERÍSTICAS DO FLASK 7

4.2-VANTAGENS DO FLASK 7

4.3-DESVANTAGENS FLASK 7

4.4-VANTAGENS DJANGO 8

4.5-DESVANTAGENS DJANGO 8

CONCLUSÃO 9

BIBLIOGRAFIA 10
3

1-INTRODUÇÃO

Um framework é fundamentalmente um modelo com numerosas aplicabilidades


usado por um programador. Com ele é possível reduzir o tempo gasto por um desenvolvedor
para realizar a mesma tarefa em diversos projetos. Isto é, de forma simplificada um
framework é uma base que deve ser seguida para reduzir custos e aumentar a produtividade
tirando o foco do desenvolvedor do código e o fazendo focar na resolução de problemas.
Um framework comumente possui diversos conjuntos de bibliotecas que evitam
que o desenvolvedor tenha que criar o mesmo pensar sobre todos os componentes do
projeto a ser desenvolvido, diminuindo o tempo gasto e aumentando a produtividade.
Com a enorme variedade de linguagens de programação disponíveis,
naturalmente há um grande número de frameworks disponíveis. Cada um desses
frameworks é usado para resolver diferentes problemas que surgem no processo de
desenvolvimento de software. Eles são usados ​em muitos setores, incluindo
desenvolvimento da Web, ciência de dados e muito mais. Aqui, entraremos em algumas das
categorias mais amplas de frameworks com exemplos de frameworks específicos dentro
delas.
Os frameworks são uma solução de tamanho único, mas têm algumas
restrições. Você não pode fazer nada e tudo com um único framework, então alguns podem
não ser adequados para determinados aplicativos.
Eles não são bons para projetos pequenos porque a configuração da estrutura
levará mais tempo do que a codificação personalizada para o projeto.
Como um novo usuário do framework, há uma curva de aprendizado íngreme. O
desenvolvedor deve dedicar um tempo para entender como usá-lo corretamente antes de
ser produtivo.
Quaisquer bugs ou problemas de segurança com uma estrutura podem afetar
todos os aplicativos criados nessa estrutura.
Os frameworks são uma grande ajuda para os desenvolvedores na concepção
de produtos. Eles fornecem uma infraestrutura que oculta os detalhes de baixo nível,
permitindo que o desenvolvedor se concentre nos detalhes exclusivos do projeto específico.
O desenvolvedor também precisa escrever menos código. E menos código significa menos
chance de bugs e menos tempo de desenvolvimento, o que economiza dinheiro.
Este estudo visa fazer um comparativo entre os principais frameworks de
desenvolvimento web com a linguagem de programação python, e analisar o framework que
melhor se adapta a determinados tipos de projetos de desenvolvimento, seja um site simples
até um complexo sistema web empresarial.
4

2-JUSTIFICATIVA

Desenvolver um sistema por mais simples que seja demanda conhecimentos


que muitas vezes um único desenvolvedor não tem para facilitar o processo criativo e de
resolução de problemas que deve ser o foco principal de todo desenvolvedor.
Visto que integrar diferentes tecnologias não é uma tarefa fácil, principalmente
para um desenvolvedor iniciante, dificuldade esta que é acentuada progressivamente devido
a metamorfose das tecnologias já existentes e do surgimento de novas. O que torna a curva
de aprendizado extremamente acentuada e fatigante, forçando muitos dos que pretendem
seguir esta carreira a desistir.
Dada a importância de uma boa ferramenta para o desenvolvimento de qual
sistema, este trabalho tem a proposta de orientar os desenvolvedores iniciantes a entender
quando e onde aplicar corretamente uso das ferramentas de desenvolvimento web
(frameworks) flask e django.
5

3-OBJETIVO

Analisar o desempenho e facilidade de desenvolvimento web com os frameworks


python flask e django.
Avaliar as diferenças mais acentuadas entre as tecnologias citadas e como
essas diferenças podem ser benéficas ou maléficas, a depender do tipo de sistema
(software) que se pretende desenvolver.
Investigar o tempo e a eficácia do desenvolvimento de uma página web
utilizando o framework django e o microframework flask.

Para compreender o objetivo do trabalho definiu-se os subsequentes objetivos


específicos.

● Comparar os parâmetros de qualidade

● Examinar onde o desenvolvimento é mais rápido entre as duas ferramentas

● Desenvolver uma página web utilizando o framework que melhor se adeque


às habilidades de um desenvolvedor iniciante.

Com esta análise propõe-se entregar o mínimo de dados necessários para que
um desenvolvedor iniciante possa identificar que tecnologia melhor se adequa ao seu
projeto e habilidades.
6

4-DESENVOLVIMENTO

O desenvolvimento de um sistema computacional não é uma atividade trivial,


pois envolve, analisar e compreender determinado problema.Quando o software é
desenvolvido para a plataforma web, vários aspectos são incorporados de modo que ele
possa ser acessado de forma remota e segura por meio de um navegador (Evandro Manara
Miletto, Silvia de Castro Bertagnolli, 2014).
[...] Django e Flask são disparados os dois frameworks para web mais populares
entre os usuários do Python. Eles alternam a liderança ano a ano e ambos possuem uma
comunidade de apaixonados e fortes defensores.(Dojô ByLearn).
Para elucidarmos as questões referente a pesquisa começaremos a explicar o
que é flask. Escrito em Python e disponível sobre a licença BSD (Licença de código aberto),
o Flask é um micro-framework multiplataforma que provê um modelo simples para o
desenvolvimento web.(Treinaweb).
O Flask é um micro-framework que oferece todos os recursos básicos para
construção de uma aplicação web, além de poder ser facilmente integrado com diversas
bibliotecas Python. Seu maior atrativo, portanto, é a sua flexibilidade.(Dojô Bylearn).
Com uma abordagem oposta ao Django, Flask permite ao desenvolvedor o
modificar levando em consideração suas necessidades. [...] O “micro” no micro-framework
significa que o Flask visa manter o núcleo simples, mas extensível. O Flask não tomará
muitas decisões por você, como qual banco de dados usar. As decisões que ele toma, como
qual mecanismo de modelagem usar, são fáceis de mudar. Todo o resto depende de você,
para que o Flask possa ser tudo o que você precisa e nada que você não precise (Flask).
7

4.1-CARACTERÍSTICAS DO FLASK

Simplicidade: Por possuir apenas o necessário para o desenvolvimento de uma


aplicação, um projeto escrito com Flask é mais simples se comparado aos frameworks
maiores, já que a quantidade de arquivos é muito menor e sua arquitetura é muito mais
simples.
Rapidez no desenvolvimento: Com o Flask, o desenvolvedor se preocupa em
apenas desenvolver o necessário para um projeto, sem a necessidade de realizar
configurações que muitas vezes não são utilizadas.
Projetos menores: Por possuir uma arquitetura muito simples (um único arquivo
inicial) os projetos escritos em Flask tendem a ser menores e mais leves se comparados a
frameworks maiores.
Aplicações robustas: Apesar de ser um micro-framework, o Flask permite a
criação de aplicações robustas, já que é totalmente personalizável, permitindo, caso
necessário, a criação de uma arquitetura mais definida.(Treinaweb).

4.2-VANTAGENS DO FLASK

Flask é mais fácil de usar para aplicações menores


Se você deseja projetar um aplicativo web relativamente simples com algumas
páginas estáticas, o Flask tornará sua vida mais fácil do que o Django. Para aplicativos da
Web menores, muitos programadores acham que o Flask também é facilmente
escalável.(Codecademy).

4.3-DESVANTAGENS FLASK

Com Django se você quer um “app” novo, basta digitar um comando e ele faz a
mágica de criar os arquivos .py para você. Você não precisa se preocupar em criar um
__init__.py para o python saber que aquele diretório vai conter packages. Ele vai criar
automaticamente um arquivo para suas views, urls, forms e modelos.Mesmo que você não
precise de um desses arquivos naquela aplicação. (É só apagar!). Com Flask você precisa
criar esses arquivos na mão, o que te faz pensar na arquitetura da sua aplicação.(Lucas
Vieira May, 02/07/2018).
8

4.4-VANTAGENS DJANGO

Django tem a filosofia de agrupar todas as funcionalidades juntas, o Flask é mais


modular.(Dojô ByLearn).De forma geral podemos afirmar que o Django possui uma
abordagem mais completa que o flask.
Django inclui um ORM poderoso que é compatível com uma série de bancos de
dados relacionais, como o SQLite, PostgreSQL, MySQL e Oracle. O ORM nativo do Django
também permite que você crie e gerencie migrações de bancos de dados, além de
possibilitar a criação e visualização de formulários de maneira rápida.(Dojô ByLearn).
O Django possui funcionalidades de autorização e autenticação junto com o
gerenciamento de contas [...]. Além disso, uma das vantagens do Django muito falada por
seus usuários é o seu painel de administração. Ele vem com uma interface extremamente
funcional para gerenciar dados com base nos seus modelos e permite que você realize
operações CRUD sem ter que escrever nenhum código extra.(Dojô ByLearn).

4.5-DESVANTAGENS DJANGO

Segundo Conteige.Cloud Django possui algumas poucas desvantagens sendo


uma delas o tempo de desenvolvimento que tende a ser maior principalmente se tratando de
projetos mais complexos.
A segunda desvantagem, segundo o que diz o site Conteige.Cloud está
relacionada a falta de planejamento do projeto feito em Django que tende a gerar códigos
que podem não ser reutilizados o que vai contra uns dos princípios do próprio framework.
Não se repita (DRY).
9

CONCLUSÃO

Django segue um modelo de desenvolvimento rápido voltado para projetos web


complexos. Enquanto flask por ser mais simples e mais rápido é mais adequado a projetos
pequenos.
Um fator que deve ser levado em conta é a presença de mercado do Django que
é maior. A experiência do desenvolvedor também deve ser levada em consideração.
No quesito qualidade de software produzido, Django tem vantagem por entregar
quase todo o código pronto, o faz com o software tenha menos erros e bugs.
No geral, o Django e o Flask são dois frameworks diferentes, cada um com seu
próprio conjunto de prós e contras. A escolha do framework é realmente baseada no que
você como desenvolvedor precisa. Enquanto o Django é mais adequado para aplicações
pesadas e complexas, o Flask é adequado para aplicativos web simples e leves.
Para um desenvolvedor iniciante Flask é o recomendado, pois é uma ótima
ferramenta para aprendizado por possuir diversos módulos e bibliotecas.Django tende a ter
uma curva de aprendizado mais difícil para um iniciante.
10

BIBLIOGRAFIA

Codeinstitute. In: What is a Framework? Why We Use Software Frameworks. Disponível


em: <https://codeinstitute.net/global/blog/what-is-a-framework/>.Acesso em: 13/05/2022.

Evandro Manara Miletto, Silvia de Castro Bertagnolli. In Desenvolvimento de Software


II: Introdução ao Desenvolvimento Web com HTML, CSS, JavaScript e PHP - Eixo:
Informação e Comunicação - Série Tekne. N.p., Bookman Editora, 2014.

Dojô ByLearn In: Entenda as diferenças entre Django e Flask: Qual framework
escolher para o seu projeto?. Disponível em:
<https://dojo.bylearn.com.br/python/diferencas-entre-django-e-flask/>.Acesso em
17/05/2022.

Treinaweb In: O que é flask?.Disponível em:


<https://www.treinaweb.com.br/blog/o-que-e-flask/>. Acesso em 17/05/2022.

Flask In: O que significa “micro”?.Disponível em:


<https://flask.palletsprojects.com/en/2.1.x/foreword/>. Acesso em: 17/05/2022.

Codecademy In: Flask vs. Django: Qual Framework você deve escolher?. Disponível
em: <https://www.codecademy.com/resources/blog/flask-vs-django/>. Acesso em
17/05/2022.

Lucas Vieira May In: Por que eu escolhi Flask em vez de Django?. Disponível em:
<https://medium.com/@devlucasmay/por-que-eu-escolhi-flask-ao-inv%C3%A9s-de-django-e
56dc1cd507e> .Acesso em:18/05/2022.

Conteige.Cloud In: Django – Vantagens e Desvantagens. Disponível em:


<https://conteige.cloud/django-vantagens-e-desvantagens/> . Acesso em:18/05/2022

Você também pode gostar