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.
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 │
└─────────────────────────────────┘
| 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 | 🚧 2.0: 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 |
| 2.0 | 🚧 em desenvolvimento | 2.0 |
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.