Desenvolvimento Web em Python — Guia Herez Parte 4

Desenvolvimento Web em Python — Parte 4 da série Herez

Visão geral: esta é a quarta publicação da série Herez sobre bibliotecas Python. Aqui detalhamos frameworks e microframeworks para desenvolvimento web: Django, Flask, Bottle, CherryPy, Pyramid, Web2py, TurboGears, CubicWeb, Dash e Falcon. Cada seção traz descrição, motivos para usar, instalação e exemplos práticos aplicados em projetos reais da Herez. Exemplos completos estão disponíveis nos repositórios GitHub e GitLab da Herez.

Publicado por em

Como usar este post

Use este guia para comparar frameworks, escolher a ferramenta certa para seu projeto e copiar trechos de código que aceleram a prototipagem. Todos os exemplos foram aplicados em projetos reais da Herez e os repositórios contêm aplicações completas, scripts de deploy e testes.


Resumo rápido

Framework Tipo Quando usar
DjangoFull stackAplicações completas com admin e ORM
FlaskMicroframeworkAPIs e serviços leves
BottleMicroframeworkAPIs pequenas e protótipos
CherryPyMicroframeworkServiços embutidos e servidores simples
PyramidFlexívelProjetos que crescem em complexidade
Web2pyFull stackAplicações com foco em produtividade
TurboGearsFull stackAplicações modulares e escaláveis
CubicWebFramework semânticoAplicações baseadas em dados e ontologias
DashVisualizaçãoDashboards interativos e data apps
FalconMicroframeworkAPIs de alta performance

Frameworks detalhados com exemplos reais

Django

O que é: framework full stack com ORM, sistema de templates, painel administrativo e convenções que aceleram desenvolvimento de aplicações completas.

Por que usar: produtividade alta, segurança integrada e ecossistema maduro para autenticação, internacionalização e deploy.

# Instalação
pip install django
Exemplo prático
# views.py
from django.shortcuts import render
from .models import Article

def index(request):
    articles = Article.objects.order_by('-published')[:10]
    return render(request, 'blog/index.html', {'articles': articles})

Contexto Herez: usado em portal de conteúdo com CMS customizado; o admin do Django foi estendido para workflows editoriais. Código e scripts de deploy estão nos repositórios Herez.

Flask

O que é: microframework minimalista que fornece roteamento, templates e extensões para adicionar funcionalidades conforme necessário.

# Instalação
pip install flask
Exemplo prático
from flask import Flask, jsonify, request
app = Flask(__name__)

@app.route('/api/predict', methods=['POST'])
def predict():
    data = request.json
    result = model.predict(data['features'])
    return jsonify({'prediction': result.tolist()})

Contexto Herez: microserviço de inferência para modelos de ML; containerizado e integrado ao gateway de API da Herez.

Bottle

O que é: microframework de um único arquivo, ideal para protótipos, demos e APIs muito pequenas.

# Instalação
pip install bottle
Exemplo prático
from bottle import route, run, request, response

@route('/hello')
def hello():
    return "Hello from Bottle"

run(host='0.0.0.0', port=8080)

Contexto Herez: usado em protótipos rápidos e ferramentas internas; exemplos de scripts estão nos repositórios Herez.

CherryPy

O que é: framework minimalista que inclui servidor HTTP embutido, ideal para serviços autônomos e aplicações que precisam de controle fino do servidor.

# Instalação
pip install cherrypy
Exemplo prático
import cherrypy

class Hello:
    @cherrypy.expose
    def index(self):
        return "Hello CherryPy"

cherrypy.quickstart(Hello())

Contexto Herez: serviço interno de processamento de arquivos com servidor embutido; configuração de threads e logging ajustada para produção.

Pyramid

O que é: framework flexível que permite começar pequeno e crescer; suporta diferentes estilos de roteamento e autenticação.

# Instalação
pip install pyramid
Exemplo prático
from pyramid.config import Configurator
from pyramid.response import Response

def hello_world(request):
    return Response('Hello Pyramid')

if __name__ == '__main__':
    with Configurator() as config:
        config.add_route('hello', '/')
        config.add_view(hello_world, route_name='hello')
        app = config.make_wsgi_app()

Contexto Herez: usado em projetos que exigem migração incremental de monólitos para serviços modulares; exemplos de configuração e testes estão nos repositórios Herez.

Web2py

O que é: framework full stack com foco em produtividade e segurança, inclui IDE web e ferramentas integradas.

# Instalação
pip install web2py
Exemplo prático
# controller default.py
def index():
    rows = db(db.article).select(orderby=~db.article.created_on)
    return dict(rows=rows)

Contexto Herez: protótipos de aplicações internas e ferramentas administrativas; exemplos de modelos e controllers estão nos repositórios Herez.

TurboGears

O que é: framework full stack modular que combina componentes para criar aplicações escaláveis e organizadas.

# Instalação
pip install TurboGears2
Exemplo prático
# controller example
from tg import expose, TGController

class RootController(TGController):
    @expose('json')
    def index(self):
        return {'status': 'ok'}

Contexto Herez: aplicações modulares com camadas separadas de serviço e apresentação; padrões de projeto e testes disponíveis nos repositórios Herez.

CubicWeb

O que é: framework orientado a dados e semântico, ideal para aplicações que modelam domínios complexos e ontologias.

# Instalação
pip install cubicweb
Exemplo prático
# esquema e views são definidos por componentes; exemplo simplificado
# define entidades e relações, depois gere views automaticamente

Contexto Herez: usado em projetos de catalogação de dados e repositórios semânticos; modelos e scripts de ingestão estão nos repositórios Herez.

Dash

O que é: framework para construir dashboards interativos e aplicações de visualização de dados com componentes reativos.

# Instalação
pip install dash
Exemplo prático
import dash
from dash import html, dcc
import plotly.express as px

app = dash.Dash(__name__)
df = px.data.iris()
fig = px.scatter(df, x='sepal_width', y='sepal_length', color='species')

app.layout = html.Div([
    dcc.Graph(figure=fig)
])

if __name__ == '__main__':
    app.run_server(debug=True)

Contexto Herez: dashboards de monitoramento de modelos e painéis de métricas; aplicações com autenticação e deploy em containers estão nos repositórios Herez.

Falcon

O que é: microframework focado em performance para construir APIs REST de alta velocidade.

# Instalação
pip install falcon
Exemplo prático
import falcon
import json

class Resource:
    def on_get(self, req, resp):
        resp.media = {'status': 'ok'}

app = falcon.App()
app.add_route('/health', Resource())

Contexto Herez: APIs de baixa latência para serviços de autenticação e ingestão; exemplos de integração com gateways e testes de carga estão nos repositórios Herez.


Comparação prática

Critério Django Flask Pyramid Dash
FocoFull stackMicroframeworkFlexívelDashboards
Curva de aprendizadoMédiaBaixaMédiaBaixa
Ideal paraPortais e aplicações completasAPIs e microserviçosProjetos que crescemVisualização e data apps
EscalabilidadeAltaAlta com arquitetura adequadaAltaMédia

Boas práticas Herez para desenvolvimento web

  • Escolha pelo escopo: use Django para aplicações completas; Flask ou Falcon para APIs; Dash para dashboards interativos.
  • Arquitetura: separe apresentação, lógica e persistência; prefira microserviços quando precisar escalar independentemente.
  • Segurança: valide entradas, use HTTPS, proteja endpoints e gerencie segredos com cofre de segredos.
  • CI/CD: automatize testes, linting e deploy; inclua testes de integração e smoke tests para cada release.
  • Repositórios Herez: exemplos completos, templates de projeto e pipelines de CI usados em projetos reais da Herez estão disponíveis nos repositórios GitHub e GitLab da Herez.
Dica Herez: comece com um protótipo mínimo em Flask para validar requisitos; se o projeto crescer, avalie migrar para Django ou compor microserviços com Falcon para endpoints críticos de performance.

Próximo post da série

No próximo artigo cobriremos bibliotecas Python para Web Scraping com exemplos práticos, estratégias de coleta ética e pipelines para transformar dados brutos em insights.

Excerpt: Parte 4 da série Herez — guia prático de frameworks Python para desenvolvimento web com exemplos reais aplicados em projetos da Herez.

Tags: Desenvolvimento Web; Python; Django; Flask