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
3. WebSocket ulanish va xabar jo‘natish
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
}
}
Dart packages
web_socket_channel | Dart package
StreamChannel wrappers for WebSockets. Provides a cross-platform WebSocketChannel API, a cross-platform implementation of that API that communicates over an underlying StreamChannel.
👍3🔥3👨💻1
Forwarded from Techie's Blog
Flutter projectni iOS da ishga tushirishda uchrayotkan muammolardan biri :
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.
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
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
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
👍5⚡3🔥3
Flutter | Dev
https://play.google.com/store/apps/details?id=com.dic.randomic
Bunisini ham yuklab olinglar 50+ bo'lib qolsin😁
Assalomu Alaykum hammaga ,yangi app chiqarayotgandim play marketga,tester kerak bo'layapti,gmailingizni commentda yozib qoldirsangiz tester sifatida qo'shib qo'yardim,oldindan raxmat😊
android uchun:
https://play.google.com/store/apps/details?id=uz.vocab_master
Web uchun:
https://play.google.com/apps/testing/uz.vocab_master/
android uchun:
https://play.google.com/store/apps/details?id=uz.vocab_master
Web uchun:
https://play.google.com/apps/testing/uz.vocab_master/
👍4👌4
Flutter | Dev
Assalomu Alaykum hammaga ,yangi app chiqarayotgandim play marketga,tester kerak bo'layapti,gmailingizni commentda yozib qoldirsangiz tester sifatida qo'shib qo'yardim,oldindan raxmat😊 android uchun: https://play.google.com/store/apps/details?id=uz.vocab_master…
hammaga raxmat testerlar yetarli bo'ldi endi 14 kun ichida o'chirvormasanglar bo'ldi😁
Screenshot 2025-04-16 at 15.25.50.png
56.6 KB
Bunisi ham kechga chiqib qolsa aytaman yuklab ola verasizlar
Forwarded from Techie's Blog
Flutterda Deeplink.
Deeplink - bu link (URL linkka o'xshash) bo'lib, foydalanuvchilarni dasturni faqat ochish yoki asosiy oynasiga emas balki uning malum oynasiga yo'naltiradi va bu sotuvni yoki foydalanuvchining qiziqishini yanada orttiradi.
Flutterda deeplinklarning 4 hil turi mavjud:
1. Custom Scheme (URL sxema).
buchetapp://product/pionovidnye-rozy-659 ko'rinishida bo'ladi. Bu yerdagi buchetapp - custom protocol bo'lib dastur tomonidan registratsiya qilinadi. Va bu usul faqat dastur o'rnatilgan bo'lsagina ishlaydi aks holda xatolik yoki hech narsa yuz bermaydi. Bundan tashqari bu usul havfsiz emas chunki boshqa bir dastur ham sizning custom protocolingizdan foydalanishi mumkin.
2. App Links (Andrid specific)
https://buchet.uz/en/product/pionovidnye-rozy-659 ko'rinishda bo'ladi va faqat Android uchun ishlaydi. Ushbu link Digital Asset Links orqali verifikatsiya qilingan bo'linishi kerak. Shuning uchun bu havfsiz. Ushbu usul ham faqat dastur o'rnatilgan holatdagina ishlaydi. Agar o'rnatilmagan bo'lsa mos ravishda websitega o'tib ham ketishi mumkin.
3. Unversal Link (iOS specific)
https://buchet.uz/en/product/pionovidnye-rozy-659 ko'rinishida bo'ladi va App Link bilan bir hil ishlaydi faqat iOS uchun ishlaydi. Agar dastur o'rnatilgan bo'lsa dastur ochiladi aks holda Safari orqali website ochiladi. Domen orqali apple-app-site-association fayl o'rnatilgan bo'lishi kerak.
4. Deferred Link (Android&iOS)
Ushbu usul barcha turdagi linklarni qo'llab quvvatlaydi va asosan marketing va reklamalar uchun ishlatiladi. Bu usulning ustunlik tomoni dastur o'rnatilmagan bo'lsa mos ravishda PlayMarket yoki AppStoredan yuklashga o'tkazadi va birinchi ochilishidayoq malum oynaga yo'naltiriladi. Bu orqali foydalanuvchini birinchi marttadayoq yo'naltirilgan oynaga o'tkazish taminlanadi. Buning uchun malum servislardan foydanalish mumkin. Masalan Firebase Dynamic Links (bu yildan qo'llab quvvatlash to'xtalinadi), Branch, Adjust yoki Facebook Meta.
Deeplink - bu link (URL linkka o'xshash) bo'lib, foydalanuvchilarni dasturni faqat ochish yoki asosiy oynasiga emas balki uning malum oynasiga yo'naltiradi va bu sotuvni yoki foydalanuvchining qiziqishini yanada orttiradi.
Flutterda deeplinklarning 4 hil turi mavjud:
1. Custom Scheme (URL sxema).
buchetapp://product/pionovidnye-rozy-659 ko'rinishida bo'ladi. Bu yerdagi buchetapp - custom protocol bo'lib dastur tomonidan registratsiya qilinadi. Va bu usul faqat dastur o'rnatilgan bo'lsagina ishlaydi aks holda xatolik yoki hech narsa yuz bermaydi. Bundan tashqari bu usul havfsiz emas chunki boshqa bir dastur ham sizning custom protocolingizdan foydalanishi mumkin.
2. App Links (Andrid specific)
https://buchet.uz/en/product/pionovidnye-rozy-659 ko'rinishda bo'ladi va faqat Android uchun ishlaydi. Ushbu link Digital Asset Links orqali verifikatsiya qilingan bo'linishi kerak. Shuning uchun bu havfsiz. Ushbu usul ham faqat dastur o'rnatilgan holatdagina ishlaydi. Agar o'rnatilmagan bo'lsa mos ravishda websitega o'tib ham ketishi mumkin.
3. Unversal Link (iOS specific)
https://buchet.uz/en/product/pionovidnye-rozy-659 ko'rinishida bo'ladi va App Link bilan bir hil ishlaydi faqat iOS uchun ishlaydi. Agar dastur o'rnatilgan bo'lsa dastur ochiladi aks holda Safari orqali website ochiladi. Domen orqali apple-app-site-association fayl o'rnatilgan bo'lishi kerak.
4. Deferred Link (Android&iOS)
Ushbu usul barcha turdagi linklarni qo'llab quvvatlaydi va asosan marketing va reklamalar uchun ishlatiladi. Bu usulning ustunlik tomoni dastur o'rnatilmagan bo'lsa mos ravishda PlayMarket yoki AppStoredan yuklashga o'tkazadi va birinchi ochilishidayoq malum oynaga yo'naltiriladi. Bu orqali foydalanuvchini birinchi marttadayoq yo'naltirilgan oynaga o'tkazish taminlanadi. Buning uchun malum servislardan foydanalish mumkin. Masalan Firebase Dynamic Links (bu yildan qo'llab quvvatlash to'xtalinadi), Branch, Adjust yoki Facebook Meta.
👍9