Flutter | Dev
97 subscribers
120 photos
7 videos
24 files
45 links
Siz bu yerda Flutter yordamida yaratilgan koplab qiziqarli ilovalarni va malumotlarni topishingiz mumkin

murojat uchun: @ayyubxon_akhmadjonov
Download Telegram
FutureBuilder Widgeti Haqida 🚀

FutureBuilder – Flutter’da Future obyektining natijasiga asoslangan UI yaratish uchun ishlatiladigan ajoyib widget! 🌟 U asinxron ma'lumotlarni yuklash va natijaga qarab turli xil UI elementlarini ko‘rsatishda sizga yordam beradi.

FutureBuilder Ishlash Tamoyili ⚙️

FutureBuilder berilgan Future obyektining holatiga qarab UI ni qayta chizadi:

ConnectionState.waiting – Ma’lumot yuklanayotgan bo‘lsa
ConnectionState.done – Ma’lumot yuklanib bo‘ldi
snapshot.hasError – Agar xatolik yuz bersa
snapshot.hasData – Agar muvaffaqiyatli natija qaytsa 🎉
FutureBuilder dan Foydalanish Misoli 💻


future: response,
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return const CircularProgressIndicator(); // Yuklanmoqda
} else if (snapshot.hasError) {
return Text("Xatolik yuz berdi: ${snapshot.error}"); // Xatolik
} else {
return Text(
snapshot.data ?? "Ma'lumot yo‘q", // Ma'lumot yo‘q bo‘lsa 😢
style: const TextStyle(fontSize: 18),
);
}
},
)


FutureBuilder Ning Afzalliklari 🌟

UI elementlarini dinamik yangilaydi 🔄
Asinxron ma'lumotlarni oson boshqaradi 🛠️
Yuklanish holatini ifodalashni soddalashtiradi

Xulosa 📌

Agar ilovangizda Future yordamida ma’lumot olish kerak bo‘lsa va natijaga qarab UI ni dinamik tarzda yangilash zarur bo‘lsa, FutureBuilder eng yaxshi yechimdir! 🚀 Ushbu widget yordamida asinxron operatsiyalar bilan ishlash osonlashadi va foydalanuvchilarga qulay interfeys yaratish imkoniyati paydo bo‘ladi. 🎯
👍4👎2🆒2
🔥 Object-Oriented Programming (OOP) nima?

OOP – bu dart dasturlash tilining asosiy qismi bo‘lib, kodni obyektlar asosida tashkil qilishga imkon beradi. Har bir obyekt o‘zining xususiyatlari (properties) va metodlari (functions) ga ega bo‘ladi.

📌 OOPning asosiy afzalliklari:
Katta loyihalarda kodni tartibli saqlash.
Dasturiy ta’minotni oson kengaytirish.
Kodni qayta foydalanish imkoniyati.

📌 OOP ning 4 asosiy prinsipi:
Encapsulation (Inkapsulyatsiya) – Ma’lumotlarni va funksionallikni yashirish, faqat kerakli qismlarga ruxsat berish.
Inheritance (Meros olish) – Bir sinfning boshqa sinfdan kodni meros qilib olishi va uni qayta ishlatishi.
Polymorphism (Polimorfizm) – Bir xil metod yoki funksiyaning turli sinflarda har xil ishlashi.
Abstraction (Abstraksiya) – Murakkab tafsilotlarni yashirib, faqat muhim qismlarni ochiq qoldirish.

🔥1️⃣ Encapsulation (Inkapsulyatsiya)

📌 Encapsulation foydalari:

Ma’lumotlarni himoya qiladi.
Kodni soddalashtiradi.
Xatoliklarni kamaytiradi.

📝 Misol:

double _balance = 0; // Private (yashirin) o‘zgaruvchi

// Getter - faqat o‘qish uchun
double get balance => _balance;

// Deposit - pul qo‘shish
void deposit(double amount) {
if (amount > 0) {
_balance += amount;
}
}

// Withdraw - pul yechish
void withdraw(double amount) {
if (amount > 0 && amount <= _balance) {
_balance -= amount;
}
}
}

void main() {
BankAccount account = BankAccount();
account.deposit(1000); // 1000 so‘m qo‘shildi
account.withdraw(500); // 500 so‘m yechildi
print("Hisobingiz: \${account.balance} so‘m"); // 500 so‘m
}


Tushuntirish:
🔹 _balance private (_ bilan boshlangan) – tashqaridan to‘g‘ridan-to‘g‘ri o‘zgartirib bo‘lmaydi.
🔹 deposit() va withdraw() metodlari orqali faqat ruxsat berilgan operatsiyalar bajariladi.
🔹 balance getter orqali hisobni faqat o‘qish mumkin.
🔥7👎2
🔥 2️⃣ Inheritance (Meros olish)

Inheritance – bitta sinf boshqa sinfning xususiyatlari va metodlarini meros qilib olishi.

📌 Inhertance foydalari

Kodning qayta foydalanish imkonini beradi – Asosiy sinf (parent class) yaratib, undan boshqa sinflar meros olishi mumkin. Har safar yangi kod yozishga hojat qolmaydi.
Loyiha tuzilmasini soddalashtiradi – Barcha umumiy xususiyatlar va metodlar bitta bazaviy sinfda jamlanadi.
Dastur kengaytiriluvchan bo‘ladi – Yangi xususiyat qo‘shish osonlashadi.

📝 Misol:

class Animal {
void makeSound() {
print("Noma’lum tovush");
}
}

// Dog sinfi Animal dan meros oladi
class Dog extends Animal {
@override
void makeSound() {
print("Vov-vov!"); // Itning ovozi
}
}

// Cat sinfi ham Animal dan meros oladi
class Cat extends Animal {
@override
void makeSound() {
print("Miyov-miyov!"); // Mushukning ovozi
}
}

void main() {
Animal myDog = Dog();
Animal myCat = Cat();

myDog.makeSound(); // "Vov-vov!"
myCat.makeSound(); // "Miyov-miyov!"
}

🎯 Tushuntirish

Animal – umumiy sinf bo‘lib, barcha hayvonlar uchun ishlatiladi.
Dog va Cat – Animal sinfidan meros olgan va makeSound() metodini o‘ziga xos tarzda o‘zgartirgan (override).
main() funksiyada har ikkala sinfning makeSound() metodi chaqirilganda, ularning o‘ziga xos ovozi chiqadi.
👍6❤‍🔥3👎2
🔥 3️⃣ Polymorphism (Polimorfizm)

Polimorfizm – bir xil metod turli sinflarda har xil tarzda ishlashi mumkinligini anglatadi. Bu prinsip kodni yanada moslashuvchan va kengaytiriladigan qiladi.

📌 Polimorfizmning foydalari

Kodning moslashuvchanligi – Turli obyektlar bir xil metodni o‘z uslubida ishlatadi.
Kodni qayta ishlatish – Bir xil interfeysdan foydalanib, har xil sinflarni yaratish imkonini beradi.
Oson kengaytirish – Yangi sinflar qo‘shilganda, mavjud kodni o‘zgartirish shart emas.

📝 Misol:

abstract class Payment {
void processPayment(double amount);
}

// Click to‘lov tizimi
class ClickPayment extends Payment {
@override
void processPayment(double amount) {
print(" Click orqali $amount so‘m muvaffaqiyatli to‘landi.");
}
}

// Payme to‘lov tizimi
class PaymePayment extends Payment {
@override
void processPayment(double amount) {
print("📲 Payme orqali $amount so‘m to‘landi. Rahmat!");
}
}

// Visa kartasi orqali to‘lov
class VisaPayment extends Payment {
@override
void processPayment(double amount) {
print("💳 Visa orqali $amount so‘m yechildi. Xizmatdan foydalaning!");
}
}

// To‘lovni amalga oshirish uchun funksiya
void makePayment(Payment payment, double amount) {
payment.processPayment(amount);
}

void main() {
makePayment(ClickPayment(), 100000); // Click orqali 100000 so‘m muvaffaqiyatli to‘landi.
makePayment(PaymePayment(), 200000); // 📲 Payme orqali 200000 so‘m to‘landi. Rahmat!
makePayment(VisaPayment(), 150000); // 💳 Visa orqali 150000 so‘m yechildi. Xizmatdan foydalaning!
}


🎯 Tushuntirish

🔹 Payment – abstrakt sinf bo‘lib, barcha to‘lov tizimlari uchun umumiy metod (processPayment) belgilaydi.
🔹 ClickPayment, PaymePayment, VisaPayment – har biri Payment sinfidan meros oladi va processPayment() metodini o‘z usulida override qiladi.
🔹 makePayment() funksiyasi har qanday to‘lov turini qabul qiladi, va shu obyektning processPayment() metodini chaqiradi.

Endi yangi to‘lov tizimi qo‘shilsa, asosiy kodni o‘zgartirish shart emas! Faqat yangi sinf qo‘shamiz va polimorfizm ishlaydi. 🚀
🔥8👎2🆒2
Flutter | Dev
Soon.. in playmarket
🚀 Google Play bilan navbatdagi sinov!

14 kunlik yopiq testdan o‘tdim! ilovam qachon chiqadi
Google: "Endi yana bir hafta kut..."
🙃 Men: "Tezroq chiqsin ilovam!"
😂 Google: "Bizda shoshilish yo‘q, sabrli bo‘l..."

📌 Xulosa: Dasturchilik nafaqat kod yozish, balki kutish bo‘yicha ham mahorat talab qilarkan! 😆

#Flutter #GooglePlay #DevLife
🤣7👎2
Do'stona maslaxat tinchgina eskiroq play console akk olavering qimmatroq bo'lsa ham
😎5👎3
Forwarded from IT with Bobur👨‍💻
Flutter interview uchun savollar:

Dart bilan bog'liq savollar

1. Dart tilida async va await qanday ishlaydi? Misol keltiring.
2. final va const o'rtasidagi farq nima? Qachon ishlatiladi?
3. Dart'da null safety nima va u qanday amalga oshiriladi?
4. List, Set va Map o'rtasidagi farqlarni tushuntiring.
5. Dart'da Future va Stream nimalar va ularning farqi nima?

Flutter asoslari
6. Flutter'da StatelessWidget va StatefulWidget o'rtasidagi farq nima? Misol bilan tushuntiring.
7. Flutter'da build metodi qanday ishlaydi va u nima uchun muhim?
8. setState funksiyasi nima qiladi va qachon ishlatiladi?
9. Flutter'da widget tree nima va u qanday tuzilgan?
10. MaterialApp va Scaffold widgetlarining vazifasi nima?

UI va Layout
11. Flutter'da Row va Column widgetlari qanday ishlaydi? MainAxisAlignment va CrossAxisAlignment nimalar?
12. Expanded va Flexible widgetlari o'rtasidagi farqni tushuntiring.
13. Flutter'da custom UI yaratish uchun CustomPainter qanday ishlatiladi?
14. Stack widgeti nima uchun ishlatiladi va qanday misollar keltira olasiz?
15. Responsive dizaynni Flutter'da qanday amalga oshirasiz?

State Management
16. Flutter'da state management uchun qanday yondashuvlar mavjud? Eng mashhurlarini sanab o'ting.
17. Provider paketidan foydalanishni qisqacha tushuntiring.
18. BLoC pattern nima va u Flutter'da qanday qo'llaniladi?
19. InheritedWidget qanday ishlaydi va qachon ishlatish kerak?
20. State management uchun Riverpod va GetX o'rtasidagi farqlarni taqqoslang.

Networking va API
21. Flutter'da http paketidan foydalanib API chaqiruvini qanday amalga oshirasiz?
22. REST API bilan ishlashda JSON ma'lumotlarni qanday parse qilasiz?
23. Flutter'da Dio va http paketlari o'rtasidagi farq nima?
24. API chaqiruvlari natijasini caching qilish uchun qanday yondashuvlardan foydalanasiz?
25. WebSocket’lardan Flutter’da qanday foydalanish mumkin?

Ma'lumotlar bazasi va saqlash
26. Flutter'da SharedPreferences qanday ishlaydi va qachon ishlatiladi?
27. sqflite yordamida SQLite bilan qanday ishlaysiz?
28. Flutter'da Hive va Moor o'rtasidagi farqlarni tushuntiring.
29. Ma'lumotlarni local saqlash uchun qaysi usullarni afzal ko'rasiz va nima uchun?
30. Flutter'da fayllarni o'qish va yozishni qanday amalga oshirasiz?

Performans va optimizatsiya
31. Flutter'da ilova performansini qanday optimallashtirasiz?
32. const konstruktorlar performansa qanday ta'sir qiladi?
33. Flutter'da ListView.builder va oddiy ListView o'rtasidagi farq nima?
34. Profilatsiya vositalaridan (masalan, Flutter DevTools) qanday foydalanasiz?
35. Flutter'da repaint va rebuild muammolarini qanday hal qilasiz?

Testing
36. Flutter'da unit testlarni qanday yozasiz? Misol keltiring.
37. Widget testlari va integration testlari o'rtasidagi farq nima?
38. mockito yordamida mock ob'ektlarni qanday yaratasiz?
39. Flutter'da test coverage-ni qanday o'lchaysiz?
40. Test yozishda qanday best practicelarga amal qilasiz?

Ilova deploy va CI/CD
41. Flutter ilovasini Android uchun APK yoki AppBundle sifatida qanday build qilasiz?
42. iOS uchun Flutter ilovasini App Store’ga joylashtirish jarayonini tushuntiring.
43. Flutter'da `flavor`lardan qanday foydalanasiz va ular nima uchun kerak?
44. CI/CD uchun GitHub Actions bilan Flutter loyihasini qanday sozlaysiz?
45. Code signing muammolarini Flutter'da qanday hal qilasiz?

@ITwithBobur 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8😐2
🏆 Flutter O‘rganmoqchi Bo‘lganlar Uchun Eng Zo‘r 3 YouTube Kanal

Agar siz Flutter o‘rganishni boshlagan bo‘lsangiz yoki bilimlaringizni chuqurlashtirmoqchi bo‘lsangiz, quyidagi YouTube kanallar sizga eng yaxshi qo‘llanma bo‘lishi mumkin.

1️⃣ HeyFlutter com
📌 Nega aynan shu kanal?

Flutter bo‘yicha eng yangi texnologiyalarni yoritadi.
Oson tushunarli darslar va amaliy loyihalar.
Yangi boshlovchilar va o‘rta darajadagi dasturchilar uchun mos.

👉 HeyFlutter Youtube kanali

2️⃣ Flutter Map
📌 Nima uchun tavsiya etamiz?

Flutter darsliklari juda sodda va tushunarli.
Qisqa lekin juda foydali video qo‘llanmalar.
Amaliy loyihalar orqali o‘rgatadi.

👉 Flutter Map YouTube kanali

3️⃣ Reso Coder
📌 Bu kanal kimlar uchun?

Flutter va Dartni chuqur tushunishni istaganlar uchun.
Bloc, Clean Architecture va advanced mavzularni o‘rgatadi.
To‘liq real loyihalar ustida ishlashni ko‘rsatadi.

👉 Reso Coder YouTube kanali

⚠️ Ingliz tilini bilish talab etiladi

@ayubxondevapps
🆒4👍3😐2
Flutterda WebSocket bilan ishlash: To'liq Qo'llanma

WebSocket — bu ikki tomonlama real-time aloqa uchun ishlatiladigan vosita bo‘lib, Flutter ilovalarida chat ilovalari, real vaqtli yangilanishlar va turli interaktiv xizmatlar yaratishda muhim rol o‘ynaydi. Ushbu maqolada Flutterda WebSocket bilan ishlashni ko‘rib chiqamiz.

1. WebSocket nima?

WebSocket — bu HTTP so‘rovlariga muqobil ravishda ishlatiladigan protokol bo‘lib, server va foydalanuvchi o‘rtasida doimiy ulanishni ta’minlaydi. Bu odatiy HTTP so‘rovlariga qaraganda kamroq kechikish va yuqori samaradorlikni ta’minlaydi.

2. WebSocket kutubxonasi va ulanish

flutter:
sdk: flutter
web_socket_channel: ^3.0.2


3. WebSocket ulanish va xabar jo‘natish


import 'package:web_socket_channel/status.dart' as status;

class WebSocketService {
late WebSocketChannel channel;

/// WebSocket serverga ulanish
void connect() {
channel = WebSocketChannel.connect(
Uri.parse('wss://echo.websocket.org'), // WebSocket server manzili
);
}

/// Xabar jo'natish
void sendMessage(String message) {
if (message.isNotEmpty) {
channel.sink.add(message); // Xabarni serverga yuborish
}
}

/// Serverdan kelayotgan xabarlarni olish
Stream getMessages() {
return channel.stream; // WebSocket stream orqali xabarlarni olish
}

// Xabarlarni tinglash
channel.stream.listen((message) {
print("Yangi xabar: $message");
}, onError: (error) {
print("Xatolik: $error"); // Xatoliklarni boshqarish
}, onDone: () {
print("Ulanish yopildi");
});
}

/// WebSocket ulanishini yopish
void disconnect() {
channel.sink.close(status.goingAway); // Ulanishni yopish
}
}
👍3🔥3👨‍💻1
😐5
Forwarded from Techie's Blog
Flutter projectni iOS da ishga tushirishda uchrayotkan muammolardan biri :

no such file '.../XCode/Derived Data/'

uchun yechim.

XCode -> Settings -> Location dan Derived Data ni custom qilib qo'yish kerak. Bunda tanlangan fayl tezda o'chib ketmasligini hisobga ham olish kerak.
👍9😐1
Ramazon hayiti muborak bólsin
👍4🥰4
flutter roadmap

@ayubxondevapps
👍7❤‍🔥33🔥1
Forwarded from UzGeeks Community
Assalom alaykum!!!
UzGeeksʼda Mobile kuni!


📌 5-aprel, shanba kuni Najot ta'lim, Chimboy filialida "UzGeeks Community April2025 Mobile Day Meetup" boʻlib oʻtadi.

⭐️ MeetUpʼda quyidagi spikerlar ishtirok etadi:

1️⃣ Flutterda backend imkoniyatlari bormi? Dart dasturlash tili ushbu holatga tayyormi?
Azizbek Kodirov (Flutter Developer @ Thinkland)

2️⃣ Dev, Staging, Production: Flutter Flavorlar bilan ishlash
Madina Agzamova (Mobile Developer @ UIC Group)

3️⃣ Ilovangiz tarmoq jihatdan yaxshi himoyalanganmi? Interceptorlar bilan mustahkam ilovalar yarating
Jahongir Qo'ziboyev (JAYSON KHAN) (Flutter Developer @ UIC Group)

🔄 Meetup odatiy ravishda bepul boʻlib, soat 14:00 da boshlanadi, unda qatnashish uchun UzGeeks.uz saytida roʻyxatdan oʻtish kerak.

📍Manzil: Najot ta'lim, Chimboy filliali

🎙Hamkorlar:
➡️ Najot ta'lim
➡️ Oʻzbekiston Respublikasi Raqamli texnologiyalar vazirligi;
➡️ Raqamli ta'limni rivojlantirish markazi;
➡️ Thinkland.

Sayt | Guruh | Kanal | Facebook
💫 Qo'llab quvvatlash uchun
👍53🔥3