Frontend ishlab chiqish uchun Framer integratsiyasi san'atini o'zlashtiring. Dizayn va kod o'rtasidagi bo'shliqni to'ldiradigan yuqori aniqlikdagi, interaktiv prototiplarni yaratishni o'rganing.
Interaktiv Prototlarni Ochish: Frontend uchun Framer Integratsiyasiga Chuqur Kirish
Raqamli mahsulotlarni ishlab chiqish dunyosida statik dizayn maketi va to'liq funksional, interaktiv dastur o'rtasidagi bo'shliq uzoq vaqtdan beri ziddiyatlar, tushunmovchiliklar va vaqt yo'qotishlar manbai bo'lib kelgan. Dizaynerlar piksel darajasida mukammal foydalanuvchi interfeyslarini sinchkovlik bilan yaratadilar, ammo ularning g'oyalari kodga murakkab o'girish jarayonida o'z qiymatini yo'qotadi. Dasturchilar, o'z navbatida, statik tasvirlarni sharhlashda qiynaladilar va ko'pincha animatsiyalar, o'tishlar va mikro-o'zaro ta'sirlar haqida taxminiy fikr yuritadilar. Bu uzilish Silikon vodiysidan Singapurgacha, Berlindan Bangalorgacha bo'lgan jamoalar duch keladigan universal muammodir.
Framer sahnaga chiqadi. Bir paytlar asosan dizaynerlar uchun yuqori aniqlikdagi prototiplash vositasi sifatida tanilgan Framer, dizayn va frontend ishlab chiqish o'rtasidagi munosabatlarni tubdan o'zgartiradigan kuchli platformaga aylandi. Bu shunchaki yana bir dizayn vositasi emas; bu zamonaviy vebni quvvatlantiradigan texnologiyalarga asoslangan ko'prikdir. Framer'ni qabul qilish orqali jamoalar statik tasvirlardan tashqariga chiqib, yakuniy mahsulotga nafaqat yaqin bo'lgan, balki yakuniy mahsulotning bir qismi bo'lishi mumkin bo'lgan interaktiv prototiplarni yaratishlari mumkin.
Ushbu keng qamrovli qo'llanma dizayn va ishlab chiqish o'rtasidagi bo'shliqni yo'qotmoqchi bo'lgan frontend dasturchilari, UI/UX dizaynerlari va mahsulot yetakchilari uchun mo'ljallangan. Biz Framer integratsiyasining to'liq spektrini o'rganamiz: an'anaviy topshirish jarayonini takomillashtirishdan tortib, jonli ishlab chiqarish komponentlarini to'g'ridan-to'g'ri dizayn maydoniga joylashtirishgacha. Hamkorlikning yangi darajasini ochishga, ishlab chiqish sikllarini tezlashtirishga va har qachongidan ham mukammalroq, jozibali foydalanuvchi tajribalarini yaratishga tayyorlaning.
Framer nima va u Frontend ishlab chiqish uchun nima uchun muhim?
Framer'ning ta'sirini tushunish uchun uni Figma yoki Sketch kabi vositalarning raqobatchisidan ko'ra ko'proq narsa sifatida ko'rish juda muhim. U vizual dizaynda ustun bo'lsa-da, uning asosiy arxitekturasi uni boshqalardan ajratib turadi. Framer veb-texnologiyalari asosida qurilgan bo'lib, uning markazida React turadi. Bu shuni anglatadiki, Framer'da yaratgan har bir narsangiz - oddiy tugmadan tortib murakkab animatsion maketgacha - aslida React komponentidir.
Dizayn Vositasidan Tashqari: Prototplash Quvvati
An'anaviy dizayn vositalari bir qator statik tasvirlar yoki cheklangan, ekran asosidagi bosish orqali o'tishlarni yaratadi. Ular mahsulotning qanday ko'rinishini ko'rsata oladi, lekin uning qanday his etilishini yetkazishda qiynaladi. Framer esa, aksincha, dinamik muhitdir. U dizaynerlarga boshqa joyda taqlid qilish qiyin yoki imkonsiz bo'lgan real mantiq, holat va murakkab animatsiyalar bilan prototiplar yaratishga imkon beradi. Bunga quyidagilar kiradi:
- Murakkab Mikro-o'zaro ta'sirlar: Sichqoncha ustiga olib borish effektlari, tugmachalarni bosish va tabiiy va sezgir his etiladigan nozik UI qayta aloqalari.
- Ma'lumotlarga asoslangan Interfeyslar: Foydalanuvchi kiritishiga javob beradigan yoki hatto namunaviy ma'lumotlardan foydalanadigan prototiplar.
- Ishoraga asoslangan Boshqaruvlar: Mobil qurilmalar uchun dizayn yaratish surish, tortish va chimchilash uchun intuitiv boshqaruvlar bilan osonlashadi.
- Sahifa O'tishlari va Animatsiyalar: Yakuniy dastur oqimini aniq aks ettiruvchi ekranlar o'rtasida silliq, animatsion o'tishlarni yaratish.
Asosiy Falsafa: Dizayn-Ishlab Chiqish O'rtasidagi Bo'shliqni To'ldirish
An'anaviy ish jarayoni "devor osha uloqtirish" usulini o'z ichiga oladi. Dizayner statik dizayn faylini yakunlaydi va uni dasturchiga uzatadi. Keyin dasturchi vizual tushunchalarni funksional kodga aylantirishning mashaqqatli vazifasini boshlaydi. Muqarrar ravishda, tafsilotlar tarjimada yo'qoladi. Animatsiya uchun sekinlashtirish egri chizig'i noto'g'ri talqin qilinishi yoki ma'lum bir holatdagi komponentning xatti-harakati e'tibordan chetda qolishi mumkin.
Framer ushbu tarjima qatlamini yo'q qilishni maqsad qilgan. Dizayner Framer'da animatsiya yaratganda, u kodda to'g'ridan-to'g'ri o'xshashliklarga ega bo'lgan xususiyatlarni (masalan, `opacity`, `transform`, `borderRadius`) boshqaradi. Bu muloqot va ishonchlilikni keskin yaxshilaydigan umumiy til va yagona haqiqat manbasini yaratadi.
Global Jamoalar uchun Asosiy Afzalliklar
Turli vaqt mintaqalari va madaniyatlarda ishlaydigan xalqaro jamoalar uchun aniq muloqot juda muhimdir. Framer yozma spetsifikatsiyalardan ustun turadigan universal tilni taqdim etadi.
- Yagona Haqiqat Manbai: Dizaynlar, o'zaro ta'sirlar, komponent holatlari va hatto ishlab chiqarish kodi Framer ekotizimida birga mavjud bo'lishi mumkin. Bu noaniqlikni kamaytiradi va hamma bir xil qoidalar asosida ishlashini ta'minlaydi.
- Tezlashtirilgan Iteratsiya Sikllari: Yangi foydalanuvchi oqimini yoki murakkab animatsiyani sinab ko'rish kerakmi? Dizayner bir necha kun emas, balki bir necha soat ichida to'liq interaktiv prototip yaratishi va uni baham ko'rishi mumkin. Bu birorta ham ishlab chiqarish kodi yozilmasidan oldin manfaatdor tomonlar va foydalanuvchilardan tezkor fikr-mulohaza olish imkonini beradi.
- Kengaytirilgan Hamkorlik: Framer dizaynerlar va dasturchilar uchrashadigan umumiy maydonga aylanadi. Dasturchilar mantiqni tushunish uchun prototiplarni tekshirishlari mumkin, dizaynerlar esa o'z dizaynlarining texnik jihatdan amalga oshirilishi mumkinligini ta'minlash uchun haqiqiy kod komponentlari bilan ishlashlari mumkin.
- Yuqori Aniqlikdagi Muloqot: Hujjatda animatsiyani tasvirlash o'rniga ("Kartochka sekin-asta paydo bo'lishi va kattalashishi kerak"), dasturchi prototipdagi aynan o'sha animatsiyani his qilishi mumkin. Bu "aytma, ko'rsat" tamoyilining mohiyatidir.
Integratsiya Spektri: Oddiy Topshirishdan Jonli Komponentlargacha
Framer'ni frontend ish jarayoningizga integratsiya qilish "hammasi yoki hech narsa" taklifi emas. Bu sizning jamoangiz loyiha ehtiyojlari, texnik steki va jamoa tuzilishiga qarab qabul qilishi mumkin bo'lgan imkoniyatlar spektridir. Keling, integratsiyaning uchta asosiy darajasini ko'rib chiqaylik.
1-daraja: Takomillashtirilgan Topshirish
Bu Framer'dan foydalanishni boshlashning eng oddiy usuli. Ushbu modelda dizaynerlar Framer'da yuqori aniqlikdagi, interaktiv prototiplarni yaratadilar va bu prototiplar dasturchilar uchun dinamik spetsifikatsiya bo'lib xizmat qiladi. Bu statik maketlardan sezilarli darajada yaxshilanishdir.
Faqat tugmachaning yassi tasvirini ko'rish o'rniga, dasturchi quyidagilarni qilishi mumkin:
- Tugma bilan o'zaro aloqada bo'lib, uning sichqoncha ustiga olib borilgan, bosilgan va o'chirilgan holatlarini ko'rish.
- Har qanday bog'liq animatsiyalarning aniq vaqtini, davomiyligini va sekinlashtirish egri chizig'ini kuzatish.
- Flexbox-ga asoslangan (Framer'da "Stacks" deb ataladi) maket xususiyatlarini tekshirish, bu esa moslashuvchan xatti-harakatlarni takrorlashni osonlashtiradi.
- CSS qiymatlari va animatsiya parametrlarini to'g'ridan-to'g'ri Framer'ning tekshirish rejimida nusxalash.
Hatto ushbu asosiy darajada ham muloqot sifati keskin yaxshilanadi, bu esa dizayn g'oyasining yanada ishonchli amalga oshirilishiga olib keladi.
2-daraja: Framer Motion'dan Foydalanish
Bu yerda Framer arxitekturasining haqiqiy kuchi namoyon bo'la boshlaydi. Framer Motion - bu React uchun ochiq manbali, ishlab chiqarishga tayyor animatsiya kutubxonasi bo'lib, u Framer vositasining o'zidan kelib chiqqan. U React ilovalaringizga murakkab animatsiyalar va ishoralarni qo'shish uchun oddiy, deklarativ API taqdim etadi.
Ish jarayoni o'zining soddaligi bilan go'zal:
- Dizayner Framer maydonida animatsiya yoki o'tish yaratadi.
- Dasturchi prototipni tekshiradi va animatsiya xususiyatlarini ko'radi.
- O'zining React loyihasida Framer Motion'dan foydalanib, dasturchi animatsiyani deyarli mukammal aniqlikda, juda o'xshash sintaksis yordamida amalga oshiradi.
Masalan, agar dizayner sichqoncha ustiga olib borilganda kattalashadigan va soya oladigan kartochka yaratsa, u Framer UI'da boshqaradigan xususiyatlar dasturchi kodda ishlatadigan propslarga to'g'ridan-to'g'ri mos keladi. Framer'da elementni sichqoncha ustiga olib borganda 1.1 ga kattalashtirish uchun yaratilgan effekt React komponentida `whileHover={{ scale: 1.1 }}` ga aylanadi. Ushbu birma-bir moslik mukammal UI'larni samarali yaratishda o'yinni o'zgartiruvchi omildir.
3-daraja: Framer Bridge bilan To'g'ridan-to'g'ri Komponent Integratsiyasi
Bu integratsiyaning eng chuqur va eng kuchli darajasi bo'lib, dizayn-ishlab chiqish hamkorligida paradigma o'zgarishini anglatadi. Framer'ning kod integratsiyasi vositalari yordamida siz o'zingizning haqiqiy ishlab chiqarish React komponentlaringizni kod bazangizdan import qilishingiz va ularni to'g'ridan-to'g'ri Framer dizayn maydonida ishlatishingiz mumkin.
Ushbu ish jarayonini tasavvur qiling:
- Sizning ishlab chiquvchilar jamoangiz Git omborida UI komponentlari kutubxonasini (masalan, tugmalar, kiritish maydonlari, ma'lumotlar jadvallari) saqlaydi, ehtimol Storybook bilan hujjatlashtirilgan.
- Framer Bridge yordamida siz Framer loyihangizni mahalliy ishlab chiqish muhitingizga ulanasiz.
- Endi sizning ishlab chiqarish komponentlaringiz Framer aktivlar panelida paydo bo'ladi va dizaynerlar ularni maydonga sudrab olib tashlashlari mumkin.
Buning afzalliklari juda katta:
- Dizaynning Eskimaganligi: Dizaynerlar har doim ishlab chiqarish komponentlarining eng so'nggi, yangilangan versiyalari bilan ishlaydilar. Dizayn va kodning bir-biridan farq qilish ehtimoli yo'q.
- Standart bo'yicha Reallik: Prototiplar foydalanuvchilar o'zaro ta'sir qiladigan aniq komponentlar bilan yaratiladi, shu jumladan ularning barcha o'rnatilgan mantiqi, maxsus imkoniyatlari va ishlash xususiyatlari.
- Dizaynerlarning Imkoniyatlarini Kengaytirish: Dizaynerlar dasturchidan yangi variant yaratishni so'ramasdan turli komponent xususiyatlarini (React'dagi props) va konfiguratsiyalarini o'rganishlari mumkin. Ular komponentning turli ma'lumotlar va turli konteyner o'lchamlarida qanday ishlashini ko'rishlari mumkin.
Ushbu darajadagi integratsiya dizayn vositasi va ishlab chiqish muhiti o'rtasidagi chegara ajoyib tarzda xiralashgan haqiqiy yagona dizayn tizimini yaratadi.
Amaliy Mashg'ulot: Interaktiv Profil Kartochkasini Yaratish
Keling, buni taxminiy misol bilan aniqlashtiraylik. Biz bosilganda ko'proq ma'lumot ochadigan interaktiv profil kartochkasini yaratamiz va jarayon dizayndan kodga qanday o'tishini ko'ramiz.
1-qadam: Framer'da Statik Komponentni Loyihalash
Birinchidan, dizayner kartochkaning vizual elementlarini yaratadi. U Framer'ning dizayn vositalaridan foydalanib, avatar rasmi, ism, lavozim va ba'zi ijtimoiy tarmoq ikonlarini qo'shadi. Eng muhimi, maketning moslashuvchan va mustahkam bo'lishini ta'minlash uchun u Framer'ning "Stack" xususiyatidan (asosan CSS Flexbox uchun vizual interfeys) foydalanadi. Bu darhol dizaynni zamonaviy veb-maket amaliyotlari bilan moslashtiradi.
2-qadam: Aqlli Komponentlar va Effektlar bilan Interaktivlik Qo'shish
Bu yerda Framer statik vositalardan farq qiladi. Dizayner kartochkani bir nechta "variantlar"ga ega "Aqlli Komponent"ga aylantiradi.
- Standart Variant: Kartochkaning ixcham, boshlang'ich ko'rinishi.
- Kengaytirilgan Variant: Qisqacha tarjimai hol va aloqa tugmalarini o'z ichiga olgan balandroq versiya.
Keyin, u o'zaro ta'sir yaratadi. Standart variantdagi kartochkani tanlab, u uni kengaytirilgan variantga o'tkazadigan "Tegish" yoki "Bosish" hodisasini qo'shishi mumkin. Framer'ning "Sehrli Harakat" xususiyati ikki holat o'rtasidagi o'zgarishlarni avtomatik ravishda animatsiya qiladi va kartochkaning o'lchami o'zgarganda silliq, ravon o'tishni yaratadi. Shuningdek, u ijtimoiy tarmoq ikonlariga sichqoncha ustiga olib borish effektini qo'shishi mumkin, bu esa foydalanuvchi kursori ularning ustida bo'lganda ularni biroz kattalashtiradi.
3-qadam: Framer Motion bilan Interaktivlikni Kodga O'girish
Endi, dasturchi ishni o'z zimmasiga oladi. U interaktiv prototipni ko'rdi va kerakli xatti-harakatni mukammal tushundi. O'zining React ilovasida u `ProfileCard` komponentini yaratadi.
Animatsiyalarni amalga oshirish uchun u `framer-motion` kutubxonasidan `motion`ni import qiladi.
Ijtimoiy tarmoq ikonlaridagi sichqoncha ustiga olib borish effekti bir qator koddan iborat. Ikona elementi `
Kartochkaning kengayishi uchun u kartochkaning kengaytirilganligini kuzatish uchun React holatidan foydalanadi (`const [isExpanded, setIsExpanded] = useState(false);`). Komponentning asosiy konteyneri `motion.div` bo'ladi. Uning `animate` prop-i `isExpanded` holatiga bog'lanadi: `animate={{ height: isExpanded ? 400 : 250 }}`. Framer Motion ikki balandlik o'rtasidagi silliq animatsiyani avtomatik ravishda boshqaradi. Dasturchi Framer prototipidagi aniq davomiylik va sekinlashtirish egri chizig'i qiymatlarini nusxalash orqali `transition` prop-ini qo'shib, o'tishni nozik sozlashishi mumkin.
Natijada, minimal harakat va nol noaniqlik bilan erishilgan, interaktiv prototip bilan bir xil ishlaydigan ishlab chiqarish komponenti paydo bo'ladi.
Framer Integratsiyasining Uzluksiz Ish Jarayoni uchun Eng Yaxshi Amaliyotlar
Har qanday yangi vositani qabul qilish puxta yondashuvni talab qiladi. Silliq o'tishni ta'minlash va Framer'ning afzalliklarini maksimal darajada oshirish uchun global jamoangiz uchun ushbu eng yaxshi amaliyotlarni ko'rib chiqing.
- Umumiy Komponent Tilini O'rnating: Chuqur kirishishdan oldin, dizaynerlar va dasturchilar komponentlar, variantlar va xususiyatlar uchun izchil nomlash qoidasiga kelishib olishlari kerak. Framer'dagi "Primary Button" kod bazasidagi `
` komponentiga mos kelishi kerak. Bu oddiy moslashtirish behisob soatlik chalkashliklarni tejaydi. - Integratsiya Darajangizni Erta Aniqlang: Loyihaning boshida, jamoa sifatida qaysi integratsiya darajasidan foydalanishingizni hal qiling. Siz Framer'dan takomillashtirilgan topshiriqlar uchun foydalanasizmi yoki to'g'ridan-to'g'ri komponent integratsiyasiga sodiqmisiz? Bu qaror jamoangizning ish jarayoni va mas'uliyatini shakllantiradi.
- Dizayn uchun Versiya Nazorati: Framer loyiha fayllaringizga kod bazangiz kabi hurmat bilan munosabatda bo'ling. Aniq nomlashdan foydalaning, o'zgarishlar tarixini saqlang va yirik yangilanishlarni hujjatlashtiring. Muhim dizayn tizimlari uchun haqiqat manbasini qanday boshqarishingiz va tarqatishingizni ko'rib chiqing.
- Sahifalar Emas, Komponentlar Bilan Fikrlang: Dizaynerlarni Framer'da modulli, qayta ishlatiladigan komponentlarni yaratishga undash. Bu React, Vue va Angular kabi zamonaviy frontend arxitekturalarini aks ettiradi va kodga o'tish yo'lini ancha toza qiladi. Framer'dagi yaxshi ishlab chiqilgan Aqlli Komponentlar kutubxonasi kodda mustahkam komponentlar kutubxonasi uchun mukammal poydevordir.
- Ishlash samaradorligi - Bu Xususiyatdir: Framer murakkab, ko'p qatlamli animatsiyalarni yaratishni nihoyatda osonlashtiradi. Bu ijodiy ne'mat bo'lsa-da, ishlash samaradorligini yodda tutish muhim. Har bir element animatsiya qilinishi shart emas. Harakatdan foydalanuvchini yo'naltirish va tajribani yaxshilash uchun foydalaning, uni chalg'itish uchun emas. Animatsiyalaringizni profillang va ularning turli qurilmalarda silliq ishlashini ta'minlang.
- Funksiyalararo Treningga Sarmoya Kiriting: Eng yaxshi natijalarga erishish uchun dizaynerlar React komponentlarining asoslarini (props, state) tushunishlari, dasturchilar esa Framer maydonida bemalol harakatlana olishlari kerak. Umumiy bilim poydevorini qurish uchun qo'shma seminarlar o'tkazing va umumiy hujjatlar yarating.
Framer Integratsiyasidagi Umumiy Muammolarni Yengish
Afzalliklari sezilarli bo'lsa-da, Framer'ni qabul qilish qiyinchiliklarsiz kechmaydi. Ulardan oldindan xabardor bo'lish jamoangizga o'rganish jarayonini muvaffaqiyatli bosib o'tishga yordam beradi.
O'rganish Egri Chizig'i
Framer an'anaviy dizayn vositasidan ko'ra murakkabroq, chunki u kuchliroqdir. Statik vositalarga o'rganib qolgan dizaynerlarga holatlar, variantlar va o'zaro ta'sirlar kabi tushunchalarni o'zlashtirish uchun vaqt kerak bo'ladi. Yechim: Framer'ni bosqichma-bosqich qabul qiling. Ilg'or ish oqimlariga o'tishdan oldin interfeys bilan tanishish uchun 1-darajadan (Takomillashtirilgan Topshirish) boshlang.
Haqiqat Manbasini Saqlash
Agar siz 3-darajadan (To'g'ridan-to'g'ri Komponent Integratsiyasi) foydalanmasangiz, Framer prototipi va ishlab chiqarish kodi vaqt o'tishi bilan bir-biridan farqlanib qolish xavfi mavjud. Yechim: Kuchli muloqot jarayonini joriy qiling. Framer prototipi tirik spetsifikatsiya hisoblanishi kerak. UI/UX'ga kiritilgan har qanday o'zgartirishlar avval Framer'da, keyin esa kodda amalga oshirilishi kerak.
Dastlabki Sozlash Murakkabligi
Ishlab chiqarish kod bazangiz bilan 3-darajali integratsiyani sozlash texnik jihatdan qiyin bo'lishi va ishlab chiqish muhitingizni sinchkovlik bilan sozlashni talab qilishi mumkin. Yechim: Texnik yetakchi yoki maxsus jamoaga dastlabki sozlashni boshqarish uchun maxsus vaqt ajrating. Jarayonni puxta hujjatlashtiring, shunda yangi jamoa a'zolari tezda ishga tushishlari mumkin.
Bu Kodning O'rnini Bosa Olmaydi
Framer bu UI va o'zaro ta'sir dizayni vositasidir. U biznes mantiqi, API so'rovlari, murakkab holatlarni boshqarish yoki dastur arxitekturasini bajarmaydi. Yechim: Chegarani aniq belgilang. Framer taqdimot qatlami uchundir. U foydalanuvchi interfeysining 'nima' va 'qanday'ligini qurishga yordam beradi, lekin 'nima uchun' (biznes mantiqi) qat'iy ravishda ishlab chiqish jamoasining qo'lida qoladi.
Kelajak Interaktivdir: Framer'ning Zamonaviy Veb-Ishlab Chiqishdagi Roli
Veb endi statik vosita emas. Dunyo bo'ylab foydalanuvchilar har kuni foydalanadigan veb-saytlar va ilovalardan boy, interaktiv va ilovaga o'xshash tajribalarni kutishadi. Ushbu kutishlarni qondirish uchun biz ularni yaratishda ishlatadigan vositalar rivojlanishi kerak.
Framer ushbu evolyutsiyadagi muhim qadamni anglatadi. U dizayn va ishlab chiqish alohida fanlar emas, balki bir tanga ning ikki tomoni ekanligini tan oladi. Dizayn artefaktlari kod bilan bir xil asosiy tamoyillar asosida qurilgan platformani yaratish orqali u yanada integratsiyalashgan, samarali va ijodiy mahsulotni ishlab chiqish jarayoniga yordam beradi.
Vositalar birlashishda davom etar ekan va rollar o'rtasidagi chegaralar xiralashishda davom etar ekan, Framer kabi platformalar yangilik bo'lishdan ko'ra zaruriyatga aylanadi. Ular funksiyalararo jamoalarga samarali hamkorlik qilish va keyingi avlod ajoyib raqamli mahsulotlarni yaratish imkonini beruvchi kalitdir.
Xulosa qilib aytganda, Framer bilan statik maketlardan interaktiv prototiplarga o'tish shunchaki ish jarayonini yangilashdan ko'ra ko'proq; bu strategik ustunlikdir. Bu noaniqlikni kamaytiradi, ishlab chiqishni tezlashtiradi va natijada yuqori sifatli yakuniy mahsulotga olib keladi. Dizayn maqsadi va kodlangan haqiqat o'rtasidagi bo'shliqni to'ldirib, Framer jamoangizga birgalikda yaxshiroq narsalarni yaratishga imkon beradi. Keyingi safar loyihani boshlaganingizda, shunchaki dasturning rasmini chizmang - his-tuyg'u, xatti-harakat, o'zaro ta'sir yarating. Interaktiv prototip bilan boshlang va farqni o'zingiz ko'ring.