-
Notifications
You must be signed in to change notification settings - Fork 1
Performance pt BR
🌐 Esta página em: English · Português
O foco do eQuantic.UI é entregar uma experiência de Single Page Application (SPA) com overhead mínimo, aproveitando o poder do C# para gerar código de frontend altamente otimizado.
O sistema de Virtual DOM foi desenhado para ser eficiente e antecipar mudanças de estado.
O algoritmo de reconciliação usa uma estratégia eficiente de Keyed Diffing baseada no algoritmo da maior subsequência crescente (Longest Increasing Subsequence, LIS).
-
Propriedade Key: a propriedade
keyidentifica elementos entre renders. Elementos com a mesma key são reaproveitados e atualizados no lugar. - Otimização por LIS: quando elementos são reordenados, o algoritmo calcula a maior subsequência crescente para minimizar movimentos no DOM. Só os elementos fora da LIS precisam se mover.
- Otimização de prefixo/sufixo: prefixos e sufixos comuns são processados primeiro, sem diffing complexo, melhorando a performance das operações típicas de lista (append, prepend).
- Eficiência de memória: elementos que não se movem preservam o estado do browser (foco de input, posição de scroll etc.).
Vazamentos de memória são mitigados pelo uso inteligente de referências fracas e limpeza automática.
Os listeners são rastreados com WeakMap<HTMLElement, Map<string, EventHandler>>.
-
Referências fracas: o
WeakMappermite que elementos do DOM sejam coletados pelo Garbage Collector quando removidos da árvore, mesmo que o framework ainda tenha referências internas aos handlers deles. -
Limpeza automática: ao remover um componente, o reconciliador tenta desconectar os listeners
explicitamente, mas o
WeakMapfunciona como rede de segurança contra vazamentos em ciclos de vida complexos.
O SDK usa um binário Bun embarcado para processar a saída final.
- Performance de build: o Bun processa arquivos TS/JS até 10× mais rápido que ferramentas baseadas em Node.js.
- Tree-shaking: código morto é removido automaticamente durante o build.
- Minificação: os scripts são entregues comprimidos.
O compilador analisa as definições de StyleClass e as extrai para arquivos .css estáticos em
tempo de build.
- Sem overhead de CSS-in-JS: diferente de frameworks web modernos que calculam estilos em tempo de execução, o eQuantic.UI entrega CSS estático, reduzindo o trabalho de CPU no browser.
- Cacheabilidade: os arquivos CSS podem ser cacheados independentemente dos bundles de lógica.
- Otimização de LCP: o layout é aplicado assim que o CSS carrega, evitando Layout Shift (CLS).
- Chunks por página: cada página gera o próprio bundle JS. O usuário baixa apenas o necessário para a rota atual.
- Lazy loading: componentes e bibliotecas complexos podem ser carregados sob demanda.
🌐 English · Português
🏁 Comece aqui
📱 Write-once
- Componentes write-once
- Superfície declarativa
- Motor Photon
- Design System
- Capacidades
- Armazenamento
- Formulários
- Editor de código
- Markdown
- Mermaid
- Renderização de Email
🏗️ Arquitetura
⚙️ Compilação
- Compilador
- Avaliação em tempo de compilação
- Recursos C# suportados
- Resolução de tipos externos
- Fluxo de build
- Diagnósticos
⚡ Runtime
🔌 Servidor
🎨 Ecossistema
🚀 Desenvolvimento