🔥1
“use native for maximum performance, use cross-platform for faster development.” atamasi endi eskirdi.
Flutter Nativdan yaxshiroq.
Batafsil: Link
Flutter Nativdan yaxshiroq.
Batafsil: Link
👍5
Flutter 3D game engine sohasiga qadam qoʻymoqda.
Toyota Fluorite-ni taqdim etdi - Flutter va Dart bilan yaratilgan konsol darajasidagi (console-grade), ochiq kodli (open-source) 3D engine.
Fluorite yuqori samarali C++ ECS yadrosini Flutter-ning kuchli 'hot reload' bilan birlashtiradi va Flutter ekotizimidan foydalangan holda boy, real vaqtda 3D tajribalarni yaratish uchun imkonini beradi.
Manba: Link
#Flutter
Toyota Fluorite-ni taqdim etdi - Flutter va Dart bilan yaratilgan konsol darajasidagi (console-grade), ochiq kodli (open-source) 3D engine.
Fluorite yuqori samarali C++ ECS yadrosini Flutter-ning kuchli 'hot reload' bilan birlashtiradi va Flutter ekotizimidan foydalangan holda boy, real vaqtda 3D tajribalarni yaratish uchun imkonini beradi.
Manba: Link
#Flutter
👍4
Forwarded from Flutter Dev | Uzbekistan 🇺🇿 (Kocmoc)
🚀 Exciting news! Flutter new version is out. Stay updated
Version: 3.41.0
Release date: 11.02.2026
Dart SDK version: 3.11.0
🌐 Release Notes
🌐 Changelog
🌐 Breaking changes
🌐 Tag
Version: 3.41.0
Release date: 11.02.2026
Dart SDK version: 3.11.0
🌐 Release Notes
🌐 Changelog
🌐 Breaking changes
🌐 Tag
Psixolog va Nevrolog Doktor Patricia Schmidt quyidagi 5 odat miyyamizga zararlari va ularni bartaraf etish uchun esa nimalar qilishimiz kerakligi haqida aytib o'tibdi.
https://medium.com/@creatorschmidt/3efe1f410226
https://medium.com/@creatorschmidt/3efe1f410226
Medium
As a Neuroscientist, I Quit These 5 Morning Habits That Destroy Your Brain
Most people do #1 within 10 minutes of waking (and it sabotages your entire day)
👍1
BlocProvider vs BlocProvider.value.
BlocProvider (Owner) - yangi bloc obyektini qachonki unga murojaat qilingandagina yaratadi va uni subtree-ga taqdim qiladi. yaratilgan bloc obyekti hayotiga (lifecycle) javob beradi, yani vidjet tree-dan o'chirilganda obyektni ham yopadi (close).
BlocProvider.value (Sharer) - mavjud bloc obyektini boshqa joyga (masalan yangi page-ga) uzatish uchun ishlatiladi. Bloc obyekti hayotiga javobgar emas, yani uni bloc-ni yaratmaydi va yopmaydi ham. Asosan bir sahifadan ikkinchisiga o'tganda, ikkinchi oynada birinchisida ishlatilgan Bloc/Cubit obyektiga murojaat qilingan bo'lsa.
flutter_bloc provider ustiga qurilgan. Ikkala vidjet ham InheritedWidget mantig'ini ichki holatda extend qilgan, bu esa bolalarga
Package: Link
#Flutter
BlocProvider (Owner) - yangi bloc obyektini qachonki unga murojaat qilingandagina yaratadi va uni subtree-ga taqdim qiladi. yaratilgan bloc obyekti hayotiga (lifecycle) javob beradi, yani vidjet tree-dan o'chirilganda obyektni ham yopadi (close).
BlocProvider.value (Sharer) - mavjud bloc obyektini boshqa joyga (masalan yangi page-ga) uzatish uchun ishlatiladi. Bloc obyekti hayotiga javobgar emas, yani uni bloc-ni yaratmaydi va yopmaydi ham. Asosan bir sahifadan ikkinchisiga o'tganda, ikkinchi oynada birinchisida ishlatilgan Bloc/Cubit obyektiga murojaat qilingan bo'lsa.
flutter_bloc provider ustiga qurilgan. Ikkala vidjet ham InheritedWidget mantig'ini ichki holatda extend qilgan, bu esa bolalarga
context.read<T>() yoki BlocProvider.of<T>(context) orqali blokni qidirishga imkon beradi.Package: Link
#Flutter
👍2
📉 Sun'iy Intellekt endi o`z ahlatini o`zi yeydimi? (Model Collapse haqida)
Hozirgi kunda barchamiz AI imkoniyatlaridan hayratdamiz. Ammo olimlar va tadqiqotchilar yangi bir fenomen haqida ogohlantirmoqda: "Model Collapse" (Modelning tanazzuli).
Hozirgi yirik til modellari (LLM) asosan insonlar yaratgan ma'lumotlarda o‘qitilgan. Ammo internet tobora AI tomonidan yozilgan, sun'iy matnlar bilan to‘lib bormoqda. Kelajakdagi modellar (GPT-5 va boshqalar) endi inson yozganini emas, balki o‘zidan oldingi AI versiyalari yaratgan kontentni o‘rganishga majbur bo‘ladi.
Bu nima degani?
📄 Tasavvur qiling, kserokopiyadan kserokopiya oldingiz. Keyin yana o'shandan nusxa oldingiz. 10-martada qo'lingizda nima qoladi? Qop-qora, tushunarsiz dog'.
AI bilan ham shunday bo'lyapti. Ular "gallyutsinatsiya" (aljirash) qilishni boshlaydi, mantiq yo'qoladi, kreativlik o'ladi.
Texnologiya qanchalik rivojlanmasin, "Inson omili" (Human Touch) har qachongidan ham qadrliroq bo‘lib bormoqda.
Kelajakda "Inson yozgan" (Human-made) degan belgi xuddi "Bio" yoki "Halol" kabi eng qimmat brendga aylanadi.
Haqiqiy tajriba, haqiqiy xatolar va haqiqiy hissiyotlar — buni hech qaysi algoritm soxtalashtira olmaydi.
Sizningcha, AI ijodni to‘liq egallaydimi yoki inson baribir ustun bo‘lib qoladimi?
Manba : Linkedin
Hozirgi kunda barchamiz AI imkoniyatlaridan hayratdamiz. Ammo olimlar va tadqiqotchilar yangi bir fenomen haqida ogohlantirmoqda: "Model Collapse" (Modelning tanazzuli).
Hozirgi yirik til modellari (LLM) asosan insonlar yaratgan ma'lumotlarda o‘qitilgan. Ammo internet tobora AI tomonidan yozilgan, sun'iy matnlar bilan to‘lib bormoqda. Kelajakdagi modellar (GPT-5 va boshqalar) endi inson yozganini emas, balki o‘zidan oldingi AI versiyalari yaratgan kontentni o‘rganishga majbur bo‘ladi.
Bu nima degani?
📄 Tasavvur qiling, kserokopiyadan kserokopiya oldingiz. Keyin yana o'shandan nusxa oldingiz. 10-martada qo'lingizda nima qoladi? Qop-qora, tushunarsiz dog'.
AI bilan ham shunday bo'lyapti. Ular "gallyutsinatsiya" (aljirash) qilishni boshlaydi, mantiq yo'qoladi, kreativlik o'ladi.
Texnologiya qanchalik rivojlanmasin, "Inson omili" (Human Touch) har qachongidan ham qadrliroq bo‘lib bormoqda.
Kelajakda "Inson yozgan" (Human-made) degan belgi xuddi "Bio" yoki "Halol" kabi eng qimmat brendga aylanadi.
Haqiqiy tajriba, haqiqiy xatolar va haqiqiy hissiyotlar — buni hech qaysi algoritm soxtalashtira olmaydi.
Sizningcha, AI ijodni to‘liq egallaydimi yoki inson baribir ustun bo‘lib qoladimi?
Manba : Linkedin
🔥3😁3👍1🤣1🤨1🗿1
Hammaga kirib kelgan Ramazoni sharif muborak bo'lsin.
Ps: Bo'ydoqlarga esa sabr 😁
😁6👍3
RenderObject Tree.
Flutterning renderlash arxitekturasi aslida layout va painting og'ir yukini ko'taradi. RenderObject daraxti ekranda narsalar aslida qayerda paydo bo'lishi uchun javobgar hisoblanadi.
Vidjet daraxtini chizma, RenderObject daraxtini esa haqiqiy qurilish maydoni deb tasavvur qiling.
Vidjetlar o'zgarmas (immutable) lekin RenderObjects doimiydir (persistent). Ular quyidagilarni bajaradilar:
Constraints: Hajm talablarini pastga o'tkazish.
Layout: O'zlari va farzandlarining o'lchami va joylashuvini aniqlash.
Painting: Canvas-da piksellar chizish.
Hit Testing: Qaysi obyektga tegilganini aniqlash.
Asosiy RenderObject turlari.
Flutter layout uchun turli xil "protokollar" dan foydalanadi.
RenderBox.
Eng keng tarqalgan turi. U o'lchamlari kenglik va balandlik (width & height) bilan belgilanadigan 2D koordinatalar tizimidan foydalanadi.
Misolllar: BoxConstraints, Size, RenderPadding, RenderImage, RenderFlex.
RenderSliver.
Bular, ayniqsa, scroll qilinadigan maydonlar uchun mavjud. Bu o'z geometriyasini ko'rish maydonidagi pozitsiyasiga qarab hisoblaydi.
Misollar: SliverConstraints, SliverGeometry, RenderSliverList, RenderSliverAppBar.
RenderViewport.
Box dunyosi va Sliver dunyosi o'rtasidagi "ko'prik". Bu RenderSlivers ni o'z ichiga olgan RenderBox. U slivers ko'rib chiqiladigan scrollable oynani taqdim etadi.
Manbalar:
1. Book: Link
2. Medium: Link
3. Medium: Link
#Flutter
Flutterning renderlash arxitekturasi aslida layout va painting og'ir yukini ko'taradi. RenderObject daraxti ekranda narsalar aslida qayerda paydo bo'lishi uchun javobgar hisoblanadi.
Vidjet daraxtini chizma, RenderObject daraxtini esa haqiqiy qurilish maydoni deb tasavvur qiling.
Vidjetlar o'zgarmas (immutable) lekin RenderObjects doimiydir (persistent). Ular quyidagilarni bajaradilar:
Constraints: Hajm talablarini pastga o'tkazish.
Layout: O'zlari va farzandlarining o'lchami va joylashuvini aniqlash.
Painting: Canvas-da piksellar chizish.
Hit Testing: Qaysi obyektga tegilganini aniqlash.
Asosiy RenderObject turlari.
Flutter layout uchun turli xil "protokollar" dan foydalanadi.
RenderBox.
Eng keng tarqalgan turi. U o'lchamlari kenglik va balandlik (width & height) bilan belgilanadigan 2D koordinatalar tizimidan foydalanadi.
Misolllar: BoxConstraints, Size, RenderPadding, RenderImage, RenderFlex.
RenderSliver.
Bular, ayniqsa, scroll qilinadigan maydonlar uchun mavjud. Bu o'z geometriyasini ko'rish maydonidagi pozitsiyasiga qarab hisoblaydi.
Misollar: SliverConstraints, SliverGeometry, RenderSliverList, RenderSliverAppBar.
RenderViewport.
Box dunyosi va Sliver dunyosi o'rtasidagi "ko'prik". Bu RenderSlivers ni o'z ichiga olgan RenderBox. U slivers ko'rib chiqiladigan scrollable oynani taqdim etadi.
Manbalar:
1. Book: Link
2. Medium: Link
3. Medium: Link
#Flutter
👍1
Forwarded from Flutter Dev | Uzbekistan 🇺🇿 (Kocmoc)
Bloc (Cubit) ning super kuchlari, kubitchilar bormi?
Tutvoling: https://medium.com/flutter-community/bloc-superpowers-2ef9262ed962
@flutterdevuz
Tutvoling: https://medium.com/flutter-community/bloc-superpowers-2ef9262ed962
@flutterdevuz
Forwarded from Sardor og'a | AI bilan rivojlanamiz
Meta’ning Ray-Ban smart ko’zoynaklari foydalanuvchilarning suratlari, videolari va ovozli yozuvlarini serverlarga yuboradi. Keniyalik xodimlar bu ma’lumotlarni AI o’rgatish uchun qo’lda ko’rib chiqishadi — va ular orasida yalang’och odamlar, intim sahnalar, bank kartalari, shaxsiy suhbatlar ham bor. Yuzlarni avtomatik xiralash tizimi ko’pincha ishlamaydi. Foydalanuvchilarga “ma’lumotlarni nazorat qilasiz” deyilgan, lekin amalda bu shartdan voz kechish imkoni yo’q.
Aslida bu smart qurilmalar bozorida keng tarqalgan muammo — har qanday AI xizmat “cloud processing” talab qilganda, ma’lumotlar albatta serverga ketadi. Foydalanuvchilar buni ko’pincha anglamaydi, chunki marketing “privacy” va “control” so’zlarini ko’p ishlatadi. Bu holat yana bir bor shuni ko’rsatadi — foydalanuvchi shartnomani oxirigacha o’qishi kerak, ayniqsa kamerali qurilmalarda.
Aslida bu smart qurilmalar bozorida keng tarqalgan muammo — har qanday AI xizmat “cloud processing” talab qilganda, ma’lumotlar albatta serverga ketadi. Foydalanuvchilar buni ko’pincha anglamaydi, chunki marketing “privacy” va “control” so’zlarini ko’p ishlatadi. Bu holat yana bir bor shuni ko’rsatadi — foydalanuvchi shartnomani oxirigacha o’qishi kerak, ayniqsa kamerali qurilmalarda.
👌2
Element-dagi dirty yohud setState qanday ishlaydi.
Flutter-da dirty parametr (Element sinfida mavjud) elementni qayta qurish kerakligi haqida framework-ga signal beruvchi bayroqdir (flag).
Vidjet daraxtidagi har bir elementda hayot sikli holati mavjud. Agar element dirty deb belgilangan bo'lsa, bu konfiguratsiya (Vidjet) o'zgarganligini yoki holat (StatefulWidget'da) setState() orqali yangilanganligini anglatadi.
Flutter butun ekranni har bir kadrda qayta render qilmaydi. Buning o'rniga, faqat Qurilish bosqichida (build phase) dirty = true deb belgilangan elementlarga tashrif buyuradi.
setState metodini chaqirish orqali Element-ning dirty qiymati true deb belgilanadi.
Manba (framework.dart)
Element sinfida markNeedsBuild() metodi dirty holatni boshqaradi:
BuildOwner barcha elementlarning ro'yxatini dirt == true bo'lgan holda saqlaydi.
Keyingi freym ishga tushirilganda, BuildOwner buildScope() ni chaqiradi. Bu metod daraxtning yuqori qismidan pastga dirty elementlar orqali takrorlanadi (ota-ona vidjet bola vidjetdan oldin qayta qurishni ta'minlash uchun).
Nima uchun bunday tartiblash kerak?
Agar ota-ona va bola ikkalasi ham dirty bo'lsa, ota-ona avval qayta quriladi. Ota-onaning qurilishi baribir Bolaning yangi versiyasini yaratishi mumkin, bu esa Bolaning individual qayta qurilishini oldi olinadi.
Element rebuild() metodi chaqirilgunga qadar dirty bo'lib qoladi. performRebuild() ichida, freymvork bayroqni qayta o'rnatadi:
Manbalar:
1. dirty doc: Link
2. Medium: Link
3. Medium: Link
4. Element doc: Link
5. Telegram post: Link
#Flutter
Flutter-da dirty parametr (Element sinfida mavjud) elementni qayta qurish kerakligi haqida framework-ga signal beruvchi bayroqdir (flag).
Vidjet daraxtidagi har bir elementda hayot sikli holati mavjud. Agar element dirty deb belgilangan bo'lsa, bu konfiguratsiya (Vidjet) o'zgarganligini yoki holat (StatefulWidget'da) setState() orqali yangilanganligini anglatadi.
Flutter butun ekranni har bir kadrda qayta render qilmaydi. Buning o'rniga, faqat Qurilish bosqichida (build phase) dirty = true deb belgilangan elementlarga tashrif buyuradi.
setState metodini chaqirish orqali Element-ning dirty qiymati true deb belgilanadi.
void markNeedsBuild() {
if (_lifecycleState != _ElementLifecycle.active)
return;
if (dirty) // If already dirty, do nothing
return;
_dirty = true; // The flag is set here
owner!.scheduleBuildFor(this); // Register with the BuildOwner
}Manba (framework.dart)
Element sinfida markNeedsBuild() metodi dirty holatni boshqaradi:
void markNeedsBuild() {
if (_lifecycleState != _ElementLifecycle.active)
return;
if (dirty) // If already dirty, do nothing
return;
_dirty = true; // The flag is set here
owner!.scheduleBuildFor(this); // Register with the BuildOwner
}BuildOwner barcha elementlarning ro'yxatini dirt == true bo'lgan holda saqlaydi.
Keyingi freym ishga tushirilganda, BuildOwner buildScope() ni chaqiradi. Bu metod daraxtning yuqori qismidan pastga dirty elementlar orqali takrorlanadi (ota-ona vidjet bola vidjetdan oldin qayta qurishni ta'minlash uchun).
Nima uchun bunday tartiblash kerak?
Agar ota-ona va bola ikkalasi ham dirty bo'lsa, ota-ona avval qayta quriladi. Ota-onaning qurilishi baribir Bolaning yangi versiyasini yaratishi mumkin, bu esa Bolaning individual qayta qurilishini oldi olinadi.
Element rebuild() metodi chaqirilgunga qadar dirty bo'lib qoladi. performRebuild() ichida, freymvork bayroqni qayta o'rnatadi:
@override
void performRebuild() {
// ... build logic happens here ...
_dirty = false; // The element is now "clean"
}Manbalar:
1. dirty doc: Link
2. Medium: Link
3. Medium: Link
4. Element doc: Link
5. Telegram post: Link
#Flutter
🔥1
Forwarded from IT with Akmaljon Abdirakhimov
Kimgadir Flutter bo’yicha darsliklar kerak bo’lsa, kursimni to’liq bepul qilib qo’ydim.
P.S: Kursdagi ayrim versiyalar hozirgi versiyalar bilan mos kelmasligi mumkin. Ammo asosiy mantiq va o’rganish uchun roadmap hali ham usha usha.
Flutter kursim shu yerda:
https://t.me/bepul_flutter
P.S: Kursdagi ayrim versiyalar hozirgi versiyalar bilan mos kelmasligi mumkin. Ammo asosiy mantiq va o’rganish uchun roadmap hali ham usha usha.
Flutter kursim shu yerda:
https://t.me/bepul_flutter
The worst thing you can do is half-learn everything and master nothing.
https://medium.com/@yurinovicow/is-knowing-only-dart-enough-54fd85454686
Medium
Is knowing only Dart enough?
So you’ve fallen in love with Dart and Flutter, and now you’re wondering — can I just stick with this one language for everything?
👍1
Initially, it may surprise vou to learn that widgets, in the traditional sense, don't have a lifecycle. Widgets are immutable; they cannot be altered once they are created. Thus, when discussing the widget lifecvcle.' we refer to a broader concept that extends to Elements, State objects, and Render objects.
Dastlab, an'anaviy ma'noda vidjetlarning hayot sikli yo'qligini bilib hayron qolishingiz mumkin. Vidjetlar o'zgarmasdir; ular yaratilgandan so'ng ularni o'zgartirib bo'lmaydi. Shunday qilib, vidjetning hayot sikli haqida gap ketganda, biz Elements, State obyektlari va Render obyektlariga oid kengroq tushunchaga ishora qilamiz.
Majid Hajian "Flutter Engineering" kitobidan
👍1
Element hayot sikli.
Element bu Widget va RenderObject o'rtasidagi muhim vositachi.
StatefulWidget-da 2 ta metod mavjud: createElement va createState.
createElement - Element obyektini yaratish va uni vidjet daraxtiga o'rnatish (mount) uchun javobgar.
createState - State obyektini element bilan bog'laydi.
Endi esa Element hayot sikli enum-lari bilan tanishamiz.
1. initial - bu holatda, Element obyekti endigina yaratilgan va ishga tushayotgan bo'ladi.
2. active - bu holatda element to'liq ishga tushgan va vidjet daraxtiga integratsiya qilingan bo'ladi. Bu fazada element joylashish (layout) va chizish (painting) jarayonida bo'ladi.
3. inactive - element bu holatga o'tishi bilan vidjet daraxtidan olib tashlanadi ammo xotirada qoladi.
4. defunct - bu elementning so'nggi fazasi. Bu fazada element vidjet daraxtidan olib tashlangan va xotiradan tozalanishga tayyor bo'ladi (garbage collection).
5. failed - Element aktiv bo'lganida yoki daraxtga qo'shilganda qayta tiklanmaydigan xatoga duch kelganda elementning deactivate metodi chaqiriladi.
Manbalar:
1. Github: Link
2. Book: Link
#Flutter
Element bu Widget va RenderObject o'rtasidagi muhim vositachi.
StatefulWidget-da 2 ta metod mavjud: createElement va createState.
createElement - Element obyektini yaratish va uni vidjet daraxtiga o'rnatish (mount) uchun javobgar.
createState - State obyektini element bilan bog'laydi.
Endi esa Element hayot sikli enum-lari bilan tanishamiz.
1. initial - bu holatda, Element obyekti endigina yaratilgan va ishga tushayotgan bo'ladi.
2. active - bu holatda element to'liq ishga tushgan va vidjet daraxtiga integratsiya qilingan bo'ladi. Bu fazada element joylashish (layout) va chizish (painting) jarayonida bo'ladi.
3. inactive - element bu holatga o'tishi bilan vidjet daraxtidan olib tashlanadi ammo xotirada qoladi.
4. defunct - bu elementning so'nggi fazasi. Bu fazada element vidjet daraxtidan olib tashlangan va xotiradan tozalanishga tayyor bo'ladi (garbage collection).
5. failed - Element aktiv bo'lganida yoki daraxtga qo'shilganda qayta tiklanmaydigan xatoga duch kelganda elementning deactivate metodi chaqiriladi.
Manbalar:
1. Github: Link
2. Book: Link
#Flutter
👍4🔥1