Junior
Ինչու՞ են Flutter-ի widget-ները կոչվում թեթև կոմպոնենտներ։
sobes.tech AI
Պատասխան AI-ից
Flutter-ում վիդջեթները նկարագրում են միայն UI տարրերի ընթացիկ կոնֆիգուրացիան, ոչ թե ինքնին տարրի օրինակը: Երբ վիճակը փոխվում է, վիդջեթները նորից կառուցվում են, ստեղծելով նոր օրինակ, բայց Dart VM-ը արդյունավետ կերպով համեմատում է հին և նոր վիդջեթները և թարմացնում միայն այն մասերը ռենդերային ծառի, որոնք իսկապես փոխվել են: Սա թույլ է տալիս խուսափել թանկարժեք գործողություններից՝ բնիկ UI տարրեր ստեղծելու և հեռացնելու, և դարձնում է դրանք "հակակշռային":
- Անփոփոխություն: Վիդջեթները անփոփոխ են, ինչը հեշտացնում է նրանց համեմատությունը և վերօգտագործումը:
- Հայտարարական մոտեցում: UI-ի նկարագրությունը վիդջեթների տեսքով հայտարարական է, ինչը ապահովում է բարձր կատարողականություն փոփոխությունների ժամանակ:
- Արդյունավետ diffing ալգորիթմ: Flutter-ը օգտագործում է օպտիմալացված ալգորիթմ՝ վիդջեթների արագ համեմատության և UI-ի թարմացման համար:
Օրինակ՝ պարզ տեքստային վիդջեթ ստեղծելու համար:
// Վիդջեթ օբյեկտի ստեղծում
Text(
'Բարև, աշխարհ!', // Վիդջեթի կոնֆիգուրացիա
style: TextStyle(fontSize: 20.0),
);
Տեքստը փոխելու դեպքում կստեղծվի նոր Text օբյեկտ՝ նոր կոնֆիգուրացիայով, բայց ռենդերումը արդյունավետորեն թարմացվում է։