Contextualização
O mundo da programação é cada vez maior e mais subjetivo. Com várias linguagens e várias frameworks disponíveis, a tarefa de escolher um caminho para aprender é bem complicada. No entanto, um dos caminhos que está atraindo uma quantidade considerável de atenção é o Flask, um microframework web escrito em Python.
Flask é uma ferramenta extremamente poderosa que permite o desenvolvimento rápido e eficiente de aplicações web. Não deixe o termo "micro" te enganar: Flask pode lidar com tudo de pequenas a grandes aplicações com alta performance e escala.
Introdução
No mundo da programação, a habilidade de criar aplicativos da web é um ativo extremamente valioso em qualquer currículo de um programador. Seja você um proeminentes engenheiro de software ou um entusiasta de tecnologia, desenvolver um aplicativo da web pode ser uma tarefa enormemente gratificante e estimuladora.
Python, uma linguagem altamente popular e de propósito geral, possui uma série de frameworks que facilitam a criação de aplicações web. Dentre estes, o Flask se destaca por sua simplicidade e flexibilidade. Diferente de outros frameworks que incluem todas as funcionalidades desde o início, o Flask adota uma abordagem modular, permitindo que você adicione apenas as funcionalidades que precisa para sua aplicação. Isso torna Flask uma excelente escolha para uma grande variedade de projetos, desde simples APIs até complexas aplicações web.
Flask é baseado em duas principais bibliotecas, a Werkzeug e a Jinja2. Werkzeug é uma biblioteca WSGI (Web Server Gateway Interface) que gerencia as requisições e respostas HTTP. Já a Jinja2 é um motor de templates para Python, permitindo a criação de páginas HTML dinâmicas.
Materiais extras
Para que possam entender e se aprofundar mais sobre o Flask, deixo aqui como sugestão os seguintes materiais:
-
[Documentação oficial do Flask] Sempre é bom recorrer à documentação oficial para se aprofundar em todas as possibilidades que a ferramenta fornece.
-
[Curso de Flask (em inglês) no YouTube] Uma série de tutoriais muito completa abordando desde o básico até conceitos mais elaborados.
-
[Django vs Flask: Um comparativo] Este artigo apresenta um comparativo entre Django e Flask, duas das frameworks Python para desenvolvimento web mais utilizadas. Pode entender as diferenças e similaridades entre ambos pode ser muito esclarecedor.
Atividade Prática
Construção de uma Biblioteca Digital com Flask
Objetivo do projeto
O objetivo do projeto é construir uma aplicação web simples utilizando o Flask que permita aos usuários visualizar, adicionar, editar e deletar livros de uma biblioteca digital. Esta atividade irá proporcionar aos alunos uma oportunidade prática de aprender e aplicar os conceitos de Flask e programação web em Python.
Materiais necessários
- Computador com Python e Flask instalados.
- Conexão com internet para acesso a documentação e materiais de estudo.
- Text editor ou IDE para escrever e executar o código.
- Git para controle de versionamento.
Descrição detalhada do projeto
Os alunos serão divididos em grupos de 3 a 5 integrantes e cada grupo será responsável por construir sua aplicação. A duração total do projeto será de um mês, sendo sugerido que trabalhem nele por um total de 5 a 10 horas a cada semana.
A aplicação será uma Biblioteca Digital onde será possível visualizar uma lista de livros disponíveis, cada livro com seu título, autor, ano de publicação, um resumo e um link para download (esse link pode ser fictício, para o propósito dessa atividade). Deve ser possível adicionar novos livros na lista, editá-los ou removê-los.
Passo a passo detalhado para a realização da atividade
- Inicialmente, os alunos devem instalar e configurar o ambiente Python e Flask em seus computadores.
- Cada grupo deve criar um repositório no GitHub para o projeto onde será registrado todo o histórico de desenvolvimento do projeto.
- Deve ser criado um esqueleto básico do app Flask com uma página inicial.
- Implementar uma estrutura para armazenar os livros. Esta pode ser uma simples lista de dicionários em Python.
- Implementar as páginas HTML para visualizar a lista de livros, criar, editar e deletar um livro usando a biblioteca Jinja2 para renderizar o HTML.
- Implementar as rotas Flask correspondentes a cada uma dessas páginas.
- Cada página deve ser estilizada usando CSS para proporcionar uma boa experiência ao usuário.
Entrega do projeto:
Após um mês, o código fonte do projeto deve ser entregue juntamente com um relatório documentando o processo de desenvolvimento. Este relatório deve ser estruturado nos seguintes tópicos:
- Introdução: Contextualização do projeto, sua relevância e aplicação real, bem como os objetivos do projeto.
- Desenvolvimento: Explicar a teoria por trás do Flask, o passo a passo do desenvolvimento da atividade, a metodologia utilizada e os resultados obtidos.
- Conclusão: Resumo dos pontos principais do projeto, os aprendizados realizados e as conclusões retiradas a respeito do trabalho.
- Bibliografia: Todas as fontes que foram usadas como referência para a realização do projeto, como livros, sites, vídeos entre outros.
Asseguem que o relatório descreva todos os conceitos do Flask que foram aplicados e como eles foram aplicados. O objetivo do relatório é demonstrar de forma clara a profundidade da compreensão obtida sobre o Flask e a programação web em Python através do desenvolvimento prático da atividade.