2 dépôts
Defers multiple state changes into a single render cycle to optimize browser performance.
Distinct from State Change Batching: The candidates refer to blockchain state, file systems, or GPU draw calls; this is specifically about web UI render cycle batching.
Explore 2 awesome GitHub repositories matching user interface & experience · Render Batching. Refine with filters or upvote what's useful.
Reagent est un framework pour construire des interfaces utilisateur web en utilisant ClojureScript et React.js. Il permet une approche de programmation fonctionnelle pour la conception d'UI déclarative, où les structures HTML et les hiérarchies de composants sont définies en utilisant la syntaxe Hiccup basée sur des vecteurs au lieu de JSX. Le projet se différencie par un système de gestion d'état réactif basé sur des atomes. Il suit quels composants déréférencent des atomes d'état spécifiques pour déclencher des re-rendus automatiques et fournit des curseurs d'état pour isoler les mises à jour sur des chemins spécifiques d'un atome d'état plus large. Il inclut également des utilitaires pour envelopper des composants JavaScript natifs et des bibliothèques tierces afin de garantir qu'ils restent compatibles avec le cycle de rendu fonctionnel. Le framework couvre un large éventail de capacités, incluant la réconciliation du DOM virtuel, la gestion du cycle de vie pour les effets secondaires et le nettoyage, et l'optimisation des performances de rendu via le traitement par lots des mises à jour et la mémoïsation des calculs. Il fournit également des outils pour le rendu côté serveur de chaînes HTML statiques, le partage d'état global via le contexte, et des primitives de sécurité pour l'assainissement du contenu HTML.
Implements update batching to ensure multiple state changes trigger only a single render cycle, reducing browser repaint overhead.
Lit-element est un framework de composants personnalisés et une bibliothèque d'interface utilisateur réactive qui fournit une classe de base pour créer des éléments HTML standard. Il est conçu pour construire des composants web qui mettent automatiquement à jour leur état visuel lorsque les propriétés internes ou les données changent. Le projet permet le développement de composants encapsulés utilisant le shadow root pour isoler les styles et la structure. Il utilise des littéraux de gabarit JavaScript pour rendre des templates déclaratifs sans nécessiter d'étape de compilation. La bibliothèque couvre la gestion de l'état par le suivi des propriétés réactives et la synchronisation des propriétés de classe JavaScript avec les attributs HTML. Elle inclut également des capacités pour limiter la portée des sélecteurs CSS et gérer les cycles de rendu asynchrones pour traiter les mises à jour de l'interface.
Groups multiple state changes into a single asynchronous render cycle to minimize redundant DOM manipulations.