SUI o'rganish jarayonidan.
Hozirgi paytgacha ko'p dasturlash tillarida kod yozganman:
- Java va Kotlin'da Native Android'larga dastur yozganman;
- C# .Net Framework'da Windows desktop dasturlar yozganman;
- PHP da backend ham yozganman.
Va mana hozirda Dart&Flutter da ham Android ham iOS va vaqt kelsa windows desktoplarga dasturlar yozib kelyapman. Barchasida o'zining qulaylik va kamchilik taraflari bor.
Men uchun boshidan buyon Mobile development juda qiziqarli bo'lgan. Chunki ko'pchilikda smartfon bor va undagi dasturlar qanday ishlashi haqida o'ylamaydi. Menga esa bunga juda ham qiziqarli jarayon.
Macbook kompyuter olgach iOS haqida ham ko'p o'yladim lekin Flutterda yetarli darajaga chiqmay turib yana boshqasiga "burun" suqish yaxshi oqibatga olib kelmasligini bildim va sabr qildim. Hozirda esa vaqt ajratib Swift$SUI ni o'rganmoqdaman va menga juda ham yoqmoqda. To'g'ri uni ham o'z kamchiliklari bor.
- XCode yolg'iz tanlov bo'lgani uchun unda yozish uchalik ham qulay emas. Balki bu men Android Studioga o'rganib qolganimdandir yana kim bilsin.
+ Lekin Swift language menga juda yoqdi, SUI esa juda ham oson va qulay. SUI'da ko'plab komponentlar juda ham preformant va versatile qilib qilingan. Bazi "widget" lar shunday qulayliklarga egaki uni Flutter yoki Androidda qilish uchun ancha vaqt ketadi. XCode yozishga noqulay bo'lsada o'zining bitmuncha qulay toollari bor. Hozirgacha o'rgangan jarayonimda SUI Flutterdan ham ko'ra osonroq turildi. Balki uni hali men bilmagan "sovg'a"lari bordir π. Yaxshasak ko'raveramiz π€£.
Hozirda YouTubedan tutorial ko'rib chiqyapman. Ular tugagach bitta mini app qilib ko'ramiz.
Hozirgi paytgacha ko'p dasturlash tillarida kod yozganman:
- Java va Kotlin'da Native Android'larga dastur yozganman;
- C# .Net Framework'da Windows desktop dasturlar yozganman;
- PHP da backend ham yozganman.
Va mana hozirda Dart&Flutter da ham Android ham iOS va vaqt kelsa windows desktoplarga dasturlar yozib kelyapman. Barchasida o'zining qulaylik va kamchilik taraflari bor.
Men uchun boshidan buyon Mobile development juda qiziqarli bo'lgan. Chunki ko'pchilikda smartfon bor va undagi dasturlar qanday ishlashi haqida o'ylamaydi. Menga esa bunga juda ham qiziqarli jarayon.
Macbook kompyuter olgach iOS haqida ham ko'p o'yladim lekin Flutterda yetarli darajaga chiqmay turib yana boshqasiga "burun" suqish yaxshi oqibatga olib kelmasligini bildim va sabr qildim. Hozirda esa vaqt ajratib Swift$SUI ni o'rganmoqdaman va menga juda ham yoqmoqda. To'g'ri uni ham o'z kamchiliklari bor.
- XCode yolg'iz tanlov bo'lgani uchun unda yozish uchalik ham qulay emas. Balki bu men Android Studioga o'rganib qolganimdandir yana kim bilsin.
+ Lekin Swift language menga juda yoqdi, SUI esa juda ham oson va qulay. SUI'da ko'plab komponentlar juda ham preformant va versatile qilib qilingan. Bazi "widget" lar shunday qulayliklarga egaki uni Flutter yoki Androidda qilish uchun ancha vaqt ketadi. XCode yozishga noqulay bo'lsada o'zining bitmuncha qulay toollari bor. Hozirgacha o'rgangan jarayonimda SUI Flutterdan ham ko'ra osonroq turildi. Balki uni hali men bilmagan "sovg'a"lari bordir π. Yaxshasak ko'raveramiz π€£.
Hozirda YouTubedan tutorial ko'rib chiqyapman. Ular tugagach bitta mini app qilib ko'ramiz.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
βUydan online ishlemanβ deganimni Onam qanday tushunadi:
- Haa uyda kompyuterga tikilib oβtiradi, undan koβra uydegi ishlarni qildirvolaman π .
P.s/ shuchun ham uydan online ishlash umman option emas ekan π
- Haa uyda kompyuterga tikilib oβtiradi, undan koβra uydegi ishlarni qildirvolaman π .
P.s/ shuchun ham uydan online ishlash umman option emas ekan π
#openWork
Aytgancha men Buchetdan ketyapman.
Oβrnimga yaxshi nomzodlar boβlsa refer qilaman, oβzim interview ham qilarman.
Resumelar boβlsa oβzilarga ishonselar lichkaga tashlab qoβyselar boβladi.
Aytgancha men Buchetdan ketyapman.
Oβrnimga yaxshi nomzodlar boβlsa refer qilaman, oβzim interview ham qilarman.
Resumelar boβlsa oβzilarga ishonselar lichkaga tashlab qoβyselar boβladi.
Please open Telegram to view this post
VIEW IN TELEGRAM
#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