IT with Bobur👨‍💻


Channel's geo and language: Uzbekistan, Uzbek
Category: Blogs


Easy Flutter
Tirikchilikda endi nimayam derdik:
tirikchilik.uz/itwithbobur

Related channels

Channel's geo and language
Uzbekistan, Uzbek
Category
Blogs
Statistics
Posts filter


Forward from: Mukhriddin WEB
Developer va Engineer o‘rtasidagi farq

Ko‘pincha Developer (dasturchi) va Engineer (muhandis) tushunchalari bir-biriga yaqin, lekin ular orasida farq bor.

Developer (Dasturchi)

Dasturchi (Software Developer) — dasturiy ta’minot yaratish, kod yozish va uni ishlab chiqish bilan shug‘ullanadi. U foydalanuvchilarga qulay bo‘lgan dasturlar, veb-saytlar yoki mobil ilovalarni ishlab chiqadi.

Asosiy vazifalari:
— Kod yozish va test qilish
— Ilovalar va veb-saytlarni ishlab chiqish
— Foydalanuvchi tajribasini yaxshilash

Engineer (Muhandis)

Muhandis (Software Engineer) esa yanada kengroq yondashadi. U nafaqat kod yozadi, balki dasturiy arxitektura, tizim dizayni va optimizatsiya ustida ishlaydi. Software Engineer murakkab tizimlarni loyihalashtirish va ularning samaradorligini oshirishga ko‘proq e’tibor qaratadi.

Asosiy vazifalari:

— Dasturiy ta’minot arxitekturasini loyihalash
— Murakkab tizimlarni yaratish va optimallashtirish
— Katta miqyosdagi dasturlarni ishlab chiqish


Agar Developer kod yozish va ilovalarni ishlab chiqish bilan shug‘ullansa, Engineer esa butun tizim arxitekturasini yaratish va uni optimallashtirishga e’tibor qaratadi.

Usta ko‘p, lekin me’mor bitta!”
deganlaridek . Dasturchilar tizimni yaratishda usta bo‘lishi mumkin, lekin muhandislar esa butun tizimni boshqaradigan me’morlar hisoblanadi )

Qisqacha aytganda:

Developer – kod yozuvchi dasturchi
Engineer – tizimlarni loyihalovchi va optimallashtiruvchi mutaxassis.


@mukhriddinweb


Flutterda Wrap vidjet haqida.

Wrap o'z bolalarini birma-bir, Row yoki Column-ga o'xshatib qo'yadi. Ammo bo'sh joy tugagach, u keyingi qatorga o'tadi.

Masalan, bizda Row-da 3 ta Container bor, lekin gorizontal joy yetarli bo'lmay qolganda "Overflowed by xxx Pixels" xabariga duch keldik, chunki flutter vidjetni ekranda tartibga sola olmadi.

Wrap vidjeti barcha bolalarni berilgan yo'nalishga (hor/ver) qarab tartibga soladi va bo'sh joy tugasa, keyingi qatorga o'tadi.

Parametrlari :

1. direction - Wrap ichidagi vidjetlar gorizontal yoki vertikal joylashishini belgilaydi.
2. alignment - bola vidjetlar Wrap ichida qanday holatda joylashishini belgilaydi.
3. spacing - bola vidjetlar asosiy o'q (main axis) bo'yicha joy ajratilishi uchun.
4. runspacing - bola vidjetlar ko'ndalang o'q (cross axis) bo'yicha joy ajratilishi uchun qiymat qabul qiladi.

Manba : Link

#Flutter


Forward from: Mirjalol Abdunazarov
📢 Flutter Developer'lar uchun foydali buyruq! 🚀

🔥
flutter run --verbose buyrug‘i Flutter ilovasini ishga tushiradi va batafsil loglarni chiqaradi. Agar ilovada xatolik yoki muammo bo‘lsa, bu rejim sizga chuqur tahlil qilish imkonini beradi.

💡 Foydalanish:
flutter run --verbose
📌 Foydali jihatlari:
✅ Ilova ishga tushishi jarayonidagi barcha tafsilotlarni ko‘rsatadi
✅ Xatoliklarni chuqur tahlil qilishga yordam beradi
✅ Qurilma yoki emulyator bilan bog‘liq muammolarni aniqlash osonlashadi

❌ To‘xtatish uchun:
🔹 Ctrl + C (Windows/Linux)
🔹 ⌃ + C (Mac)

Bu buyruq xatolarni topish va debug qilish jarayonini ancha yengillashtiradi! ✅

Youtube | LinkedIn | Telegram

#Flutter #Debugging #FlutterRun #Verbose #Dasturlash


Flutterda Expanded, Flexible va Spacer vidjetlar haqida.

Flutter-da bu 3 ta vidjetlar responsiv mobil ilovalarni yaratish uchun ishlatiladi, ammo ba'zi farqli tomonlari bor.

Flexible.
Bu vidjet o'zidan tepadagi ota vidjetdagi barcha mavjud bo'sh joyni egallaydi. flex parametriga qiymat berish orqali qancha joyni egallashini belgilash mumkin.

Expanded.
Bu vidjet Flexible vidjetdan voris olgan (extend) va o'zidan tepadagi ota vidjetdagi barcha mavjud bo'sh joyni egallaydi. Flexible va Expanded vidjetlar o'rtasidagi muhim farqlardan biri shundaki, Flexible o'z farzand (ichidagi bola vidjet)-larini o'zi bilan bir xil o'lchamni olishga majburlamaydi, Expanded esa aksincha.

Spacer.
Bu vidjet Expanded vidjetga o‘xshaydi, chunki u barcha mavjud bo‘sh joyni egallaydi. Asosiy farq shundaki, u bola (child) vidjet olmaydi, shunchaki bo'sh joyni egallaydi.

Manba : Link

#Flutter


Flutterda Screenshot olishni taqiqlash.

Android uchun MainActivity fayl ichini 1-chi rasmdagidek o'zgartiramiz.

IOS uchun esa AppDelegate.swift fayl ichini 2-chi rasmdagidek.

Flutterda Screenshot olishni taqiqlash uchun flutter_windowmanager paket ham mavjud ammo u faqat Android uchun ishlaydi.

Manba : Link

#Flutter


Forward from: Azamov | Dev
API-larni loyihalash va yaratishning turli usullari mavjud. Rest, WebSocket, GraphQL... larni ishlatgan yoki eshitgandirsiz ammo google qaysi arxitekturasidan foydalanishini bilasizmi?

gRPC google tomonidan 2016-yil ishlab chiqilgan bo'lib hozirda googlening microservicelar aro aloqa qilish uchun arxitekturasi. Zo'r yangilik gRPC open source demak biz ham ishlatsak bo'ladi.😁

Afzalliklari:
Samarali: Malumotlar binary formatda uzatiladi
Tezroq: Serialize va Deserialize ancha tez
HTTP2: tagida http2 ishlatgani uchun imkonyatlari keng.

RestApiga qaraganda 3x-10x martta tezroq.
@azamovme


Flutterda Stack va IndexedStack vidjet haqida.

Stack - vidjeti bizga bir nechta vidjetlarni bir-biriga ustma-ust joylashtirish imkonini beradi. Bu vidjet bir nechta bola (children) vidjetlarni o'z ichiga oladi.

Birinchida turgan bola vidjet qatlamning eng tagida, Oxirida turgan bola vidjet esa qatlamning eng boshida joylashadi.

Stack ichida vidjetlarni Align yoki Positioned vidjetlar orqali joylashuvini belgilashimiz mumkin. Default holatda esa vidjet top-left burchakga joylashadi.

IndexedStack - vidjeti index qiymatiga ko'ra bir vaqtda bola vidjet listidan faqat bittasini ekranda joylashtiradi. Bu vidjet asosan dasturda turli xil ekran yoki sahifalar (pages) bilan ishlaganda foydalidir.

Qo'shimcha manbalar :
1. Link
2. Link

#Flutter


Forward from: Flutter Notes
Dartda "mixin", "mixin class" va "abstract mixin class" haqida.

Mixin - bu o'zida o'zgaruvchi va metodlarga ega bo'lgan oddiy class-ga o'xshash lekin ba'zi farqli tomonlari mavjud.

Mixin-dan obyekt olib bo'lmaydi. Bir class, "with" kalit so'zi orqali, bir nechta Mixin-larni qo'shib olishi mumkin, bu orqali kodni qayta ishlatish va toza kodga ega bo'lish mumkin. Mixin-ni chegaralash uchun "on" kalit so'zi orqali chegaralashimiz mumkin.

Mixin class - bu oddiy class-ga mixin imkoniyati berilganidir.

Abstract mixin class - bu mixin class-da abstract-lik xususiyati, ya'ni abstract metodlarga ega bo'lish imkonini beradi.

Official doc : Link

#Dart


🗿




Dartda "static" kalit so'zi haqida.

Static kalit so'z xotirada malumotning yagonaligini taminlaydi. Static kalit so'z class-ning maydonlari va metodlariga qo'llanilishi mumkin.

Statik o'zgaruvchilar va metodlar class-ga tegishli, obyektga emas va class ichida e'lon qilinadi. Class-ning nomi bilan static o'zgaruvchi va metodlarga murojaat qilish mumkin.

Static metod ichida faqatgina class-ning static o'zgaruvchilariga murojaat qilish mumkin.

Official doc : Link

#Dart




Forward from: Flutter Notes
Dartda Garbage Collector.

Dartning axlat yig'uvchisi (GC) Dart Runtime ichida joylashgan va Dart dasturlash tilining muhim komponenti bo'lib, xotirani avtomatik va samarali boshqarish uchun mo'ljallangan.

Dart, xotirani ikkita asosiy avlod (generation)-ga ajratadigan avlod axlat yig'ish strategiyasidan foydalanadi:

Yangi avlod (young space scavenger).
Ushbu komponent qisqa muddatli obyektlar bilan bog'liq xotirani bo'shatish uchun javobgardir. Xotira maydoni faol (active) va faol bo'lmagan (inactive) qismlarga bo'linadi, yangi obyektlar faol qismga o'tkaziladi. Faol qismi to'lganida, tirik obyektlar faol bo'lmagan yarmiga o'tkaziladi. Chiqindilarni yig'ish obyektning holatini (alive yoki dead) eng pastdagi (root) obyektlaridan boshlab havolalarni tekshirish orqali aniqlaydi.

Eski avlod (parallel mark and sweep collectors).
Parallel belgilash (marking) obyekt grafigini aylanib o'tish orqali xotiradagi foydalanilayotgan obyektlarni aniqlaydi va bir vaqtning o'zida ishlatilmayotgan obyektlarni o'chiradi. O'chirilgan obyektlar keyingi axlat yig'ish jarayonida qayta ishlash (recycling) uchun xotira hovuziga (Heap)-ga qaytariladi.

GC ishga tushish vaqti.
Chiqindilarni yig'ish ishi User ilova bilan interaksiya bo'lmaganda tegishli vaqtlarda ishga tushadi. Axlat yig'uvchi tomonidan taqdim etilgan ilgaklar (hooks) Flutter engine-ga ilova ishlamayotganida yoki User bilan hech qanday interaksiya bo'lmaganda uni xabardor qilish imkonini beradi.

Manbalar:
1. Medium: Link
2. Medium: Link
3. Linkedin: Link

#Dart


Flutter_Certified_Application_Developer_Exam_Sample_AFD_200_English.pdf
1.1Mb
Flutter
Flutter Certified Application Developer
Software developer
Middle


Tekin-ku O'qib ol!

Va nihoyat 14-kun kelmoqda va ertaga biz productga chiqamiz😇

Bitta yangilanish ham bor. Bular "Big Courses" ya'ni katta kurslar. Bunda asosan bitta topik va 2 soatdan ko'p bo'lgan darslik. Va yana o'ylab turgan narsam AI orqali Quizlarni ham qo'shish.

UI/UX haqida gapirsam. Menimcha yomon emas. Va yana menimcha bitta dizayner topishim kerak yoki UI/UX bo'yicha feedbacklar.

Umuman olganda bu app faqat daturlash haqida bo'lmaydi. Buni ichida xarqanaqangi kurslar bo'lishi mumkin. Rejam bo'yicha shu kunlarda "Ibrat farzantlari" va "Ustoz AI" applardagi darslarni bu appga ham yuklamoqchiman. Menimcha ikkisi ham youtubedan oladi videolarni. Mualiflik huquqi esa saqlanib qoladi. Video yoki kursni to'lig'icha olmoqchi bo'lsa albatta olishi mumkin. Biz manbasini yashirmaymiz. Va biz bilan integratsiya qilinishga ochiqmiz.

Menga darslik yig'ich uchun volontyorlar ham kerak. Aloqa uchun @liderBobur 😎


Forward from: mittidevs
Isar – Flutter uchun tezkor nosql ma'lumotlar

Bugun sizga Isar nosql haqida qisqacha ma'lumot beraman. Agar ilovalaringizda tezkor va ishonchli local hotira kerak bo'lsa, Isar siz uchun ajoyib tanlob bolishi aniq!


✅ Afzalliklari:
- Yuqori tezlik: Isar katta hajmdagi ma'lumotlar bilan ishlashda juda samarali.
- Flutter bilan integratsiya: Maxsus Flutter uchun ishlab chiqilgan, oson foydalaniladi.
- Reaktivlik: Ma'lumotlar o'zgarsa, UI avtomatik ravishda yangilanadi.
- Asinxron operatsiyalar: Tezkor va bloklanmaydigan ma'lumotlar boshqaruvi.


❌ Kamchiliklari:
- Yangi texnologiya: Kutubxona nisbatan yangi bo'lgani uchun ba'zan hujjatlari cheklangan bo'lishi mumkin.
- Platforma cheklovi: Faqat Flutter ilovalari uchun mo'ljallangan.


💡 Ko'proq ma'lumot uchun:
👉 https://isar.dev

Isar eng yashi nosql lardan biri hozirda!

Youtube | LinkedIn | Telegram

#isar #nosql #flutter #dart


MaterialAppdagi titleni tog'lash kerak.


Forward from: Code with Maryam
Flutter Tip: Transparent Images with Better Performance

Agar tasviringizga shaffoflik qo'shmoqchi bo'lsangiz, Opacity widget'idan foydalanish o'rniga Image.asset bilan opacity argumentini qo'llang.

✔ Tezroq usul:

Image.asset(
'assets/banner.png',
opacity: const AlwaysStoppedAnimation(0.5),
)

❌ Sekinroq usul:

Opacity(
opacity: 0.5,
child: Image.asset('assets/banner.png'),
)

📌 Nima uchun?
Opacity widget'ida qo'shimcha offscreen buffer ishlatiladi, bu esa sekinlashishga olib keladi. Image.asset bilan opacity ishlatish esa samaraliroq.


@codemaryam


"O'qib ol!" ga quiz ham qo'shmoqchiman. Qanaqa maslahat berasizlar. Yani AI yoki boshqa.


Forward from: Mirjalol Abdunazarov
Bloc va Freezed: Kodni Soddalashtirish Sirasi

Agar siz Flutterda Bloc ishlatayotgan bo‘lsangiz, holatlarni (State) boshqarishning qulay yo‘li sifatida Freezedni qo‘shishingiz mumkin.

○ Nega Bloc + Freezed?
Kod soddaligi – copyWith, toString kabi funksiyalar avtomatik yaratiladi.
O‘zgarmas (immutable) holatlar – Xatoliklar kamroq bo‘ladi.
Pattern matching – when va map orqali aniqroq kod yozasiz.

📌 Misol kod:
@freezed
class CounterState with _$CounterState {
const factory CounterState.initial() = _Initial;
const factory CounterState.loading() = _Loading;
const factory CounterState.success(int count) = _Success;
}
Kamchiliklari:
❌ build_runner har safar ishga tushirilishi kerak.
❌ Yangi boshlovchilar uchun murakkabroq bo‘lishi mumkin.

Agar katta va strukturalangan loyihalar ustida ishlayotgan bo‘lsangiz, Freezed sizning eng yaxshi do‘stingiz va ishingizni 20%ga tezlashtirib yuboradi!

Youtube | Linkedin | Telegram

#Flutter #Bloc #Freezed

20 last posts shown.