lazerg
Ilova va sayt farqi: nega ilova tez, sayt sekin?

· 7 daqiqa oʻqish

Ilova va sayt farqi: nega ilova tez, sayt sekin?

Foydalanuvchilarning 53% sayt 3 soniyada ochilmasa ketadi. Ilova telefonda yashaydi, sayt esa tarmoqdan yuklanadi. Twitter va Starbucks buni qanday hal qilgan?

Instagram lentasini barmogʻingiz bilan surasiz — u muzdek silliq siljiydi. Rasmlar siz soʻramasingizdanoq joyida turibdi. Soʻng oʻsha brend profilidagi havolani bosib, uning saytiga oʻtasiz. Va oq ekran, aylanayotgan doiracha, keyin esa sahifa bir sakrab, joyiga tushadi.

Bir xil telefon. Bir xil Wi-Fi. Bir xil soniya. Biri tirik his qilinadi, ikkinchisi zoʻrgʻa nafas olayotgandek. Buni yuz marta sezgansiz. Nega shunday?

Qisqa javob dizaynda emas. Nega mobil ilovalar veb-saytlardan tez va ravon ishlaydi? Chunki ilova telefoningizda yashaydi. Uning ekranlari va mantigʻi allaqachon oʻrnatilgan. Veb-sayt esa koʻpincha har safar tarmoqdan qaytadan yuklanadi. Butun farq — ish qayerda bajarilishida. Buni quyida raqamlar va Twitter, Starbucks, Pinterest kabi haqiqiy misollar orqali ochib beramiz.

Koʻz ilgʻaydigan farq: 16 millisekund

Ravonlik — didga bogʻliq narsa emas. Uni oʻlchasa boʻladi.

Telefon ekrani soniyasiga 60 marta qaytadan chiziladi. Demak, har bir kadr uchun atigi 16 millisekund vaqt bor. Koʻzingizni bir yumib ochguncha taxminan 100 millisekund oʻtadi. Telefon esa shu orada ekranni olti marta qaytadan chizib ulgurishi kerak. Ulgurmasa, kadrlar tushib qoladi va koʻzingiz buni darhol ilgʻaydi. Muhandislar bu tutilishni jank deb ataydi.

Odam qancha kutishga chidashini tadqiqotchilar oʻnlab yillardan beri oʻlchab kelishadi. Jakob Nielsenning klassik oʻlchovlari shunday:

Javob vaqti Odam nima his qiladi
0,1 soniya Bir zumda: tizim darhol javob berdi
1 soniya Fikr uzilmaydi, ish maromida ketadi
10 soniya Eʼtibor yoʻqoladi, odam ham ketadi

Yana bir chiziq bor. 1982-yilda IBM muhandislari tizim taxminan 400 millisekunddan tez javob bersa, odam kutishni unutib, ishga berilib ketishini aniqlagan. Googleʼning amaliy qoidasi ham shunga yaqin: bosishga 100 millisekund ichida javob ber, animatsiyani soniyasiga 60 kadrda yurgiz.

Ravonlik — did emas, miyangiz sezadigan aniq byudjet. Butun gap shu byudjetni kim toʻlaydi-yu, kim toʻlamasligida.

Sir: ilova telefoningizda yashaydi, sayt esa har safar tarmoqdan keladi

Sodda qilib aytamiz. Veb-sayt siz sahifani ochgan har safar shahar narigi chetiga chopar yuboradi: "menga yangi nusxa keltir". Ilova esa butun kitobni javoningizda saqlaydi. U faqat keyingi sahifani ochadi, xolos.

Native ilovaning ekranlari, tugmalari va joylashuv mantigʻi allaqachon telefoningizga oʻrnatilgan. Tugmani bosganingizda, ilova asosan joyida turgan narsani qaytadan tartiblaydi. Internetni kutish shart emas.

Oddiy veb-sayt esa koʻpincha har bir oʻtishda sahifani tarmoqdan qayta soʻraydi. Bu — uzoqdagi serverga borib kelish, soʻng hammasini qaytadan yuklab, qaytadan chizish. Mobil internetda yoki signal kuchsiz joyda aynan shu borib-kelish siz sezayotgan kechikishga aylanadi.

Ilovalar maʼlumotingizni telefonda ham saqlab, fonda sinxronlab turadi. Shu bois kechagi yozishmalar tarmoq javob bermasidanoq ekranda paydo boʻladi.

Buni his qilgansiz: ilova ochilishi bilan kontent koʻrinadi, sayt ochilganda esa avval aylanma doiracha.

Ilova ekranlari telefonda saqlanishi va veb-sayt har safar tarmoqdan yuklanishi oʻrtasidagi farq

Bir xil bosish — turlicha natija, chunki ish turli joyda bajariladi.

Illyuziya ham muhandislik: ilovalar kutishni qanday yashiradi

Ravonlikning katta qismi — puxta oʻylangan illyuziya.

Skelet ekran (skeleton screen) — kontent oʻrniga avval kulrang quti va chiziqlar chiqadi, goʻyo sahifa allaqachon shu yerda, faqat toʻlishi qolgan. Aylanma doiracha (spinner) esa faqat "kut" deydi. Nazorat sinovlarida skelet ekranlar bir xil haqiqiy tezlikda ham tezroq his qilingan. Masalan, Viget sinovida qariyb 20% tezroq. Lekin bu sehr emas: yomon qilingan, qotib turgan skelet aksincha sekinroq tuyuladi. Faqat yuklanish yoʻnalishi boʻylab jimirlab turadigani ishonchli ishlaydi.

Optimistik interfeys (optimistic UI): yurakcha tugmasini bossangiz, u darhol toʻladi. Ilova muvaffaqiyatni oldindan taxmin qiladi, serverga jimgina xabar yuborib solishtiradi va faqat xato chiqsa orqaga qaytaradi. Instagram va Twitterdagi "like" aynan shunday ishlaydi.

Oldindan yuklash: siz hozirgi ekranni oʻqiyotganingizda, ilova keyin ochishingiz ehtimoli yuqori boʻlgan ekranni fonda tayyorlab qoʻyadi.

"Ravon" degan tuygʻuning koʻpi — halol muhandislik illyuziyasi. Saytlar ham bu usullarning barchasini qoʻllay oladi; koʻpchiligi shunchaki qilmaydi.

Nega koʻp saytlar sekin: sayt tezligini nima buzadi?

Yuqoridagi borib-kelish — bu faqat poydevor. Koʻp saytlar uning ustiga yana bir necha ogʻirlikni qalashtiradi:

  • Ogʻir JavaScript: sahifaning yagona ishchisi joylashuvni qurish bilan band boʻlib, siz bosganingizni tom maʼnoda "eshitmaydi". Ekran bir zum muzlab qoladi.
  • Joylashuvning qayta hisoblanishi (reflow): kech yuklangan reklama chiqishi bilan matn pastga sakraydi, aynan barmogʻingiz bosayotgan payt.
  • Uchinchi tomon yuki: reklama skriptlari, kuzatuvchilar (tracker), chat oynachalari, beshta alohida shrift fayli. Har biri vazn va kechikish qoʻshadi.
  • Birinchi, keshsiz yuklash: ilk tashrifda hech narsa saqlanmagan, shuning uchun hammasi noldan yuklanadi.

Endi haqiqiy raqamlar. Ular eskirgan, ammo yoʻnalishni aniq koʻrsatadi:

  • Google tadqiqoti (2017): sahifa 3 soniyada ochilmasa, mobil tashriflarning 53% tashlab ketiladi. 5 soniyada yuklanadigan saytlarda sessiya 19 soniyalik saytlarga qaraganda 70% uzunroq davom etgan, chiqib ketish esa 35% kamaygan.
  • Oʻsha Google/DoubleClick maʼlumoti (2016): oʻrtacha mobil sayt 3G orqali qariyb 19 soniyada yuklangan.
  • Akamai (2009): odamlarning deyarli yarmi (47%) sahifa 2 soniyada ochilishini kutadi. Bu — Google emas, Akamai raqami. Oʻshandan buyon tarmoqlar 4G va 5Gʼga oʻtdi, lekin sabr chegarasi oʻzgargani yoʻq.

Bir savol tugʻiladi: yechim maʼlum boʻlsa, nega har bir sayt uni qoʻllamaydi? Chunki sekinlik koʻpincha texnik chegara emas. Bu — ustuvorlik masalasi. Kimdir tezlik oʻrniga marketing teglari, reklama tarmoqlari va oynachalarni tanlagan.

Koʻp sekin saytlar buzuq emas. Ular kimdir qilgan tanlovlar ostida ezilib qolgan.

Saytlar ilovaga aylanganda: 4 ta haqiqiy misol

Xoʻsh, sayt ravonlik byudjetini rostdan toʻlasa, nima boʻladi? Taxminan 2017-yilda toʻrtta yirik mahsulot aynan shuni qildi. Oʻz saytini ilovadek ishlaydigan qilib qayta qurdi. Bir xil veb, bir xil brauzer, boshqacha qarorlar.

Bunday saytlar PWA (Progressive Web App) deb ataladi: brauzerda ochiladigan, ammo ilovadek ishlaydigan, oʻz "qobigʻini" telefonga saqlab qoʻyadigan sayt.

  • Twitter Lite: sessiyadagi sahifalar 65% koʻpaydi. Veb-versiya atigi 600 KB edi, Androiddagi 23,5 MB li ilovadan qariyb 40 baravar kichik. (web.dev tahlili)
  • Starbucks: kunlik faol veb-foydalanuvchilar soni ikki baravar oshdi. Veb-ilova 233 KB, iOSʼdagi 148 MB li ilovadan qariyb 600 baravar kichik. 148 MB — bu bir mavsum podkast; 233 KB — bir-ikkita SMS. Ekran esa oʻsha buyurtma ekrani.
  • Pinterest: reklama daromadi 44%, asosiy jalb 60% oshdi. Yuklanish 3G orqali 23 soniyadan 5 soniyadan kamga tushdi. Eski sayt mobil foydalanuvchilarning atigi 1% ini mijozga aylantira olardi.
  • Tinder Online: yuklanish 11,91 soniyadan 4,69 soniyaga, birinchi koʻrinish taxminan 1 soniyadan 0,5 soniyaga tushdi. Veb-versiya 2,8 MB, native ilovadagi 30 MB+ oʻrniga. (Addy Osmani tahlili)

Hammasini bir jadvalga jamladik. Barchasi PWA sifatida qayta qurilgan:

Sayt Hajmi: veb va native Yuklanish: oldin → keyin Asosiy natija
Twitter Lite 600 KB va 23,5 MB (~40× kichik) +65% sahifa/sessiya
Starbucks 233 KB va 148 MB (~600× kichik) 2× kunlik faol veb-foydalanuvchi
Pinterest 23 s → 5 s dan kam (3G) +60% jalb, +44% reklama daromadi
Tinder 2,8 MB va 30 MB+ 11,91 s → 4,69 s native ilovaga yaqin tajriba

Starbucksning veb-ilovasi native ilovadan qariyb 600 baravar kichik. Shu bilan birga oʻsha ishni bajaradi.

Bularning hech biri App Storeʼni talab qilmadi. Ular faqat veb-versiya ham xuddi shunday eʼtiborga loyiq deb qaror qilgan jamoani talab qildi.

Ogʻir va sekin veb-sayt yengil, ilovadek ishlaydigan PWAʼga aylanishi

Ravonlik — App Store imtiyozi emas; u ochiq vebda ham takrorlanadi.

Xoʻsh, bu farq doimiymi?

Halol boʻlaylik: native ilova baʼzi joylarda hamon ustun.

  • Chuqur texnik vazifalar: ogʻir 3D oʻyinlar, kamera, Bluetooth, sensorlar va fonda uzluksiz ishlash bilan zich bogʻliq narsalar.
  • iPhone haqiqati: iPhoneʼlarda PWA hamon ikkinchi darajali. Apple uzoq vaqt oʻrnatish, saqlangan maʼlumot va push-bildirishnomani cheklab keldi, shu bois "asosiy ekranga qoʻshish" iOSʼda ancha zaif ishlaydi.
  • Tarqatish va ishonch: App Storeʼdagi mavjudlik, reyting, push orqali qayta jalb qilish, foydalanuvchi kutgan asosiy ekrandagi belgi — bularni sayt bepulga olmaydi.

Shuning uchun aniq aytamiz: veb his-tuygʻu jihatidan farqni deyarli yopdi, lekin imkoniyat jihatidan hali toʻliq emas.

Endi "hammasi qarorga bogʻliq" degan fikrni amalda koʻraylik. Keyingi safar biror mahsulotdan foydalanganingizda, mana bularni oʻzingiz payqaysiz:

  • aylanma doiracha oʻrniga skelet ekran;
  • server javob bermasidanoq "toʻlgan" yurakcha;
  • yuklanayotib sakramaydigan, joyida turgan sahifa.

Bular — ravonlikning belgilari. Ravon mahsulot sizning eʼtiboringizni, oʻsha 16 millisekundni, hurmat qiladi. Qotib qoladigan mahsulot esa unga befarq.

Boshidagi manzarani eslang: sirpanib turgan Instagram lentasi va sakrab qolgan brend sayti. Oʻsha sayt App Storeʼga yutqazgani yoʻq. U Instagram jamoasidan boshqacha qaror qilgan jamoaga yutqazdi.

Keyingi safar biror sayt tirik his qilinsa, demak kimdir eʼtibor bergan. Sakrab qolsa, endi ular nimani oʻtkazib yuborganini aniq bilasiz.

Ravonlik — sehr emas, hurmat.

Ulashish:

Bepul maslahat

Gʻoyangiz bormi? Bepul maslahat oling

Maqsadingizni qisqacha yozing, 12 soat ichida bepul maslahat va taxminiy yechimni taklif qilamiz.

Kutishni xohlamaysizmi? Telegramda yozing, darhol javob beramiz →
Bepul maslahat 12 soat ichida javob Aniq narx va muddat

Telegram orqali 12 soat ichida javob beramiz. Spam yoʻq, faqat loyihangiz haqida yozamiz.