#question
Riverpod + TDD vs BLoC + GetIt + TDD
Qaysi biri yaxshi deb o'ylesizlar va nima uchun o'zilarni fikrilarni yozilar.
Riverpod + TDD vs BLoC + GetIt + TDD
Qaysi biri yaxshi deb o'ylesizlar va nima uchun o'zilarni fikrilarni yozilar.
Assalomu alekum hammaga.
Arafa hamda kirib kelayotkan Qurbon Hayit bayrami barchaga muborak boβlsinπ
Arafa hamda kirib kelayotkan Qurbon Hayit bayrami barchaga muborak boβlsin
Please open Telegram to view this post
VIEW IN TELEGRAM
Techie's Blog π¨π»βπ»
#question Riverpod + TDD vs BLoC + GetIt + TDD Qaysi biri yaxshi deb o'ylesizlar va nima uchun o'zilarni fikrilarni yozilar.
#subektiv
BLoC+GetIt vs Riverpod
Flutterda juda ko'plab State Managementlar (SM) va Dependency Injection (DI) servislar mavjud. Har birining juda ko'plab avfzallik va kamchilikari bor. Kelilar bugun bularni bir qator ko'rib chiqamiz. Lekin qay biridan foydalanish hammaning o'zining subektiv fikri.
Birinchi navbatda SM larni ko'rib chiqsak : BLoC (Business Logic of Component) vs Riverpod
- BLoC (7,7k favorite, 2.4M download, 34 days ago updated) bloclibrary.dev tomonidan qo'llab quvvatlanadigan doimiy tarzda qo'llab quvvatlanadi. Juda ham ko'plab katta kompanyalar tomondan ishlatilinadi va ko'plab dasturchilar tomonidan tavsiya etiladigan, Stream'ga asoslanga, business logic hamda UI ni bir biridan ajratgan, State,Event ga ajratilgan clean hamda testable state managament hisoblanadi. Ushbu SM katta va murakkab loyihalarga juda ham mos chunki UI ning hohlagan qismini statelar bilan boshqarish mumkin. O'rganishga oson hamda ishlatish juda qulay. Bundan tashqari BLoC ning minimallashtirilgan Cubit formati ham juda qulayligi bilan mashxur.
BLoC bilan widgetlarni qayta yozish shart emas chunki BlocBuilder orqali istalgan qismning stateini boshqarish mumkin.
- Riverpod (3.6k favorite, 2.19M download, 7 months ago updated) dash-overflow.net tomonidan qo'llab quvvatlanadigan reaktiv caching hamda data-binfing framework SM, Ya'ni Errorlarni avtomatik cach qiladigan, business logic UI dan ajratilgan, testable, scaleable, hamda reusable. Ushbu SM ham ko'plab communitiylar tomonidan qo'llab quvvatlanadi hamda keng miqyosda ishlatilinadi. O'rnatish birmuncha qiyin hamda ishlatish uchun widgetlarni qayta yozish kerak masalan ConsumerWidget kabi widgetlardan extend qilish lozim. Provider ustiga qurilgan hamda uning ko'plab kamchiliklarini tuzatgan. Statelarni boshqarish ChangeNotifierProvider lar orqali amalga oshiriladi. Kichik hamda o'rta darajadagi projectlar uchun qulay.
Ikkinchi navbatda DI larni ko'rib chiqsak : GetIt vs Riverpod
- GetIt (4.4k favorite, 1.86M download, 5 months ago updated) fluttercommunity.dev tomonidan qo'llab quvvatlanadigan Service Locator bo'lib Provider hamda InheritedWidget o'rnida obektlarga kirish uchun qo'llaniladigan package. Uning avfzallik tomoni obektlarga kirish uchun hech qanday context shart emas. Ihtiyoriy joydan turib obektlarni chaqirish va ishlatish mumkin. O(1) tezilikda hamda o'rganish uchun oson. Ushbu package aynan DI muammosni hal qilish uchun yaratilgan. Lekin obektlarni dispose qilish manually. Test jarayonlarida ham bazi kamchiliklarga ega.
- Riverpod yuqoridagi malumotlarga qo'shimcha ravishda riverpod o'zining DI ga ham ega bu uni bir package bilan ham SM ham DI o'rnida ishlatishga yordam beradi. Uning yana bir avfzalligi compile-time safety ya'ni compile timeda type checking qiladi hamda bu runtime errorlarni olidin oladi. Automatik dispose obektlarni keraksiz vaqtda hotiradan o'chirib tashlaydi. Test jarayonlari uchun juda ham qulay.
Ushbu kombinatsiya to'qnashuvida ya'ni BLoC+GetIt vs Riverpod in TDD da har biri o'zining yutuq va kamchiliglariga ega bo'ldi. Qay birini ishlatishdan qatiy nazar ko'dining sifati hamda dasturing ishlash tezligi tez bo'lishi eng muhumi hisoblanadi.
Ushbu solishtiruv haqida ko'plab maqolalar va maslahatlar oldim. Kimdir unisini maqtasa kimdir boshqasini maqtaydi. Menimcha kim qay birini yaxshi bilsa, muammolarga u bilan yechim topa olsa menimcha shunisi muhum. Lekin bu qolgan birini butunlay ishlatmaslik kerak degani emas. Shunchaki projectga qarab kerakli kominatsiyadan foydalana olish bu dasturchining ijodiga havola.
P.s/ "Eng yaxshi dasturlash tili ustozing senga o'rgatgani" deyilgandek eng yaxshisi o'zing bilgan hamda u bilan muammolarni hal qila oladigan tool. Bu yerda o'zidan keyin keladigan dasturchilarni ham o'ylash kerak albatta π
BLoC+GetIt vs Riverpod
Flutterda juda ko'plab State Managementlar (SM) va Dependency Injection (DI) servislar mavjud. Har birining juda ko'plab avfzallik va kamchilikari bor. Kelilar bugun bularni bir qator ko'rib chiqamiz. Lekin qay biridan foydalanish hammaning o'zining subektiv fikri.
Birinchi navbatda SM larni ko'rib chiqsak : BLoC (Business Logic of Component) vs Riverpod
- BLoC (7,7k favorite, 2.4M download, 34 days ago updated) bloclibrary.dev tomonidan qo'llab quvvatlanadigan doimiy tarzda qo'llab quvvatlanadi. Juda ham ko'plab katta kompanyalar tomondan ishlatilinadi va ko'plab dasturchilar tomonidan tavsiya etiladigan, Stream'ga asoslanga, business logic hamda UI ni bir biridan ajratgan, State,Event ga ajratilgan clean hamda testable state managament hisoblanadi. Ushbu SM katta va murakkab loyihalarga juda ham mos chunki UI ning hohlagan qismini statelar bilan boshqarish mumkin. O'rganishga oson hamda ishlatish juda qulay. Bundan tashqari BLoC ning minimallashtirilgan Cubit formati ham juda qulayligi bilan mashxur.
BLoC bilan widgetlarni qayta yozish shart emas chunki BlocBuilder orqali istalgan qismning stateini boshqarish mumkin.
- Riverpod (3.6k favorite, 2.19M download, 7 months ago updated) dash-overflow.net tomonidan qo'llab quvvatlanadigan reaktiv caching hamda data-binfing framework SM, Ya'ni Errorlarni avtomatik cach qiladigan, business logic UI dan ajratilgan, testable, scaleable, hamda reusable. Ushbu SM ham ko'plab communitiylar tomonidan qo'llab quvvatlanadi hamda keng miqyosda ishlatilinadi. O'rnatish birmuncha qiyin hamda ishlatish uchun widgetlarni qayta yozish kerak masalan ConsumerWidget kabi widgetlardan extend qilish lozim. Provider ustiga qurilgan hamda uning ko'plab kamchiliklarini tuzatgan. Statelarni boshqarish ChangeNotifierProvider lar orqali amalga oshiriladi. Kichik hamda o'rta darajadagi projectlar uchun qulay.
Ikkinchi navbatda DI larni ko'rib chiqsak : GetIt vs Riverpod
- GetIt (4.4k favorite, 1.86M download, 5 months ago updated) fluttercommunity.dev tomonidan qo'llab quvvatlanadigan Service Locator bo'lib Provider hamda InheritedWidget o'rnida obektlarga kirish uchun qo'llaniladigan package. Uning avfzallik tomoni obektlarga kirish uchun hech qanday context shart emas. Ihtiyoriy joydan turib obektlarni chaqirish va ishlatish mumkin. O(1) tezilikda hamda o'rganish uchun oson. Ushbu package aynan DI muammosni hal qilish uchun yaratilgan. Lekin obektlarni dispose qilish manually. Test jarayonlarida ham bazi kamchiliklarga ega.
- Riverpod yuqoridagi malumotlarga qo'shimcha ravishda riverpod o'zining DI ga ham ega bu uni bir package bilan ham SM ham DI o'rnida ishlatishga yordam beradi. Uning yana bir avfzalligi compile-time safety ya'ni compile timeda type checking qiladi hamda bu runtime errorlarni olidin oladi. Automatik dispose obektlarni keraksiz vaqtda hotiradan o'chirib tashlaydi. Test jarayonlari uchun juda ham qulay.
Ushbu kombinatsiya to'qnashuvida ya'ni BLoC+GetIt vs Riverpod in TDD da har biri o'zining yutuq va kamchiliglariga ega bo'ldi. Qay birini ishlatishdan qatiy nazar ko'dining sifati hamda dasturing ishlash tezligi tez bo'lishi eng muhumi hisoblanadi.
Ushbu solishtiruv haqida ko'plab maqolalar va maslahatlar oldim. Kimdir unisini maqtasa kimdir boshqasini maqtaydi. Menimcha kim qay birini yaxshi bilsa, muammolarga u bilan yechim topa olsa menimcha shunisi muhum. Lekin bu qolgan birini butunlay ishlatmaslik kerak degani emas. Shunchaki projectga qarab kerakli kominatsiyadan foydalana olish bu dasturchining ijodiga havola.
P.s/ "Eng yaxshi dasturlash tili ustozing senga o'rgatgani" deyilgandek eng yaxshisi o'zing bilgan hamda u bilan muammolarni hal qila oladigan tool. Bu yerda o'zidan keyin keladigan dasturchilarni ham o'ylash kerak albatta π
Bloc
Bloc State Management Library
Official documentation for the bloc state management library. Support for Dart, Flutter, and AngularDart. Includes examples and tutorials.
Assalomu alekum. Eid ul Adha hamda Juma bayrami hammaga muborak boβlsinπ
Please open Telegram to view this post
VIEW IN TELEGRAM
Bazida widgetlarni body/children qismlari kattalashib ketsa koβpchilik ularni widget qaytaradigan function yoki methodlarga ajratadi.
Ushbu articleda nega ularni function/method emas aynana statefull yoki stateless widgetlarga ajratish kerakligi haqida maslahatlar berilgan.
https://medium.com/@heshamerfan97/stop-using-widget-function-in-flutter-29c0029e415e
Ushbu articleda nega ularni function/method emas aynana statefull yoki stateless widgetlarga ajratish kerakligi haqida maslahatlar berilgan.
https://medium.com/@heshamerfan97/stop-using-widget-function-in-flutter-29c0029e415e
Medium
β Stop Using Widget Functions in Flutter
Widget functions can hurt your performance and code qualityβββhereβs what to use instead.
#question
Hayot yoβliz uchun eng zoβr hulosa olgan 3 ta kitob va aynana nima ?
Hayot yoβliz uchun eng zoβr hulosa olgan 3 ta kitob va aynana nima ?
Please open Telegram to view this post
VIEW IN TELEGRAM
#urgent
Yana bir martta aytaman.
Siz qanchalik ishizi zo'r qilmang, interviewga tayyorlanmas ekansiz baribir katta kompanyalarga kira olmaysiz.
Interview savollari oddiy va zerikarliga o'xshab tuyiladi. Bazi savollarni deyarli savol beruvchi ham bilmasligi mumkin lekin bariga nazariy tayyorlanish ham kerak.
Interview huddi davlat tashkilotlarida diplom so'rashga o'xshaydi - uni olish qanchalik manosiz bo'lgan bo'lsa ham olgan bo'lishiz kerak.
Yana bir martta aytaman.
Siz qanchalik ishizi zo'r qilmang, interviewga tayyorlanmas ekansiz baribir katta kompanyalarga kira olmaysiz.
Interview savollari oddiy va zerikarliga o'xshab tuyiladi. Bazi savollarni deyarli savol beruvchi ham bilmasligi mumkin lekin bariga nazariy tayyorlanish ham kerak.
Interview huddi davlat tashkilotlarida diplom so'rashga o'xshaydi - uni olish qanchalik manosiz bo'lgan bo'lsa ham olgan bo'lishiz kerak.
This media is not supported in your browser
VIEW IN TELEGRAM
Techie's Blog π¨π»βπ»
#question Hayot yoβliz uchun eng zoβr hulosa olgan 3 ta kitob va aynana nima ?
Hozirgacha o'qigan kitoblarimdan o'z hayotimga ta'sir o'tkaza olganlarini sanab o'taman.
1. Savdogarlar ustozi(1-qism) - Ushbu kitobdan mol-dunyoni qanday boshqarish, Ota-ona, oila va farzandlarga qanday munosabatda bo'lishni, sahiy bo'lishini, ham dunyo ham ohirat uchun qanday zahira yig'ishni o'rgandim. Menga bu kitobda Ibn Muborakning umri so'ngida boyliklarini ohirati uchun sariflagani juda yoqqan. Ya'ni farzandlarini to'g'ri tarbiyalab ilmli qilgach ularga katta boylik qoldirmadi balki ular o'z ishlarini yuritadigan darajada boylik berib qolganini o'z ohirati uchun sadaqa va ehsonga ajratdi. Bizda qanday bo'lishini o'zilar bilasizlar.
2. Molxona - Albatta bu kitob ko'pchilikka yoqmaydi lekin u juda ham keskin va bazilarda mavjud tuzumga nisbatan qarshilik harakatini ham keltirib chiqarishi mumkin. Ammo buni to'g'ri maqsadda qo'llay olish ham kerak. Bu kitobdab nimalar olganimni bu yerda ochiqlay olmayman lekin o'qisangiz o'zingizda ham his qilasiz bu g'oyalarni.
3. Qo'rqma - XXI asrda yozilgan va har bir o'quvchining qon-qoniga singib undagi mudroq tuyg'ularni uyg'ota oladigan asar deb bilaman. Bu men o'qigan va Jadidlar haqidagi tasavvurimni tubdan o'zgartirgan, vatan, o'z yerni, kelajak avlodni qutqarish uchun qilingan haqiqiy qahramonliklarni menga bildirgan asar bo'ldi. Insonda qorin va bola g'amidan ham kattaroq tashvishlar bo'lishi kerakligi haqidagi asar. Albatta bu asardagi voqealar har bir yosh kitobxonga ta'sir qilmay qolmaydi albatta.
Menda hozircha shular. Lekin bular orasiga hozir qo'shishim mumkin bo'lgan yana bir asar ham bor. Hali oxirlamadi lekin albatta qo'shishga arziydi.
"Qarzga olingan umr" Remark. Nega ayanan bu kitob. Chunki bu kitobda o'limi muqarrar bemor qizning hayotga, yashashga bo'lgan qarashlari o'zgargani haqida hikoya qilinadi. Agar sizni o'limnigiz yaqinligini sezganingizda hozirda e'tibor berayotkan mayda-chuda narsalarga e'tibor bergan bo'larmidiz ?. Kimlar bilandir tortishib bebaxo vaqtingizni sariflagan bo'larmidingiz. Albatta bunday holatda o'lchovlar ham o'zgaradi. Anashu o'zgargan o'lchovlarni kitob o'qish davomida albatta topasiz degan umiddaman.
1. Savdogarlar ustozi(1-qism) - Ushbu kitobdan mol-dunyoni qanday boshqarish, Ota-ona, oila va farzandlarga qanday munosabatda bo'lishni, sahiy bo'lishini, ham dunyo ham ohirat uchun qanday zahira yig'ishni o'rgandim. Menga bu kitobda Ibn Muborakning umri so'ngida boyliklarini ohirati uchun sariflagani juda yoqqan. Ya'ni farzandlarini to'g'ri tarbiyalab ilmli qilgach ularga katta boylik qoldirmadi balki ular o'z ishlarini yuritadigan darajada boylik berib qolganini o'z ohirati uchun sadaqa va ehsonga ajratdi. Bizda qanday bo'lishini o'zilar bilasizlar.
2. Molxona - Albatta bu kitob ko'pchilikka yoqmaydi lekin u juda ham keskin va bazilarda mavjud tuzumga nisbatan qarshilik harakatini ham keltirib chiqarishi mumkin. Ammo buni to'g'ri maqsadda qo'llay olish ham kerak. Bu kitobdab nimalar olganimni bu yerda ochiqlay olmayman lekin o'qisangiz o'zingizda ham his qilasiz bu g'oyalarni.
3. Qo'rqma - XXI asrda yozilgan va har bir o'quvchining qon-qoniga singib undagi mudroq tuyg'ularni uyg'ota oladigan asar deb bilaman. Bu men o'qigan va Jadidlar haqidagi tasavvurimni tubdan o'zgartirgan, vatan, o'z yerni, kelajak avlodni qutqarish uchun qilingan haqiqiy qahramonliklarni menga bildirgan asar bo'ldi. Insonda qorin va bola g'amidan ham kattaroq tashvishlar bo'lishi kerakligi haqidagi asar. Albatta bu asardagi voqealar har bir yosh kitobxonga ta'sir qilmay qolmaydi albatta.
Menda hozircha shular. Lekin bular orasiga hozir qo'shishim mumkin bo'lgan yana bir asar ham bor. Hali oxirlamadi lekin albatta qo'shishga arziydi.
"Qarzga olingan umr" Remark. Nega ayanan bu kitob. Chunki bu kitobda o'limi muqarrar bemor qizning hayotga, yashashga bo'lgan qarashlari o'zgargani haqida hikoya qilinadi. Agar sizni o'limnigiz yaqinligini sezganingizda hozirda e'tibor berayotkan mayda-chuda narsalarga e'tibor bergan bo'larmidiz ?. Kimlar bilandir tortishib bebaxo vaqtingizni sariflagan bo'larmidingiz. Albatta bunday holatda o'lchovlar ham o'zgaradi. Anashu o'zgargan o'lchovlarni kitob o'qish davomida albatta topasiz degan umiddaman.
Techie's Blog π¨π»βπ»
Koβrvorish kerak π
Liquid Glass'ni sevdim. Ko'ramiz on-device qande ko'rinarkin.
O'zi blurry effect iOS'chalik hech qaysi platformada performance emas edi.
O'zi blurry effect iOS'chalik hech qaysi platformada performance emas edi.
Light/Dark modelarni boshqaris uchun ushbu package juda foydali:
https://pub.dev/packages/adaptive_theme
https://pub.dev/packages/adaptive_theme
Dart packages
adaptive_theme | Flutter package
Allows to change between light and dark theme dynamically and add system adaptive theme support.
Hahahahaa.
Oβzim hursand boβlsam boβldida. Brovlar bilan meni nima ishim bor π.
Oβzim hursand boβlsam boβldida. Brovlar bilan meni nima ishim bor π.
#savol
Dartda static hamda dynamic listlarning farqi nimada ?
- Ularing asosiy farqi type safety'sida. Ya'ni
static listlar - compile-time type check bo'ladi, performance va code safety uchun ham ancha qulay;
dynamic listlar - ixtiyoriy type'ni qabul qilishi mumkin, compile-time emas balki runtime'da va hatoliklar chiqish ehtimoli juda katta, qulay lekin havfli.
Endi ular xotirada qanday joylashishi haqida gaplashadigan bo'lsak:
static list - type aniqligi hisobiga xotiradan bir hilda joy ajratadi, dart vm (JIT yoki AOT) vaqtida ham bu type aniq bo'ladi, joylash va o'qish tez chunki hech qanday type checking shart emas.
dynamic list - har bir elementning reference saqlanadi, VM qo'shimcha qanday typeligi va qayerda joylashgani haqida metadata saqlaydi, sekin o'qiladi chunki runtime type checking bor, shular sabab xotiraga yuklama ko'p tushadi.
Shuning uchun har doim o'zgaruvchi type'ini aniq berib ketish tavsiya etiladi.
Dartda static hamda dynamic listlarning farqi nimada ?
- Ularing asosiy farqi type safety'sida. Ya'ni
static listlar - compile-time type check bo'ladi, performance va code safety uchun ham ancha qulay;
dynamic listlar - ixtiyoriy type'ni qabul qilishi mumkin, compile-time emas balki runtime'da va hatoliklar chiqish ehtimoli juda katta, qulay lekin havfli.
Endi ular xotirada qanday joylashishi haqida gaplashadigan bo'lsak:
static list - type aniqligi hisobiga xotiradan bir hilda joy ajratadi, dart vm (JIT yoki AOT) vaqtida ham bu type aniq bo'ladi, joylash va o'qish tez chunki hech qanday type checking shart emas.
dynamic list - har bir elementning reference saqlanadi, VM qo'shimcha qanday typeligi va qayerda joylashgani haqida metadata saqlaydi, sekin o'qiladi chunki runtime type checking bor, shular sabab xotiraga yuklama ko'p tushadi.
Shuning uchun har doim o'zgaruvchi type'ini aniq berib ketish tavsiya etiladi.
Yangilikni qabul qila olmagan odam o'sishdan to'xtagan odam hisoblanadi.
Dasturlashda "Ishlayaptimi tegam" degan termin juda mashxur hisoblanadi lekin qo'lidan kelsa uni optimallashtirish kerak deb bilaman. Bu o'sishni qabul qilmaslik deb bilaman. Bu sohada har kuni qandaydir yangliliklar qilinadi. Dasturchi bulardan habardor bo'lishi va agar foydali bo'lsa o'z ishiga tadbiq qilishi kerak.
p.s/ Siz "Ishlayaptimi tegma" turidagi odammisiz ?
@techiesBlog
Dasturlashda "Ishlayaptimi tegam" degan termin juda mashxur hisoblanadi lekin qo'lidan kelsa uni optimallashtirish kerak deb bilaman. Bu o'sishni qabul qilmaslik deb bilaman. Bu sohada har kuni qandaydir yangliliklar qilinadi. Dasturchi bulardan habardor bo'lishi va agar foydali bo'lsa o'z ishiga tadbiq qilishi kerak.
p.s/ Siz "Ishlayaptimi tegma" turidagi odammisiz ?
@techiesBlog
Techie's Blog π¨π»βπ»
Koβrvorish kerak π
iOS26'ning Liquid Glass effekti e'lon qilingach ko'pchilik bu flutterda bo'lmaydi deyishgandi lekin liquid_glass_renderer package orqali ushbu effekni osson hal qilishingiz mumkin bo'ladi.
Dart packages
liquid_glass_renderer | Flutter package
The raw renderer for a liquid glass effect in Flutter.
Forwarded from Ilhomjon | Blog
17-iyundan boshlab Yandex Go va Yandex Maps ilovalari orqali avtobuslarning real time rejimidagi harakati Oβzbekistonning 13 ta shahrida mavjud boβldi.
deya xabar berdi Sardor Qodirov o'zining LinkedIn tarmog'idagi sahifasida
Avvallari poytaxtga borganimizda havas qilar edik, endi bu xizmat 11 ta shaharda joriy qilinibdi: Angren, Andijon, Buxoro, Jizzax, Guliston, Qarshi, Navoiy, Namangan, Nukus, Urganch, Fargβona.
@ilhomjon_asraqulov