O panorama geral
Praticamente todo app que você vai construir é feito de quatro partes que conversam entre si:
- — o que o usuário vê e clica. As telas, botões e textos dentro de um navegador ou de um aplicativo de celular.
- — a lógica que roda em um servidor que você controla. Ele aplica as regras, faz o trabalho pesado e decide quem pode fazer o quê.
- Banco de dados — onde a informação vive para continuar lá amanhã. Contas, posts, pedidos.
- Hospedagem (hosting) — os computadores, em algum lugar do mundo, que de fato executam tudo isso para que outras pessoas consigam alcançar o app.
Veja como eles se conectam:
┌──────────────┐ request ┌──────────────┐ query ┌──────────────┐
│ │ ─────────────────────▶ │ │ ──────────────────▶ │ │
│ FRONTEND │ │ BACKEND │ │ DATABASE │
│ (browser) │ ◀───────────────────── │ (server) │ ◀────────────────── │ (storage) │
│ │ response │ │ rows │ │
└──────────────┘ └──────────────┘ └──────────────┘
what you see the rules + logic where data lives
└──────────────────────────── all of this runs on HOSTING ───────────────────────────────────┘
O frontend nunca conversa diretamente com o banco de dados. Ele sempre passa pelo backend, onde as regras vivem. Esse único fato explica boa parte de como os apps são construídos — e por que "simplesmente deixar a página ler o banco de dados" quase nunca é a resposta certa.