Forwarded from Mirjalol Abdunazarov
🚀 Flutter Web’da OAuth – bu nima va nega kerak?
👨💻 OAuth (Open Authorization) – bu foydalanuvchilarga parol kiritmasdan, Google, Facebook, GitHub kabi xizmatlar orqali tizimga kirish imkonini beruvchi xavfsiz autentifikatsiya usuli.
🔥 OAuth’ning afzalliklari
✅ Tez va qulay login – Foydalanuvchilar akkaunt yaratmasdan, tayyor akkauntlari bilan tizimga kira oladilar.
✅ Yuqori xavfsizlik – Parol saqlash shart emas, bu esa xavfsizlikni oshiradi.
✅ Ko‘p platformali qo‘llab-quvvatlash – OAuth mobil, veb va desktop ilovalarida ishlaydi.
✅ Tashqi xizmatlarga ulanish – OAuth orqali Google, GitHub yoki Twitter API'laridan foydalanish mumkin.
⚠ OAuth’ning kamchiliklari
❌ Murakkab sozlash – OAuth integratsiyasi uchun client_id, redirect_uri kabi sozlamalarni to‘g‘ri belgilash kerak.
❌ Brauzer yo‘naltirish – Flutter Web ilovalarida OAuth autentifikatsiyasi foydalanuvchini brauzer orqali yo‘naltiradi, bu esa ba’zi holatlarda foydalanuvchilar uchun noqulay bo‘lishi mumkin.
❌ OAuth provayderga bog‘liqlik – Ba’zi xizmatlar cheklovlarga ega bo‘lishi yoki mamlakatlar bo‘yicha bloklanishi mumkin.
🔗 Eng yaxshi Flutter Web OAuth paketi:
OAuth paketi uchun havola
Flutter Web ilovalarida OAuth yordamida xavfsiz va tez tizimga kirish imkoniyatini yarating!
Youtube | Linkedin | Telegram
#flutter_web_auth #flutter
👨💻 OAuth (Open Authorization) – bu foydalanuvchilarga parol kiritmasdan, Google, Facebook, GitHub kabi xizmatlar orqali tizimga kirish imkonini beruvchi xavfsiz autentifikatsiya usuli.
🔥 OAuth’ning afzalliklari
✅ Tez va qulay login – Foydalanuvchilar akkaunt yaratmasdan, tayyor akkauntlari bilan tizimga kira oladilar.
✅ Yuqori xavfsizlik – Parol saqlash shart emas, bu esa xavfsizlikni oshiradi.
✅ Ko‘p platformali qo‘llab-quvvatlash – OAuth mobil, veb va desktop ilovalarida ishlaydi.
✅ Tashqi xizmatlarga ulanish – OAuth orqali Google, GitHub yoki Twitter API'laridan foydalanish mumkin.
⚠ OAuth’ning kamchiliklari
❌ Murakkab sozlash – OAuth integratsiyasi uchun client_id, redirect_uri kabi sozlamalarni to‘g‘ri belgilash kerak.
❌ Brauzer yo‘naltirish – Flutter Web ilovalarida OAuth autentifikatsiyasi foydalanuvchini brauzer orqali yo‘naltiradi, bu esa ba’zi holatlarda foydalanuvchilar uchun noqulay bo‘lishi mumkin.
❌ OAuth provayderga bog‘liqlik – Ba’zi xizmatlar cheklovlarga ega bo‘lishi yoki mamlakatlar bo‘yicha bloklanishi mumkin.
🔗 Eng yaxshi Flutter Web OAuth paketi:
OAuth paketi uchun havola
Flutter Web ilovalarida OAuth yordamida xavfsiz va tez tizimga kirish imkoniyatini yarating!
Youtube | Linkedin | Telegram
#flutter_web_auth #flutter
👍2👎2
Forwarded from MobilDasturchi.Uz (Azizbek Asqaraliyev)
🎉 Flutter 3.29 va Dart 3.7 chiqdi!
Yangilanishlar haqida bilishingiz kerak bo‘lgan muhim narsalar
💪 Yaqinda bo‘lgan yangilanishlardan keyin ham Flutter jamoasi bizga yangi imkoniyatlarni taqdim etdi. Eng muhim o‘zgarishlar:
⚡️ WEB uchun HTML-render olib tashlandi
Endi asosiy e'tibor CanvasKit va WebAssembly ga qaratilgan. Bu esa yanada yaxshi moslashuvchanlik va yuqori ishlash tezligini ta’minlaydi.
⚡️ Material va Cupertino o‘zgarishlari
✅ Circular va Linear ProgressIndicator endi Material3 standartiga to‘liq moslashgan. Ular yanada chiroyli va zamonaviy ko‘rinishga ega.
✅ CupertinoSheetRoute — iOS uslubidagi BottomSheet modallari uchun yangi imkoniyat. Oldin bunday effektlar uchun qo‘shimcha kutubxona o‘rnatish talab qilingan.
✅ CupertinoNavigationBar endi pastki (bottom) vidjetni qo‘llab-quvvatlaydi. Masalan, iOS uslubidagi qidiruv maydonini qo‘shish mumkin.
⚡️ Dvigatel yangilanishlari
✅ Impeller dvigatelida barqarorlik va ishlash tezligi yaxshilandi, Vulkan’da ba’zi muammolar tuzatildi.
✅ iOS’da Skia qo‘llab-quvvatlovi to‘liq olib tashlandi, bu esa tayyor ilovalar hajmini kichraytiradi.
⚡️ Kod endi asosiy oqimda bajariladi
Dart kodi endi alohida UI oqimida emas, asosiy oqimda bajariladi. Bu esa native funksiya lar bilan ishlashni tezlashtiradi!
🚀 Bu Flutter uchun katta qadam! Aytganlaridan amaliy natijagacha juda tez yetib kelishdi, bu esa juda quvonarli!
🖥 Batafsil ma’lumot rasmiy maqolada!
🔥 Siz ushbu yangilanishlarni kutgan edingizmi? Fikrlaringiz qanday?
Yangilanishlar haqida bilishingiz kerak bo‘lgan muhim narsalar
💪 Yaqinda bo‘lgan yangilanishlardan keyin ham Flutter jamoasi bizga yangi imkoniyatlarni taqdim etdi. Eng muhim o‘zgarishlar:
⚡️ WEB uchun HTML-render olib tashlandi
Endi asosiy e'tibor CanvasKit va WebAssembly ga qaratilgan. Bu esa yanada yaxshi moslashuvchanlik va yuqori ishlash tezligini ta’minlaydi.
⚡️ Material va Cupertino o‘zgarishlari
✅ Circular va Linear ProgressIndicator endi Material3 standartiga to‘liq moslashgan. Ular yanada chiroyli va zamonaviy ko‘rinishga ega.
✅ CupertinoSheetRoute — iOS uslubidagi BottomSheet modallari uchun yangi imkoniyat. Oldin bunday effektlar uchun qo‘shimcha kutubxona o‘rnatish talab qilingan.
✅ CupertinoNavigationBar endi pastki (bottom) vidjetni qo‘llab-quvvatlaydi. Masalan, iOS uslubidagi qidiruv maydonini qo‘shish mumkin.
⚡️ Dvigatel yangilanishlari
✅ Impeller dvigatelida barqarorlik va ishlash tezligi yaxshilandi, Vulkan’da ba’zi muammolar tuzatildi.
✅ iOS’da Skia qo‘llab-quvvatlovi to‘liq olib tashlandi, bu esa tayyor ilovalar hajmini kichraytiradi.
⚡️ Kod endi asosiy oqimda bajariladi
Dart kodi endi alohida UI oqimida emas, asosiy oqimda bajariladi. Bu esa native funksiya lar bilan ishlashni tezlashtiradi!
🚀 Bu Flutter uchun katta qadam! Aytganlaridan amaliy natijagacha juda tez yetib kelishdi, bu esa juda quvonarli!
🖥 Batafsil ma’lumot rasmiy maqolada!
🔥 Siz ushbu yangilanishlarni kutgan edingizmi? Fikrlaringiz qanday?
Medium
What’s new in Flutter 3.29
Enhancing Performance and Fidelity Across Platforms
👏8👎1
Forwarded from IT with Bobur👨💻
Flutterda Debounce va Throttle haqida.
Ushbu usullar ilovamizni samaraliroq ishlashini taʼminlash va ortiqcha resurs iste'molini oldini olishda juda muhim o‘rin tutadi.
Debounce – bu funksiya qisqa vaqt ichida qayta-qayta chaqirilishining oldini olish uchun qo‘llaniladigan usul. Masalan, foydalanuvchi matn kiritayotganda, har bir belgini yozishi bilan API so‘rovlari yuborilsa, serverga keraksiz yuk tushadi. Debounce yordamida esa, foydalanuvchi ma'lum vaqt davomida yozishni to‘xtatgach, bitta so‘rov yuboriladi. Shu tarzda, APIga bo‘lgan murojaatlar sezilarli darajada kamayadi va ilovaning ishlash samaradorligi oshadi.
Throttle – bu funksiya belgilangan vaqt oralig‘ida maksimal bitta marta chaqirilishni kafolatlaydi. Bu usul ayniqsa scroll hodisalari yoki tugmani bosish kabi tez-tez yuz beradigan voqealarda qo‘llaniladi. Misol uchun, foydalanuvchi cheksiz scroll qilganda, ilova har kichik scroll uchun yangilanishni amalga oshirishi o‘rniga, throttle yordamida yangilanishlar ma'lum intervallarda yuz beradi. Natijada, ilovangizning javob berish tezligi va ishlash samaradorligi yanada barqaror bo‘ladi.
Ushbu yondashuvlar yordamida siz ilovangizdagi keraksiz va tez-tez yuz beradigan so‘rovlar sonini kamaytirib, tizim resurslarini optimal darajada ishlatishingiz mumkin.
#Flutter
Ushbu usullar ilovamizni samaraliroq ishlashini taʼminlash va ortiqcha resurs iste'molini oldini olishda juda muhim o‘rin tutadi.
Debounce – bu funksiya qisqa vaqt ichida qayta-qayta chaqirilishining oldini olish uchun qo‘llaniladigan usul. Masalan, foydalanuvchi matn kiritayotganda, har bir belgini yozishi bilan API so‘rovlari yuborilsa, serverga keraksiz yuk tushadi. Debounce yordamida esa, foydalanuvchi ma'lum vaqt davomida yozishni to‘xtatgach, bitta so‘rov yuboriladi. Shu tarzda, APIga bo‘lgan murojaatlar sezilarli darajada kamayadi va ilovaning ishlash samaradorligi oshadi.
Throttle – bu funksiya belgilangan vaqt oralig‘ida maksimal bitta marta chaqirilishni kafolatlaydi. Bu usul ayniqsa scroll hodisalari yoki tugmani bosish kabi tez-tez yuz beradigan voqealarda qo‘llaniladi. Misol uchun, foydalanuvchi cheksiz scroll qilganda, ilova har kichik scroll uchun yangilanishni amalga oshirishi o‘rniga, throttle yordamida yangilanishlar ma'lum intervallarda yuz beradi. Natijada, ilovangizning javob berish tezligi va ishlash samaradorligi yanada barqaror bo‘ladi.
Ushbu yondashuvlar yordamida siz ilovangizdagi keraksiz va tez-tez yuz beradigan so‘rovlar sonini kamaytirib, tizim resurslarini optimal darajada ishlatishingiz mumkin.
#Flutter
👏4🔥2👍1👎1
Flutter | Dev
https://play.google.com/store/apps/details?id=uz.tic_tac_toe&pcampaignid=web_share
Assalomu Alaykum hammaga vanihoyat keyingi app play marketga chiqdi🥳🎉🎉🎉🎉
bu O'sha mashxur Tic Tac Toe-infinite qisqacha qilib aytganda x 0 o'yini bir tortib o'ynab ko'ringlar sizlarga albatta yoqadi
bu O'sha mashxur Tic Tac Toe-infinite qisqacha qilib aytganda x 0 o'yini bir tortib o'ynab ko'ringlar sizlarga albatta yoqadi
👍4👏2👎1
Ertalab sahar turib, ro’za tutayotgan birodarim,
Ramazon muborak bo’lsin, qalbing nurga to’lsin,
Duolaringiz qabul bo’lib, sabringiz mukofot bo’lsin,
Allohning rahmati har doim sizga yor bo’lsin!😌
Ramazon muborak bo’lsin, qalbing nurga to’lsin,
Duolaringiz qabul bo’lib, sabringiz mukofot bo’lsin,
Allohning rahmati har doim sizga yor bo’lsin!😌
🥰7👎1
Forwarded from MobilDasturchi.Uz (Azizbek Asqaraliyev)
Dart 3.8 yangilik! 🚀
Endi Null-aware elements yordamida kolleksiyalarda null tekshiruvini ancha qisqartirish mumkin!
Masalan, quyidagi kod:
endi shunday yoziladi:
Yuqoridagi ?widget.child yozuvi null bo‘lmagan taqdirda faqat widget.child ni qo‘shadi. Kode ancha ixcham va tushunarli bo‘ldi!
Siz bu "shirin" imkoniyatni kutyapsizmi? 🫠
👍 – Ha, albatta!
👌 – Chiqqanda ko‘ramiz
👎 – Foydasini ko‘rmayapman
@dasturchiMobile
Endi Null-aware elements yordamida kolleksiyalarda null tekshiruvini ancha qisqartirish mumkin!
Masalan, quyidagi kod:
Stack(
fit: StackFit.expand,
children: [
const AbsorbPointer(),
if (widget.child != null) widget.child!,
],
)
endi shunday yoziladi:
Stack(
fit: StackFit.expand,
children: [
const AbsorbPointer(),
?widget.child,
],
)
Yuqoridagi ?widget.child yozuvi null bo‘lmagan taqdirda faqat widget.child ni qo‘shadi. Kode ancha ixcham va tushunarli bo‘ldi!
Siz bu "shirin" imkoniyatni kutyapsizmi? 🫠
👍 – Ha, albatta!
👌 – Chiqqanda ko‘ramiz
👎 – Foydasini ko‘rmayapman
@dasturchiMobile
👍4🆒3👎2
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 💻
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. 🎯
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