Yangi Flutter Darslari 2024
Flutter darsliklarini asosiy narsalardan tortib to rivojlangan mavzulargacha va haqiqiy loyihalar bilan o'rganing! iOS va Android dasturlarini yaratish uchun Flutter SDK va Flutter Framework uchun to'liq qo'llanma.
Darslarni ko'rish uchun yuqoridagi 'START' tugmasiga bosing!
Git, XCode va Flutter SDK'ni o'rnatish
FREE PREVIEWAndroid Studio dasturini o'rnatish
FREE PREVIEWadb not found yoki XmlSchema xatoliklarini to'g'irlash
FREE PREVIEWVisual Studio Code dasturini o'rnatish va birinchi Flutter loyihasini ishga tushirish
FREE PREVIEWFoydali manbalar va linklar (havolalar)
FREE PREVIEWWindows Powershell va Git dasturini o'rnatish
FREE PREVIEWFlutter SDK'ni o'rnatish va tekshirish
FREE PREVIEWAndroid Studio dasturini o'rnatish va birinchi Flutter loyihasini ishga tushirish
FREE PREVIEWadb not found yoki XmlSchema xatoliklarini to'g'irlash
FREE PREVIEWVisual Studio Code dasturini o'rnatish
FREE PREVIEWBlueStacks dasturini o'rnatish
FREE PREVIEWFoydali manbalar va linklar (havolalar)
FREE PREVIEWFlutter dasturini ishga tushirish
FREE PREVIEWYaratilgan fayllar va papkalar
FREE PREVIEWAsosiy main.dart faylini tahlil qilish
FREE PREVIEWBarchasini noldan tushunib olish
FREE PREVIEWFlutter Asoslari
FREE PREVIEWKo'rinadigan va ko'rinmas vidjetlar
FREE PREVIEWFlutterning matn va tugmacha vidjetlari
FREE PREVIEWVidjet Asoslari
FREE PREVIEWO'zgaruvchan va o'zgarmas holatlar (ma'lumotni to'g'ri tahrirlash)
FREE PREVIEWO'zgaruvchan va o'zgarmas holatlar
FREE PREVIEWUyga vazifa (javobi)
FREE PREVIEWString
FREE PREVIEWInt va double
FREE PREVIEWBoolean 1-qism
FREE PREVIEWBoolean 2-qism (if else)
FREE PREVIEWBoolean 3-qism (qisqa if else)
FREE PREVIEWList 1-qism (Ro'yxatlar)
FREE PREVIEWList 2-qism (Ro'yxatlarning qo'shimcha metodlari)
FREE PREVIEWMap 1-qism (Kalitli ro'yxatlar)
FREE PREVIEWMap 2-qism (Map metodlari)
FREE PREVIEWList va Map (birlashtirish)
FREE PREVIEWDasturlashdagi qavslarning farqi
FREE PREVIEWSavol va javoblarni o'zgartirish
FREE PREVIEWList va Map orqali savol va javoblarni ko'rsatish
FREE PREVIEWRangeError xatosini to'g'irlash
FREE PREVIEWNatijani ko'rsatish
FREE PREVIEWRestart tugmasini qo'shish (Quizni qaytadan boshlash)
FREE PREVIEWWidget-larni alohida fayllarga ko'chirish va "Constructor" bilan ishlash
FREE PREVIEWDasturimizga tema berish va uni yakunlash, tabriklaymiz!
FREE PREVIEW2-Modulga kirish
Foydalanuvchilar ro'yxatini chizmasi
Yangi Vidjetlar (SafeArea, Expanded, ListView, Card, ListTile va boshqalar)
Constructor orqali ma'lumotlarni qabul qilish
Foydalanuvchilar ro'yxatini List va Map orqali ko'rsatish
Foydalanuvchini uchirish funktsiyasi va boshqa turdagi funktsiyalar
UI ustida ishlash (qo'shimcha dizaynlar)
Yangi font o'rnatish
Uyga vazifa va 3-modulga tayyorgarlik ko'rish
3-Modulga kirish
Problems va Debug Console bo'limlari
Debugger qurilmasini ishlatish
Flutter Dasturchilari qurollari (Flutter DevTools)
Dasturimizni ishlash faoliyatini oshirish
Foydali manbalar va havolalar
4-Modulga kirish
Algoritmlar bilan ishlash (1-qism) | stdin.readLineSync
Algoritmlar bilan ishlash (2-qism) | Juft yoki toq raqam?
Algoritmlar bilan ishlash (3-qism) | Foydalanuvchi kiritgan raqamga qarab ro'yxatdan ma'lumot olish
Algoritmlar bilan ishlash (4-qism) | for loops
Algoritmlar bilan ishlash (5-qism) | for ichida for
Algoritmlar bilan ishlash (6-qism) | for loops matnlar bilan (polindrom - uyga vazifa)
Algoritmlar bilan ishlash (7-qism) | Palindrom
RichText, TextSpan | Rejalar Dasturi 1-qism
Google fonts paketini o'rnatish |Rejalar Dasturi 2-qism
Bug (xato) to'g'irlash va rejalar ma'lumotini ko'rsatish
Rejalar ro'yxatini ko'rsatish
Ro'yxat joylashuvini to'g'irlash
Kalendarni ko'rsatish
Belgilangan sanani olish
Belgilangan sanani to'g'ri formatda ko'rsatish
Begilangan sanani oldinga va orqaga o'tkazish
Reja modelini yaratish
"Private" o'zgaruvchi va rejalar ro'yxati
"Icon" va reja matni uchun dizayn berish
Rejalarni o'chirish
Rejalar ma'lumotini ko'rsatish
Modal oyna ochish
Reja qo'shish uchun kerakli UI'ni yaratish
TextField klaviatura turlari
Kunni tanlash uchun kalendar
Rejani qo'shish funktsiyasi
Yangi reja qo'shish
Bekor qilish tugmasidan to'g'ri foydalanish
Modal oynani moslashuvchan qilish
Sana buyicha rejalarni ko'rsatish
Bo'sh ro'yxatni to'g'ri ko'rsatish
5-Modul uchun uyga vazifa
5-Modulga kirish
Turli xil o'lchamlarga va platformlarga moslashuvchanlik
5-modulimiz uchun yaratadigan dasturimiz
Loyihani ishga tushirish va kerakli dizayn berish
Dasturning yuqori qismini yaratish
Yuqori qismiga dizayn berish
Oyni tanlash paketi (month_picker_dialog)
Tanlangan oyni ko'rsatish
Tanlangan sanani formatini o'zgartirish
Oldingi va keyingi oylarga o'tish funktsiyalarini yaratish
"Stack" vidjeti va ustma ust tushadigan "Container"lar
Byudjet elementlarini yaratish
Progress Bar elementini yaratish
LinearGradient va RadialGradient
Xarajatlar ro'yxati ko'rinishini yaratish
Xarajatlar modelini va ro'yxatini yaratish
Yangi xarajat qo'shish uchun modal oyna yaratish
Belgilangan kunni ko'rsatish
Yangi xarajatni qo'shish
Xarajatlarni oy bo'yicha saralash
Umumiy xarajatni hisoblash va ko'rsatish
Byudjet limitini umumiy xarajatga bo'lgan nisbatini foizda ko'rsatish
Byudjet limitini miqdorini o'zgartirish
Byudjet limitini oldingi qiymati bilan ko'rsatish
Xarajatlar mavjud emasligini tekshirish va kerakli xabar qoldirish
ListView va ListView.builder farqlari
ListView ma'lumotlarini o'chirish
Xarajatni o'chirish
Uyga vazifa (Flutter icon picker)
Uyga vazifa javobi (Flutter icon picker-dan foydalanish)
Uyga vazifa javobi (Icon-ni xarajatlarga qo'shish)
Dasturimizni portrait holatda cheklab quyish
Switch widget-ini o'rnatish va moslashuvchan qilish
Qurilma o'lchamlari va LayoutBuilder
Qurilma o'lchamiga to'liq moslashuvchan qilish
Moslashuvchanlik buyicha test
Operatsion Tizimlarga moslashuvchanlik
Moslashuvchan TextField
Moslashuvchan Button va Takrorlash
Operatsion Tizimlar buyicha moslashuvchanlik testi
5-Modul uchun uyga vazifa
6-modulga kirish
Flutterda build qanday va qachon ishlaydi
Optimizatsiya qilish
Vidjetlar, Elementlar va build()
Yaxshi kod yozish
Widgetlar Hayoti
Dastur Hayoti va mixin
"context" nima?
Uyga vazifa
7-Modulga Kirish
Kategoriyalar oynasi
Kategoriyalar modeli
Navigator va yangi sahifaga o'tish
Sahifalar aro ma'lumot almashish 1-usul
pushNamed va routes
Scaffold va Navigator
Routes haqida ko'proq
Kategoriya ovqatlar oynasi
Ovqatlar modeli va dinamik ovqatlar ro'yxati
Meal Details sahifasi
Image Carousel yaratish
OnGenerateRoute va onUnknownRoute
Routes haqida Savol Javob
Kategoriyalar va Sevimli sahifalari (TabBar)
Kategoriyalar va Sevimli sahifalari (BottomNavigationBar) 1-qism
Kategoriyalar va Sevimli sahifalari (BottomNavigationBar) 2-qism
Like funksiyasi bilan ishlash
Sevimli ovqatlardagi muammoni hal qilish
ScaffoldMessenger orqali xabar ko'rsatish
Yon oyna yaratish
Yon oyna menu-larga kerakli linklarni o'rnatish
Tab va Push
Yangi sahifalarni pushReplacement orqali almashtirish
Mahsulotlar sahifasida barcha mahsulotlarni ko'rsatish
DropdownButton orqali kategoriyalar ro'yxatini ko'rsatish
Yangi ovqat yaratish uchun kerakli inputlar
Input qiymatlarini olish va kiritilgan rasm uchun "preview" yaratish
Yangi ovqatni ro'yxatga qo'shish
Yangi ovqatni mahsulotlar ro'yxatida ko'rsatish (muammoni hal qilish)
Push va PushReplacement
Mahsulotlarni o'chirish
7-modul uchun uyga vazifa
Foydali Havolalar
8-modulga kirish
Mahsulot modelini yaratish
Mahsulotlar ro'yxatini ko'rsatish
Dasturga dizayn berish va alohida faylga olish
State Management nima uchun kerak?
State va State Mangement haqida batafsil
"Provider" State Management turi
Provider paketini o'rnatish va foydalanish
"Extends" va "with" Mixin orqali nasl (yoki nusxa) olish
Turli joylarda ma'lumot o'zgarishini tinglash usullari
State va State Management
Provider orqali mahsulotni sevimli funktsiyasini amalga oshirish
ChangeNotifierProvider va ChangeNotifierProvider.value
"Provider.of" o'rniga "Consumer"dan foydalanish
Sevimli mahsulotlarni filter qilish va ma'lumot turlariga qarab setState ishlatish
State Management Haqida Ko'proq
Savatchaga mahsulot qo'shish
Bir nechta Provider-lar bilan ishlash
Cart Provider-ga o'lanish
Savatcha sahifasini yaratish va umumiy miqdorni ko'rsatish
Savatchadagi mahsulotlar ro'yxatini yaratish
Savatchadagi mahsulotlarni kamaytirish va ko'paytirish tugmachalari
Savatchadan mahsulotni o'chirish
Savatchadan mahsulotni o'chirishda foydalanuvchini ogohlantirish
Mahsulot haqida batafsil sahifasini yaratish
Buyurtmalar class/obyektini tayyorlash
Mahsulotlarni buyurtma qilish
Buyurtmalar sahifasini yaratish
Buyurtmalar mahsulotini batafsil ko'rsatish
8-modul 1-qism uchun uyga vazifa
Foydali Havolalar
8-modul 2-qismga kirish
Snackbar va Bekor Qilish tugmasi
MaterialBanner bilan ishlash
Mahsulotlarni boshqarish sahifasini yaratish
Mahsulot Qo'shish sahifasi va oldingi muammo
Form va TextFormField vidjetlaridan foydalanish
TextFormField-ni focus (e'tibor)-ini boshqarish
Multiple Input turidagi TextFormField va Focus-ni xotiradan o'chirish
Rasm URL uchun maxsus container
AlertDialog vidjeti bilan ishlash
Form ma'lumotlarini saqlash
Keyboard-ni va Focus-ni inactive (nofaol) qilish
Rasm URL-ni olish va uni ko'rsatish
Ma'lumotlarni tekshirish va kerakli xatoni foydaluvchiga ko'rsatish
Yangi mahsulotni qo'shish
Muammoni hal qilish
Mahsulotni tahrirlash vaqti keldi!
Mahsulotni o'chirishga imkon berish
8-modul 2-qism uchun uyga vazifa
Foydali Havolalar
9-modulga kirish
Qurilma xotirasi yoki Web Server
Flutter Dasturimizni Ma’lumotlar Bazasiga Ulash
Backend (Firebase)-ni tayyorlash
HTTP So'rovlarini yuborish
POST So'rovini yuborishga tayyorlash
Dart tilida 'Future' kelajak bilan ishlash
Dart tilida 'Future' haqida batafsil ma'lumot
Http So'rovlar & Future
Loading Spinner (Yuklash ko'rsatkichi) ko'rsatish
Xatolarni ehtiyotkorlik bilan hal qilish
"async" va "await" bilan ishlash
Ma'lumotlarni olish, initState & "of(context)"
Ma'lumotlarni foydalanuvchiga ko'rsatish
Refresh funktsiyasini amalga oshirish
PATCH so'rovlari orqali ma'lumotlarni yangilash
Ma'lumotni DELETE so'rovi orqali o'chirish
Ma'lumotni aqlli o'chirish va maxsus Exception "Istisno" yaratish va xatolarni qayta ishlash
Sizlar uchun Challenge!
"Sevimli" holatini aqlli tarzda yangilash
Buyurtmalarni Veb Serverda saqlash
Buyurtmalarni serverdan olish
"FutureBuilder" vidjetidan foydalanish va kodlarimizni yanada yaxshilash
10-modul uchun uyga vazifa
Foydali Havolalar
10-modulga kirish
Autentifikatsiya Qanday Ishlaydi?
Backend qismini tayyorlash
Autentifikatsiya UI qismini tayyorlash
Foydalanuvchini ro'yxatdan o'tkazish
Foydalanuvchini tizimga kiritish
Xatoliklarni bartaraf etish
Foydalanuvchi tokenini boshqarish va asosiy sahifaga kirish
"ProxyProvider" dan foydalanish va tokenni HTTP so'rovlariga biriktirish
Tokenni barcha so'rovlarga qo'shish
"Sevimli" holatini foydalanuvchilarga ulash
Mahsulotlarni foydalanuvchilarga biriktirish va Yaratuvchi tomonidan filtrlash
Foydalanuvchilarga buyurtmalarni biriktirish
Chiqish funksiyasini qo'shish
Foydalanuvchilarni avtomatik ravishda tizimdan chiqarish (biroz vaqtdan keyin)
Foydalanuvchilarning avtomatik kirishi
11-modul uchun uyga vazifa
Foydali Havolalar
11-Modulga kirish
State Management va nima uchun Bloc
Bloc o'zi nima va Cubit bilan Bloc farqi
Bloc, MVC va MVVM arxitekturalari
Stream, StreamBuilder va FutureBuilder
Cubit orqali Counter dasturini yaratish
BlocBuilder, BlocListener va BlocConsumer
O'zimiz istagan state(holat)larni yaratish va ular bilan ishlash
Bloc orqali Counter dasturini yaratish va Cubit bilan solishtirish
Loyihani dastur uchun yangilab olish va rejalar modelini yaratish
Rejalar ro'yxatini va TodoCubit-ini yaratish
Cubit orqali yangi reja qo'shish
Cubit orqali mavjud rejalarni tahrirlash va yangi Bloc strukturasiga moslashish
Cubit orqali rejalarni bajarildi va bajarilmadi qilish
Cubit orqali rejalarni o'chirish
Kodlarni ixchamlashtirish
Searchbar yaratish va rejalarni izlash
Bir Cubit'dan ikkinchi Cubit'ga aloqa o'rnatish
Rejalarni filter qilish va StreamSubscription bilan ishlash
Cubit-ni Bloc-ga o'zgartirish
Bloc State Mangement 2-qism
Loyihani yaratish va papkalar tuzilmasi
API bilan tanishib chiqish va ob-xavo modelini yaratish
API orqali ob-xavo ma'lumotini olish va API Serivice papkasi bilan ishlash
Repository bilan ishlash
WeatherCubit yaratish va Repository bilan aloqa o'rnatish
Ob-xavo interfeysi va yordamchi extension yaratish
Shaharni izlash va kerakli ob-xavoni ko'rsatish
Ob-xavo sozlamalar qismi
12-Modul uchun uyga vazifa
Foydali Havolalar
12-modulga kirish
GetX - Route Management haqida
GetX - Dependency Management haqida
GetX - State Management haqida
GetX - Bindings haqida
GetX - Utils (qo'shimcha imkoniyatlar) va uyga vazifa
13-Modulga kirish
Noldan animatsiyalar (to'liq qo'lda boshqariladi)
AnimatedBuilder vidjetidan foydalanish
AnimatedContainer bilan ishlash
FadeTransition va AnimatedDefaultTextStyle
Rasmlar bilan animatsiya
Hero animatsiyasi
Slivers vidjetlari bilan ishlash
Sahifalar aro animatsiyalar bilan ishlash
Butun sahifalar uchun bir xil animatsiya
13-modul uchun uyga vazifa
Foydali Havolalar
13-modul 2-qismga kirish
Sayohat joylar modelini yaratish
Sayohat joylari uchun provider yaratish
Sayohat joyini qo'shish sahifasi
Form inputlarni yaratish
Kameradan foydalanish
Rasmni ko'rsatish
Rasmni qurilma xotirasiga saqlash
Kodimizni yaxshiroq qilish
Yangi sayohat joyini qo'shish
Kichik muammoni bartaraf etish
Dasturni real qurilmada test qilib ko'rish
SQLite ma'lumotlar bazasi bilan yaratish
SQLite ma'lumotlar bazasiga ma'lumot kiritish
Bazadan ma'lumotlarni olish
Ma'lumotlarni ro'yxatda ko'rsatish
Manzil tanlash uchun kerakli UI yaratish
Hozirgi manzilni olish
Fayl saqlashdagi kichik tushunmovchilik
Google Maps-dan ro'yxatdan o'tish va manzil rasmini olish
Google Maps orqali manzilni tanlash
Manzilni marker orqali belgilash
Belgilangan manzilni olish
Manzil rasmini olish va manzilni to'g'ri formatga o'girish
Yangi sayohat joyini mazil bilan saqlash
Manzilni qurilma xotirasiga saqlash
Manzilni olishdagi kichik muammoni hal qilish
Sayohat joy ma'lumotlari sahifasi
14-modul uchun uyga vazifa
Foydali Havolalar
14-Modulga kirish
Firebase sozlamalarini to'g'irlash
Kerakli fayllarni yaratib olish
Kerakli paketlarni o'rnatish, "bug"-larni to'g'irlash va mo'jizaga guvoh bo'lish
Ma'lumotlarni ListView vidjetida ko'rsatish
Firestore-ga yangi ma'lumotlarni qo'shish
Firebase DEFAULT App xatoligini to'g'irlash va Authentication sahifasini yaratish
Validatsiya qilish va ma'lumotlarni o'zgaruvchiga saqlash
Foydalanuvchilarni ro'yxatdan o'tkazish
Kichik muammolarni xal qilish
IOSda kichik "bug"-ni xal qilish va foydalanuvchi ma'lumotlarini saqlash
Tizimga kirish va tizimdan chiqish funksiyalarini amalga oshirish
Firebase xavfsizlik qoidalari
Xabarlarni ko'rsatish va yuborish
Xabar yuborish funksiyasini yaxshilash
Xabarlarni chiroyli ko'rinishga olib kelish
Xabarlarni foydalanuvchiga mos ko'rsatish
Turli xil qurilmalarda sinab ko'rish
Xabar egasi nomini ko'rsatish
Foydalanuvchi uchun rasm yuklash funksiyasi
Rasm yuklanganini tekshirish va kerakli xabarni ko'rsatish
FirebaseStorage-ga fayl yo'klash
Yo'klangan fayl yo'lini saqlash va rasm hajmi va sifatini o'zgartirish
Android va real qurilmalarda ishlatib ko'rish va "bug"lar bilan ishlash
Foydalanuvchining rasmini xabarlarda ko'rsatish
Notifications (Xabarnomalar) qanday ishlaydi
Firebase Cloud Messaging paketini o'rnatish
Xabarnomani Android qurilma uchun sinab ko'rish
Belgilangan vaqtda va dastur faol bo'lmagan holatda xabarnoma yuborish va qabul qilish
iOS uchun notification sozlamalarini to'g'irlash
Xabarnoma yuborish uchun qurilmadan ruxsat so'rash
IOS qurilmada xabarnomani test qilib ko'rish
FirebaseMessaging.onMessage metodi bilan tanishish
FirebaseMessaging.onMessageOpenedApp metodi bilan tanishish
FirebaseMessaging funksiyalarini Android qurilmada sinab ko'rish
Xabarnomani avtomatik tarizda yuborish
Kichik o'zgarishlar va 14-modul xulosasi
Foydali Havolalar
15-modulga kirish
Loyihani yaratish va ishni boshlash
Android kodni Flutterda ishlatish
iOS kodni Flutterda sinab ko'rish
15-modul uchun xulosa
16-modulga kirish
Android qurilmasida test qilish va takomillashtirish
IOS qurilmasida test qilish va takomillashtirish
Dastur sozlamalarini to'g'irlash
Info.plist muhim qismi
Uchinchi tomon xizmatlarini tayyorlash
Dastur uchun icon va kirish sahifasini tayyorlash
Real qurilmada sinab ko'rish
Android qurilmada Splash Screen uchun orqa fon rangini sozlash
Android uchun App bundle faylini yaratish
Dasturimizni Play Store-ga joylashtirish
Dasturimizni App Store-ga joylashtirish
Chat dasturimizni UI qismini yaratish
Socket Client va Server'larni o'rnatib olish
Chat dasturimiz uchun kichik Login sahifasini yaratish
Chat dasturimizni rivojlantirish
Umumiy to'liq dars (jonli efirdan)
Flutter'da o'zimizning maxsus serverimizni yaratish
Riverpod Statement Management haqida