GH GambleHub

Lazy-ýüklemek we UX-tizlenmek

1) Maksatlar we ýörelgeler

Lazy-loading - möhüm zady derrew, galanlaryny bolsa zerur bolanda görkezmek üçin strategiýa. Maksatlar:
  • TTI/LCP-i möhüm ýoluň hasabyna kesiň.
  • Ýerleşişi (pes CLS) öňünden aýdylýan ölçegler bilen durnuklaşdyrmak.
  • Batareýany we traffigi mobilde sakla.
  • Konwersiýany ýokary galdyryň: ulanyjy hereketi has ir görýär.

Ýörelgeler: ileri tutulýan → öňe gidişlik → öňünden aýdylmak. Ilki bilen möhüm mazmun, soňra progressiw doldurmak we gowulaşmalardan soň ýüklemek.

2) Renderingiň möhüm ýoly

Möhüm HTML: "above-the-fold" belgisini birbada beriň.
Möhüm CSS: inline ≤ 10-15 KB; galanlary - 'media = "print"' + swap/goşmaça ýüklemek.
JS bloker hökmünde: 'defer '/' async', çantalara bölmek, ugurlar boýunça logikany ýüklemek.
Şriftler: 'font-display: swap' optional ', WOFF2 öňünden ýüklemek, ulgam fallback'.

3) Tor çeşmeleriniň ileri tutulmagy

CDN/şriftlere/şekillere preconnect (TCP + TLS öňünden).
Üçünji domenler üçin DNS-prefetch.
Möhüm şekilleri/şriftleri/skriptleri preload.
Priority Hints ('importance = "high' low ',' fetchpriority =" high "'hero-surat üçin).
HTTP/3/QUIC: az gizlinlik; CDN-edge ulanyja has ýakyn.
Keş syýasaty: wersiýa assets üçin 'immutable'; dogry ETag/Last-Modified.

4) Progressive Rendering we ýüklemek ýagdaýy

Skeletons/Şimmerler spinnerleriň ýerine: "bökmezden" wizual ösüş.
Kesgitlenen ölçegli placeholders (kartoçkalar, miniatýuralar) - nol CLS.
Streaming/Chunked HTML: çarçuwany çalt bermek, soňra mazmuny doldurmak.
Optimistic UI (seresap): soň tassyklamak bilen derrew hereket etmek.

5) Media mazmunyny lazy-ýüklemek

Şekiller:' loading =" lazy"',' decoding =" async"', AVIF/WebP formatlary (JPEG/PNG follbek).
Responsive: 'srcset '/' sizes' dürli DPR/giňlikler üçin; 1 × ýeterlik ýerde 3 × ýüklemäň.
Çak edilýän beýiklik: 'width/height' ýa-da CSS 'aspect-ratio'.
Wideo: 'preload =' metadata '', posterleri, awtopauzany viewport daşynda ýüklemek.
Nyşanlar: sprite/inline SVG; gereksiz HTTP soraglaryndan gaça duruň.

6) Ýaltalyk komponentleri we ugurlary

Code-splitting: marşrutlar/widjetler boýunça dinamiki import.
Adalaryň komponentleri/bölekleýin gidrasiýa: diňe interaktiw zolaklary janlandyryň.
SSR/SSG + ISR: HTML-i serwerde görkeziň, içgin täzeläň.
Suspense/Defer (ulanylýan frameworkda): maglumatlaryň we UI-leriň dekompozisiýasy.

7) Uly sanawlar we tablisalar

Wirtualization (windowing): diňe görünýän sebitiň renderi + bufer.
Anker goşmaça ýüklemek: paketleri ýükläniňde pozisiýany saklamak.
Batch-updates: skrollda täzeden çyzmagy azaltmak.
Çak edilýän ululyklar üçin fixed-row height ýa-da 'contain-intrinsic-size'.

8) CSS we brauzer tizlendirijileri

'content-visibility: auto': brauzer görünmeýän sanamalary sypdyrýar.
'contain '/' will-change': stil/düzüm täsirini çäklendirmek.
Animasiýa: diňe transform/opacity; layout/paint-agyr täsirlerden gaça duruň.
Şedow we blur - esasanam sanawlarda tygşytly.

9) Wakalary we JS ýüküni dolandyrmak

Passiw ses diňleýjileri ('{passive: true}').
resize/scroll/prosessorlarda debounce/throttle.
Widgetlaryň viewport (IntersectionObserver) daşynda gijikdirilmegi.
"Web Workers" -a agyr hasaplamalary geçirmek.

10) Ykjam kontekst

Tor: haýal 3G/ýokary RTT - has agressiw ýaltalyk ýüklemek.
Batareýa we ýylylyk: wagtyň ýygylygyny çäklendirmek, fon animasiýalarynyň FPS azaltmak.
Gysyş: Brotli, dogry 'Accept-Encoding'.
Wi-Fi prefetch diňe ähtimal geçişler üçin (klikleriň taryhy).

11) Elýeterlilik we SEO

Skelet ≠ mazmun: ekran okyjylaryna päsgel bermeýär; fokusyň logiki tertibi.
Açar tekstiň HTML serweri - JS-iň aňyrsynda hemme zady gizlemäň.
Alt-tekstler we sözbaşylar goşmaça ýüklenýänçä elýeterli bolup galýar.
Lazy-mazmuny klawiatura ýollaryny petiklemeli däldir.

12) Metrikler we maksatlaýyn gymmatlyklar

LCP (hero-surat/sözbaşy): ≤ 2,5 s (mobil).
INP (giriş reaksiýasy): ≤ 200 ms.
CLS: ≤ 0,1.
TTFB: ≤ 500 ms; TTI: ≤ 3 s.
Bytes over the wire (first view): berk býudjet (mysal üçin ≤ 200-300 KB krit. resurslar).
Scroll-jank: <1% kadr> 16,7 ms.

Wakalaryň telemetriýasy:
  • 'lazy _ enqueued '/' lazy _ loaded' (id, görnüş, ululyk, latency),
  • 'component _ hydrated' (wagt, JS agramy),
  • `virtualized_window_resize`,
  • `lcp_candidate_shown`, `skeleton_time_visible`,
  • hatalar ('img _ error', 'decode _ timeout').

13) Görnüş zolaklary üçin patternler

Esasy/katalog: SSR + skeleton kartoçkalary, lazy suratlar, progressiw süzgüçler.
Haryt/oýun kartoçkasy: gahryman şekili preload + high priority; galereýa - lazy; synlar - basmak arkaly.
Uzyn makalalar/wiki: TOC, okamagyň ösüşi, media/kod bloklary üçin lazy, yza süýşürilen mazmunlar.
Durmuş lentalary: setirleri wirtuallaşdyrmak, "awto-skroll arakesmesi", bufer çäkleri.

14) Antipatternler

Bütin ekranda Spinner> 1-2 s öňe gitmedi.
Lazy ýer saklaýjysyz → at çapyşyklary (CLS ↑).
Seýrek ssenariler üçin "JS-iň hemmesini birbada" ýükläň.
Agyr şriftleri/şekilleri möhüm bölege öwüriň.
Kartoçkalaryň öňünden aýdyp bolmajak ölçegleri → "aýlanyp ýören" mazmun.
Tankydy ýüklemek (logo, hero-tekst) - LCP döwýär.
"Yza" -dan soň pozisiýanyň yzyna gaýdyp gelmezligi.

15) Girizmegiň çek-sanawy (ädimme-ädim)

Sprint 1 - Diagnostika: LCP/INP/CLS/TTFB ölçäň; çeşmeleriň we möhüm ýoluň kartasyny düzüň.
Sprint 2 - Tankyt/Prioritet: CSS/HTML, 'preconnect '/' preload', JS çankalaryny azaldyň.
Sprint 3 - Media: AVIF/WebP, 'srcset/sizes', kesgitlenen ölçegler, non-hero üçin lazy.
Sprint 4 - Sanawlar: Wirtualizasiýa, anker ýüklemek, skeletons/shimmer.
Sprint 5 - Arhitektura: bölekleýin gidrasiýa/adalar, SSR/SSG/ISR, akym.
Sprint 6 - Inçe sazlama: 'content-visibility', priority hints, debounce, Web Workers.
Sprint 7 - A/B we telemetriýa: skeletleriň wariantlaryny, lazy derejelerini, býudjetleri deňeşdiriň.
Sprint 8 - Relizleriň arassaçylygy: assetleriň wersiýalary, keş-basting, rollback strategiýalary.

16) Sözlük (gysgaça)

Lazy-loading - görünmeýän mazmuny gijikdirmek.
LCP/INP/CLS/TTFB/TTI/TBT - UX tizliginiň esasy metrikleri.
Code-splitting/Gidrasiýa/Adalar - UI bölmek we janlandyrmak usullary.
Wirtualization - sanawyň görünýän penjiresiniň renderi.
Priority Hints/Preconnect/Preload - brauzer üçin öň ýüklemeli görkezmeler.
Content-visibility - görünmeýän mazmun üçin hasaplamalary sypdyrmak.

17) Jemleýji

Lazy-loading - bu "goýlan 'loading =" lazy' we taýýar "däl. Bu ulgam: möhüm ýol, dogry media formatlary, ada interaktiwligi, wirtualizasiýa we telemetriýa. Möhüm zady derrew, ikinjisini göze ilmeýän we arzan, maketi bolsa öňünden aýdyp boljak ediň. Şonda önüm islendik enjamda we islendik ulgamda çalt duýular.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Telegram
@Gamble_GC
Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.