×

Diferenças entre Aggregates e Server Actions na Leitura de Dados

Diferenças entre Aggregates e Server Actions na Leitura de Dados

Aggregates e Server Actions são componentes cruciais no desenvolvimento de aplicações. Ambos desempenham papéis semelhantes na obtenção e manipulação de dados, mas apresentam diferenças distintas em termos de otimização e funcionalidade. Neste artigo, exploraremos as principais diferenças entre Aggregates e Server Actions, destacando as vantagens de cada um e os cenários ideais de uso.

Como os Aggregates são mais fáceis de usar e intuitivos, acabam por ser mais utilizados. Estas são as duas principais razões porque devem ser utilizados:

Otimização de Dados e Seleção de Colunas

Uma das diferenças fundamentais entre Aggregates e Server Actions reside na otimização dos dados retornados. Ao utilizar Aggregates, os resultados são otimizados para o ecrã específico onde são exibidos. Isso significa que apenas as colunas relevantes para a tabela ou lista são retornadas, minimizando o tráfego de dados e melhorando o desempenho da aplicação. Por outro lado, Server Actions não possuem essa otimização nativa; elas retornam todas as colunas da fonte de dados. Quando há muitas colunas irrelevantes, é aconselhável implementar uma estrutura de output para retornar apenas os dados pertinentes, mitigando assim o desperdício de recursos e a exposição de dados sensíveis.

Utilização de StartIndex

Outra diferença muito estranha está na utilização do parâmetro StartIndex. Ao chamar um Aggregate no ecrã, é permitido definir a propriedade StartIndex e obter uma subsecção dos resultados. Uma página para a tabela. Os Aggregates em Server Actions por outro lado não incluem essa funcionalidade (está em Ideas). Como consequência, as Server Actions trarão mais dados do que o necessário e exigem lógica adicional para lidar com a paginação e os índices.

Se as Server Actions trazem colunas a mais e linhas a mais, então porque as devemos usar?

Segurança e Controlo

As Server Actions possuem diversas vantagens notáveis, consolidando o seu papel fundamental na obtenção e manipulação de dados. Em primeiro, elas trazem todas as vantagens de uma ação padrão. Isso inclui a capacidade de validar permissões antes da obtenção de dados, rastrear as ações executadas e aplicar transformações nos dados (como filtros, cálculos e agrupamentos) antes de sua exportação. Essas funcionalidades adicionam um nível extra de segurança e controlo nos processos de obtenção e manipulação de dados que um Aggregate simplesmente não consegue.

Flexibilidade e Reutilização

Outro ponto a favor das Server Actions é a flexibilidade para ir buscar dados de várias fontes além de Aggregates, como consultas Advanced SQL ou por web services. Além disso, as Server Actions podem ser reutilizadas em diversos cenários. Ao utilizar Server Actions em várias partes da aplicação, é possível aproveitar consultas já definidas para outro ecrã e evita-se a duplicação de lógica. Isso resulta numa arquitetura mais coesa, modular e fácil de manter.

Em resumo, tanto Aggregates como Server Actions desempenham papéis cruciais na obtenção e manipulação de dados em aplicações. As diferenças listadas entre eles tornam cada um adequado para diferentes cenários. Ao compreender essas distinções e utilizar cada componente conforme apropriado, as equipas podem criar aplicações mais eficientes, seguras e flexíveis, que atendam às necessidades específicas de cada ecrã do projeto.

Publicar comentário