Sparround

Əsas widget-lər və siyahılar

Gündəlik işin böyük hissəsi bir neçə widget ətrafında fırlanır:

  • Scaffold — Material ekranın skeleti: appBar, body, floatingActionButton, bottomNavigationBar, drawer
  • TextImage — məzmun; Image.network, Image.asset, errorBuilder ilə xəta halı
  • ListViewGridView — sürüşən siyahılar
  • StackPositioned — üst-üstə yerləşdirmə
  • Padding, SizedBox, Align, Center — boşluq və düzülüş

Bunlardan siyahılar interview üçün ən vacibidir, çünki performans sualı məhz orada başlayır.

ListView-un iki istifadə forması var və fərqi bilməmək klassik səhvdir:

  • ListView(children: [...]) — bütün uşaqları dərhal qurur. 10 element üçün normaldır, 10 000 üçün fəlakət
  • ListView.builder(itemCount:, itemBuilder:)tənbəldir: yalnız ekranda görünən (və bir az ətrafdakı) elementləri qurur

Əlavə variantlar: ListView.separated (aralarda ayırıcı), GridView.builder, və uzun/qarışıq səhifələr üçün CustomScrollView + sliver-lər.

Sonsuz və ya böyük siyahılarda həmişə `.builder` — bu, interview-də gözlənilən cavabdır.

Interview ipucu. "Siyahıda 10 000 element var, necə göstərərsən?" sualı demək olar hər Flutter müsahibəsində olur. Cavabın üç hissəsi olsun: (1) ListView.builder — tənbəl qurma; (2) element widget-lərini mümkün qədər const etmək və ağır işi itemBuilder-dən çıxarmaq; (3) data tərəfi — səhifələmə (pagination) və şəkillərin cache-lənməsi. Yalnız birinci bənd junior cavabıdır.

📚 Mənbələr və sənədlər