Repository navigation
o que e
mobius1qwe edited this page Oct 7, 2026
·
1 revision
Home > O que é o PascalRAL
Nível: iniciante · não precisa saber Pascal
Em uma frase: um conjunto de componentes para Delphi e Lazarus que faz um programa responder pedidos pela rede (servidor) ou fazer pedidos a outro programa (cliente), no formato que a web usa: HTTP e REST.
- Um sistema de balcão que consulta o estoque guardado num servidor.
- Um aplicativo de celular que envia pedidos para a empresa.
- Um site ou outro sistema (em qualquer linguagem) que lê dados do seu programa.
- Um programa que chama a API de outro serviço (pagamento, nota fiscal, CEP...).
Em todos, um lado pergunta (cliente) e o outro responde (servidor). O RAL faz os dois lados.
Cliente (TRALClient) Servidor (TRALServer)
┌──────────────────┐ GET /clientes/7 ┌─────────────────────────────────┐
│ seu programa │ ──────────────────▶ │ motor (Indy, mORMot2, ...) │
│ + motor │ │ ↓ │
│ │ ◀────────────────── │ plugins (segurança, CORS, ...) │
└──────────────────┘ 200 {"nome":...} │ ↓ │
│ rotas e módulos → seu código │
└─────────────────────────────────┘
- O cliente monta o pedido e o motor dele envia pela rede.
- O motor do servidor recebe e entrega ao RAL.
- Os plugins checam o pedido (senha, IP, tamanho...). Se algo estiver errado, respondem com erro e param ali.
- A rota certa chama o seu código, que preenche a resposta.
- A resposta volta pelo mesmo caminho.
| Termo | O que é |
|---|---|
| IDE | o programa onde você escreve e compila: Delphi ou Lazarus |
| Componente | uma peça pronta que você arrasta para o formulário ou cria no código (TRALServer, TRALClient...) |
Pacote (.bpl/.dpk no Delphi, .lpk no Lazarus) |
um conjunto de componentes que se instala na IDE |
| Library path | a lista de pastas onde a IDE procura os fontes; o RAL precisa estar nela |
| Unit | um arquivo de código Pascal (.pas); uses diz quais units o seu código usa |
| HTTP | a "língua" da web: pedidos com um método, um endereço e, às vezes, um corpo |
| Método (ou verbo) | o tipo de pedido: GET (ler), POST (criar), PUT/PATCH (alterar), DELETE (apagar) |
| Rota | o endereço que o servidor atende, como /clientes, ligado ao código que responde |
| Status | o número da resposta: 200 ok, 401 sem login, 403 proibido, 404 não existe, 500 erro no servidor |
| JSON | o formato de texto mais usado para trocar dados: {"nome": "Ana", "idade": 30}
|
| REST / API | um jeito organizado de expor dados por rotas HTTP; "API" é o conjunto dessas rotas |
| Motor (engine) | a biblioteca que de fato conversa com a rede (Indy, mORMot2, Sagui, fpHTTP, NetHTTP...). O seu código não muda quando você troca de motor |
| Módulo | um componente que traz um grupo de rotas pronto: banco de dados (TRALDBModule), site (TRALWebModule), documentação (TRALSwaggerModule) |
| Plugin | 🚧 1.3: um componente que adiciona um recurso ao servidor (compressão, CORS, login...), ver Plugins |
| DBWare | a parte do RAL que leva consultas e tabelas de banco de dados pela rede |
| Porta | o número que identifica o programa servidor na máquina (8000, 443...) |
| HTTPS / TLS / certificado | a versão cifrada do HTTP; o certificado prova quem é o servidor |
| Thread | uma linha de execução; o servidor atende vários pedidos ao mesmo tempo, cada um numa thread |
| Versão | Situação | Branch |
|---|---|---|
| 1.1 | lançada em 19/09/2026 | master |
| 1.2 | 🚧 em desenvolvimento | dev |
| 1.3 | 🚧 em desenvolvimento | 1.3-plugin |
Tudo o que a wiki marca com 🚧 ainda não saiu numa versão lançada e pode mudar.
Instalação, depois Primeiro servidor e cliente.
Começar
Servidor
- Rotas e parâmetros
- Ler o pedido e responder
- Plugins 🚧
- Autenticação
- Banco de dados (DBWare)
- Servir site e arquivos
- Swagger e Postman
- HTTPS
- Criptografia ponto a ponto
- Segurança para produção
- Colocar no ar
- Desempenho
Cliente
Motores
Avançado
Ajuda
- Problemas comuns
- Atualizar o Indy
- Várias versões do Delphi
- Vídeos e guias
- Módulos de terceiros
- Licenças
- Contribuir
- Roadmap e changelog
🚧 = em desenvolvimento, pode mudar