Pular para o conteúdo

Dext Framework: A Revolução do Design-Time no Delphi

Dext Design-Time Revolution

Muitos frameworks ORM prometem produtividade, mas poucos entregam uma experiência verdadeiramente integrada à IDE do Delphi. O Dext Framework quebra essa barreira, sendo um ORM de alta performance que permite configurar todo o seu motor de dados diretamente no Object Inspector, com feedback visual instantâneo e sem a necessidade de escrever código de infraestrutura repetitivo.

Neste guia visual, percorremos cada passo dessa experiência que redefine o desenvolvimento Full Stack com Delphi, unindo o poder do mapeamento objeto-relacional com a agilidade do RAD.


O processo começa com a geração automática das entidades. O Dext lê o seu banco de dados e cria classes de entidade robustas, respeitando tipos e relacionamentos.

Com o pacote Dext.EF.Design instalado, você ganha acesso aos componentes especializados e menus de contexto que automatizam as tarefas mais tediosas.

Instalação do Pacote Design Componentes Instalados

Tendo uma conexão FireDAC ativa (ex: SQLite), você dispara o Scaffolding diretamente pelo menu de contexto dos componentes de conexão. É o fim do mapeamento manual campo a campo.

Conexão FireDAC Disparando Scaffolding

Selecione as tabelas desejadas e visualize o código antes mesmo de gerá-lo. O Dext permite customizar nomes de classes, propriedades e mapeamentos diretamente no Preview.

Seleção de Tabelas Preview de Scaffolding Entidades Criadas


Conectar as entidades à sua interface é um processo puramente visual e extremamente fluido.

O TEntityDataProvider serve como a ponte inteligente entre o banco e o seu modelo. Basta conectá-lo ao seu TFDConnection.

Configurando Provider

O Dext escaneia as units do seu projeto em busca de classes decoradas. Você não precisa registrar nada manualmente; as entidades aparecem prontas para uso.

Scan de Units Resultado do Scan

Ao selecionar a EntityClassName e definir Active = True no Object Inspector, os dados reais do banco populam o seu Form Designer imediatamente. Isso permite validar o layout com dados reais sem precisar compilar o projeto.

Configurando DataSet Dados vivos no Delphi


O Dext permite que você controle o comportamento das propriedades através de atributos e configurações visuais poderosas.

A filtragem Master-Detail é configurada visualmente. O resultado é refletido na grid de detalhes em tempo de design, garantindo que a lógica de relacionamento esteja correta antes da execução.

Master-Detail Dinâmico

Como um ORM moderno, o Dext permite que você controle o comportamento das propriedades através de atributos diretamente no código da entidade. Isso não apenas define as regras de negócio, mas configura automaticamente a interface na IDE (como larguras de colunas, labels e máscaras).

[Table('Customers')]
TCustomerEntity = class
public
[PK, MaxLength(5), Column('CustomerID'), DisplayLabel('Código'), DisplayWidth(10)]
property CustomerId: StringType read FCustomerId write FCustomerId;
[MaxLength(40), DisplayLabel('Empresa'), DisplayWidth(30)]
property CompanyName: StringType read FCompanyName write FCompanyName;
[MaxLength(30), DisplayLabel('Contato')]
property ContactName: StringType read FContactName write FContactName;
[MaxLength(15), DisplayLabel('Cidade'), Alignment(taCenter)]
property City: StringType read FCity write FCity;
[MaxLength(15), DisplayLabel('País')]
property Country: StringType read FCountry write FCountry;
end;

O Dext oferece uma vasta gama de atributos para enriquecer a experiência de design-time:

  • [DisplayLabel]: Define o título da coluna.
  • [DisplayWidth]: Calcula a largura automática no grid.
  • [ReadOnly], [Visible], [EditMask], [DisplayFormat] e mais.

Use o comando Refresh Entity Metadata para que o DataSet se reconfigure e atualize os campos na IDE instantaneamente após qualquer alteração no código.

Customizando via Atributos Refresh Metadata Campos Atualizados Exemplo de Atributos


Aqui estão as funcionalidades que tornam o Dext único para quem busca agilidade extrema.

Precisa conferir os dados rapidamente sem configurar grids? O comando Live Preview abre uma janela de visualização instantânea dos dados da entidade selecionada.

Ação Live Preview Visualização dos Dados

O Dext oferece suporte nativo a diálogos de busca avançada com filtros dinâmicos, tudo pronto para ser invocado via código ou configurado na IDE.

Busca Avançada Filtro Dinâmico na Busca


🔄 Fase 5: Reverse Scaffolding (A “Arma Secreta”)

Seção intitulada “🔄 Fase 5: Reverse Scaffolding (A “Arma Secreta”)”

E se você não quiser começar pelo banco de dados ou tiver um TDataSet customizado? O Dext consegue gerar entidades a partir de qualquer DataSet ativo.

Neste exemplo, usamos um TFDQuery criado dinamicamente. O Dext lê as definições de campos e gera a classe de entidade equivalente em segundos.

Reverse Scaffolding Action Preview do Reverse Scaffolding Entidade Gerada com Sucesso


O Dext Framework não é apenas um ORM, é uma engine de aceleração de desenvolvimento. Ele permite que o desenvolvedor Delphi foque no que realmente importa — a regra de negócio — enquanto a infraestrutura de dados é resolvida visualmente, com alta performance e elegância.

Repositório Oficial do Dext: Acesse no GitHub


Publicado originalmente em cesarromero.com.br