?? O'zbekistondagi N1 Akkaunt Savdo Kanali!
‼️ Eslatma: Kanalimizga Joylanayotgan Akkauntlarning Barchasi Turnirda Yutilgan!
? Kanalga Joylangan Xar Bir Akkauntga "SENATOR" Shaxsan O'zi Javob Beradi!
✍️Admin: @deSENATOR_AKKS ✅ Org ‼
©️SENATOR PUBGM
Last updated 1 year ago
🔔 Reklama: @Edurekadmin
Ta'limda nima yangiliklar?
O'zbekiston ta'lim sferasidagi eng oxirgi va eng dolzarb yangiliklarini aynan shu kanaldan topasiz!
© Kanaldan to'liq yoki qisman ma'lumot olinganda manba ko'rsatilishi shart!
📩 @Edu_murojaatBot
Last updated 1 week, 6 days ago
Kun davomida eng sara va so'nggi yangiliklar tafsiloti bilan YO'L-YO'LAKAY tanishtirib boramiz.
Voqea va hodisaga guvoh bo‘ldingizmi, videolaringizni bizga yuboring: @yyuzbot
Reklama bo‘yicha: @zorzorads
Instagram sahifamiz: https://bit.ly/3wlZDZH
Last updated 4 days, 2 hours ago
Flutterda Platforma channel-lar haqida.
Flutter-da Platform channel-lar Dart kodi va platformaga xos kod (masalan, Java/Kotlin Android uchun yoki iOS uchun Swift, Objective-C) o'rtasida aloqa o'rnatish uchun muhim vositalardir. Ushbu channel-lar Flutter ilovalariga Dart orqali to'g'ridan-to'g'ri kirish imkoni bo'lmagan nativ funksiyalardan foydalanish imkonini beradi.
Method channel.
Asosan nativ tomonga bir martalik so'rovlar qilish uchun ishlatiladi. Bu sizga nativ platformada metodlarni chaqirish va javobni qaytib olish imkonini beradi. Method channel asinxron metodlarni qo'llab-quvvatlaydi, ya'ni Flutter ilovangiz nativ tomondan javob kutayotganda ishlashni davom etaveradi.
Event channel.
Bu nativ tomondan Flutterga ma'lumotlarni uzatish (stream) uchun mo'ljallangan. Bu sensor ma'lumotlari yoki real vaqtda bildirishnoma (notification)-lar kabi doimiy yangilanishlarni olishingiz kerak bo'lganda foydali. Event kanal Flutter-ga doimiy ravishda nativ tomondan ma'lumotlarni yuborish uchun oqim (stream)-lardan foydalanadi.
Flutterdagi Event va Metod channel-lari ham ikki tomonlama aloqani qo‘llab-quvvatlaydi, lekin ular ko‘pincha turli senariylarda qo‘llaniladi.
Manbalar:
1. Official doc : Link
2. Article : Link
3. Medium : Link
4. Example code : Link
Flutterda "hot-reload" ichki jarayonlari.
1. Hot Reload tugmasi bosilganda.
Qayta yuklash (hot-reload) boshlanganda, Flutter uskuna (tool)-laridagi HotRunner klassi boshqaruvni o'z qo'liga oladi. Ushbu sinf butun jarayonni tartibga solish uchun javobgardir.
HotRunner birinchi navbatda ilovaning hot-reload-ga ruhsat berilgan holatda ekanligini tekshiradi. U oxirgi kompilyatsiyadan keyin qaysi fayllar o'zgartirilganligini aniqlaydi. U "VM Service Protocol" yordamida Dart VM bilan bog'lanadi.
2. Manba kodini yangilash (Dart VM code injection).
Dart VM yangilangan kodni oladi va uni ishlaydigan dasturga kiritadi.
VM o'zgartirilgan kutubxonalarning yangi versiyalarini yaratadi. Yangilanishlarni samarali boshqarish uchun u "copy-on-write" mexanizmidan foydalanadi. Kodning eski versiyalari, agar kerak bo'lsa, ortga qaytishga ruxsat berish uchun xotirada saqlanadi.
3. JIT yordamida kodni kompilyatsiya qilish.
Dart VM-ning JIT kompilyatori yangi kodni tezda kompilyatsiya qiladi.
U optimallashtirish uchun ichki keshlash (inline caching) va "type feedback" usullardan foydalanadi. Kompilyator jarayonni tezlashtirish uchun avvalgi kompilyatsiyani iloji boricha qayta ishlatishga harakat qiladi.
4. Eski va yangi vidjet daraxtlarini solishtirish.
Flutter framework, yangilanishi kerak bo'lgan narsalarni aniqlash uchun eski vidjet daraxtini yangisi bilan taqqoslaydi.
Bu jarayon Flutterning vidjet va render obyektlari oʻrtasidagi moslashtirish qatlami boʻlgan Element tree-dan foydalanadi. U vidjet identifikatori va holatini saqlashni boshqara oladigan samarali farqlash algoritmidan foydalanadi.
5. Ta'sir qilingan vidjetlarni aniqlash va qayta tiklash.
Taqqoslash asosida Flutter qaysi vidjetlarni qayta qurish kerakligini aniqlaydi va ularni rekonstruksiya qilishni rejalashtiradi.
BuildOwner klassi bu jarayonni boshqaradi va qayta qurish kerak bo'lgan elementlar ro'yxatini saqlaydi. Joriy ilova holatini saqlab qolish uchun iloji boricha state obyektlari saqlanadi.
6. Xotira va axlat yig'ish (garbage collector)-ni boshqarish.
Qayta yuklash jarayonida Flutter oqish (leak)-ning oldini olish va silliq ishlashini ta'minlash uchun xotirani diqqat bilan boshqarishi kerak.
Dart VM axlat yig'uvchisi endi kerak bo'lmagan narsalarni tozalash uchun ishlaydi. Ramka xotira buzilishini minimallashtirish uchun mavjud ob'ektlarni iloji boricha qayta ishlatishga harakat qiladi.
7. Real time-da UI-ni yangilash.
Va nihoyat, Flutter hot-reload paytida kiritilgan o'zgarishlarni aks ettirish uchun UI-ni yangilaydi.
RendererBinding klassi bu jarayonni tartibga solib, layout, painting va kompozitsiyani boshqaradi. Flutter saqlab qolgan renderlash tizimidan foydalanadi, bu unga UI-ni faqat o'zgargan qismlarini samarali yangilash imkonini beradi.
Manba : Link
Responsive vs Adaptive UI.
Responsive UI turli o'lchamlarga mos keladigan yagona tartib (layout)-ni saqlab, ekran o'lchamiga mos ravishda sozlanadi.
Adaptive UI har bir platformaning o'ziga xos xususiyatlaridan kelib chiqib, tajribani optimallashtiradigan turli qurilmalar uchun alohida layout-larni taqdim etadi.
Responsive UI qurish uchun paketlar : Link
Manbalar:
1. Official doc : Link
2. Medium : Link
3. GFG : Link
?? O'zbekistondagi N1 Akkaunt Savdo Kanali!
‼️ Eslatma: Kanalimizga Joylanayotgan Akkauntlarning Barchasi Turnirda Yutilgan!
? Kanalga Joylangan Xar Bir Akkauntga "SENATOR" Shaxsan O'zi Javob Beradi!
✍️Admin: @deSENATOR_AKKS ✅ Org ‼
©️SENATOR PUBGM
Last updated 1 year ago
🔔 Reklama: @Edurekadmin
Ta'limda nima yangiliklar?
O'zbekiston ta'lim sferasidagi eng oxirgi va eng dolzarb yangiliklarini aynan shu kanaldan topasiz!
© Kanaldan to'liq yoki qisman ma'lumot olinganda manba ko'rsatilishi shart!
📩 @Edu_murojaatBot
Last updated 1 week, 6 days ago
Kun davomida eng sara va so'nggi yangiliklar tafsiloti bilan YO'L-YO'LAKAY tanishtirib boramiz.
Voqea va hodisaga guvoh bo‘ldingizmi, videolaringizni bizga yuboring: @yyuzbot
Reklama bo‘yicha: @zorzorads
Instagram sahifamiz: https://bit.ly/3wlZDZH
Last updated 4 days, 2 hours ago