#code #flutter

Les RenderObjects jouent un rôle clé dans le rendering d’une application Flutter. Les RenderObjects forment un arbre : le Render Tree.

Note: En Flutter il existe 3 trees : 1. Widget Tree (immutable) 2. Le Element Tree 3. Le Render Tree (mutable)

Les RenderObjects ont plusieurs responsabilités : - Calculer la mise en page (layout) - Dessiner l’interface (oainting) - Détecter les taps (hit testing) - Accessibilité (sementics)

La plupart des widgets utilisent une sous-classe de RenderObject: les RenderBox, qui utilisent des coordonnées 2D.

Les RenderObjects sont réutilisables d’un frame à l’autre (contrairement aux Widgets). C’est d’ailleurs a cela que sert l’attribut “key” sur les Widgets : permettre de réutiliser le “Element” et le “RenderObject” associé au Widget, même si ce dernier à été déplacé dans de Widget Tree.