-
Notifications
You must be signed in to change notification settings - Fork 1
Runtime
O eQuantic.UI Runtime é a biblioteca que dá vida à aplicação no browser. Ela é responsável por transformar a árvore virtual gerada pelo código compilado em elementos DOM reais e reagir às mudanças de estado.
Diferente de frameworks que recriam o DOM inteiro, o Reconciler do eQuantic.UI compara a página atual com a nova versão desejada e aplica apenas as mudanças mínimas necessárias.
-
Comparação de Tipos: Se o nó mudou de tag (ex:
divparaspan), ele é substituído inteiramente. - Atualização de Atributos: Apenas atributos modificados são alterados no DOM.
- Gestão de Filhos: O reconciliador percorre a lista de filhos de forma recursiva.
Com a introdução do Keyed Diffing, o reconciliador agora suporta a propriedade key.
- Se dois nós em posições diferentes possuem a mesma chave, o framework entende que o elemento foi movido, preservando o estado interno do browser (como o cursor dentro de um input ou o estado de scroll).
Para evitar vazamentos de memória (memory leaks), o runtime utiliza um sistema de rastreamento de eventos baseado em WeakMap.
- Os event listeners são mapeados diretamente para o
HTMLElement. - Quando um elemento é removido do DOM e não há mais referências a ele, o Garbage Collector do browser pode limpar automaticamente os metadados dos eventos, garantindo que o consumo de memória da aplicação permaneça estável mesmo em sessões longas.
O runtime suporta o processo de "Hidratação", onde ele assume o controle de um HTML já renderizado pelo servidor (SSR). Em vez de destruir e recriar, o runtime apenas anexa os event listeners necessários aos elementos existentes, garantindo um carregamento inicial instantâneo.