Mobile Developer Notes
49 subscribers
71 photos
11 videos
12 files
118 links
Mobile Developer Notes

Channel Admin: @mobiledeveloperr
Download Telegram
Forwarded from Mobile news (Murotxonov Anvarxon)
Bir vaqtlar android uchun #MDM project qilgandim, mana bugun #ios da #mdm ustida biroz ishladim izlandim va maʻlum bir kichik boʻlsa ham natijaga erishdim:

Masofadan turib iphone im yordamida #macbook imni #shutDown qildim , bu yaxshi #tajriba boʻldi
👍1🔥1👏1
Forwarded from Otabek’s I/O
🎉 Vibe Talking urfga kiradi

Kodni, xabarlarni, va matnlarni qo'lda yozish, o'rta asrlarga xos. VoiceLab Desktop bilan gapirib yozing. Barmoqlarni bukishni bas qiling, ovozli boshqaruvga o'ting.

Ushbu promokod bilan butun ekotizim uchun, Creator tarifiga 70% chegirma oling.

OTABEKSWE (faqat Creator tarifiga ishlaydi)

Mac Apple Silicon | Mac Intel | Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1
Forwarded from Jakhongir Rakhmonov - IT
Dasturchi sifatida tanlov qilish vaqti keldi
It is time to make a bet

Oxirgi bir necha yillarda dasturchilar hayoti tubdan o‘zgarib ketdi. Ishimizning kattagina qismini AI agentlar qilib bermoqda. Biz kundalik qiladigan ish esa shu AI agentlar bilan gaplashish bo‘lib qoldi. 

Bu esa quyidagi narsalarni keltirib chiqarmoqda:

1. Brainrot: dasturlash qobiliyatimiz kundan kunga yomonlashib bormoqda. Bu tabiiy. Biror ishni qanchalik kam qilsangiz shu ishni qilish qobiliyatingiz yomonlashib boraveradi. 

2. Satisfaction yo'q: ishimizdan "kayf" olmayapmiz. Oldin maza qilib soatlab biror muammo ustida chalg‘imasdan ishlay olar edik. "Flow state" ga tushar edik. Ishimizdan qoniqish olar edik. Hozir esa shu effektni beradigan ishni AI agentlar qilmoqda.

Kelajakda nima bo‘lishini hech kim bilmaydi. Balki bu narsa yomon emasdir. Balki hozirgi vaqt shunchaki adaptatsiya vaqtidir va keyinchalik bu jarayon yakun topgach ishimiz yana bir bor "kayf" olib kelishni boshlar.

Yoki, aynan shu brainrot va qoniqish yo‘qligi bir necha yildan so‘ng juda katta og‘riqqa sabab bo‘ladi. Yillab sport bilan shug‘ullanmasdan bir kun zalga chiqib tosh ko‘targanda qanday ahvolga tushamiz keyingi kuni? Xuddi shu kabi. Ketib qolgan bilimni qaytarib olish juda qiyin va og‘riqli bo‘ladi. 

Shuning uchun ham menimcha tanlov qilish vaqti keldi.

Yo AI ni to‘liqligicha qabul qilamiz. AI agentlarga kod yozdirishda davom etamiz. Dasturlash qobiliyatlarimiz tushib ketishini qabul qilamiz. "Kayf" ni esa boshqa joydan qidiramiz. Menimcha bu boshqa joy "domain expert" bo‘lishda. Ya’ni qaysi sohada ishlasangiz o‘sha narsani zo‘r tushunishda. Bu "robotics" bo‘ladimi, "fintech" bo‘ladimi, "database" bo‘ladimi, "edtech" bo‘ladimi. Bu narsa oldin ham juda muhim edi. Shunchaki bundan buyog‘iga yanada muhimlashib borsa kerak.

Yo qandaydir "middleground" topish kerak. Balki "tab, tab, tab" usuli eng ma’qul keladigan usuldir, hozirgi zamon uchun. Ya’ni, oldingidek code yozishda davom etamiz, shunchaki funksiyani yoki birorta class ni yozish vaqti kelganda AI o‘zi to‘ldirib beradi. Natijada "high level" qismini o‘zimiz boshqaramiz, o‘zimiz yozamiz. Mayda-chuydani AIga beramiz. Review qilish ham ancha osonlashadi. Flow state ham yo‘qolmaydi. Tizim qanday ishlashini ham yodimizdan chiqarib yubormaymiz.

Aniq bilmayman. Hech kim bilmaydi. Lekin menga qobiliyatim tushib ketayotgani hech yoqmayapti. 

Shuning uchun ham men keyingi bir necha oy mobaynida o‘zim uchun bir domain tanlab o‘sha domain experti bo‘lishga harakat qilmoqchiman. Code yozishda esa shu "tab, tab" usulidan foydalanib yozmoqchiman. "Flow state" dan chiqib ketmaslik uchun bu jarayon tez bo‘lishi shart. Shuning uchun frontier modellar (Fable, Sol va hokazolar) to‘g‘ri kelmaydi chunki ular yaxshigina sekin ishlaydi. Balki DeepSeek Flash modellar mosroqdir bu ish uchun. 

Ko‘ramiz.

@jakhonrakhmonov
👍1
Forwarded from Jakhongir Rakhmonov - IT
Vaqt tez o’tyapti.

Ko'zingizni yumib ochsangiz hafta tugagan bo'ladi.

Odamlar esa telefonda kundan kunga ko'proq "o'tirishmoqda".

Hisob kitob qilsangiz juda bir qiziq statistikaga kelish mumkin.

Agar kuniga 2 soat telefonda o'tirsangiz bu degani yiliga naqd bir oy vaqtingiz shunga ketgan bo'lar ekan.

Ha, to'xtamasdan. Ha, uhlamasdan. Ha, tinmasdan 1 oy telefon ekraniga qarab.

Kuniga 2 soat bo'lsa ham mayli edi. Hozir 3-4 soat telefonga qarash noodatiy hol emas.

Shunday ekan, vaqt tez o'tmasdan nima qilsin yana?

@jakhonrakhmonov
Forwarded from Mobile news (Murotxonov Anvarxon)
Tarjimasi: “dam olish dangasalik emas, sen ham insonsan” hurmat bilan, LinkedIn.
🔥1
Forwarded from Flutter Notes
Flutterning 3D yo'nalishida ham rivojlanayotgani ajoyib. Buni paket changelog-dagi description-lar ham aytib turibdi. Bugun flutterda 3D biror kichikroq dastur qilib ko'rmoqchi bo'ldim, albatta AI yordamida )

Lekin hali to'liq stable bo'lmagani uchun boshidanoq xatoliklar chiqishni boshladi, to'xtadim va stabilga chiqishini kutishga qaror qildim.

Aytgancha, 2D bilan ishlash uchun flame paketi stable bo'lgan va ishlatib ko'rishingiz mumkin. O'tgan yili 2D o'yin ham yasab ko'rgan edim, mabodo kimgadir qiziq bo'lsa.
👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Siroj Boltayev
DUNS olishga 5 kun ketdi. Shu paytgacha faqat mish mish eshitgandim kimlardir oylab vaqt ketkizgan kimlardir hafta yoki 15 kun.

Kimdir apple orqali soatlar ichida DUNS olsa bo'ladi deb aytdi.

Hulosa o'zimni tajribamdan. 20-may da https://support.dnb.com/?CUST=APPLEDEV orqali ariza yubordim va interfax.kz dan 1 kundan keyin mailimga xabar keldi. Va qo'shimcha ma'lumotlar so'rashdi. Va oradan 4 kun o'tib bugun DUNS raqam keldi.

Va uni global miqyosda tan olinishi uchun vaqt kerak bo'larkan 24-48 soat. Hammasi bo'lib 7 kunda be'malol tekinga olsa bo'larkan.

Qo'shimcha xizmat orqali app ni store larga joylashtirib yurgan odamlarga tavsiya baribir 25$ to'layabsiz undan yaxshisi o'ziz MCHJ ochib yuklasangiz yaxshi ekan. 430ming bilan MCHJ ochsa bo'ladi.
Forwarded from Mobile news (Murotxonov Anvarxon)
https://github.com/MurotxonovAnvarxon/sms_provider

Ayni damda men uchun yaxshi o'rganish bo'ldi, appda turib sms send qilishni ( sim karta ) sinab ko'rdim, faqat ba'zi kamchiliklar bor, permission masalasi biroz muammo:
https://www.youtube.com/watch?v=CkMCCeTzyUI


webSocketdan signal kelganda datani parse qilib , telefon nomerga sms send qilish, error handle oxirigacha yetmagan
Forwarded from Flutter Dev Talk
Flutter dastur iOSda yoki Androidda nativedek ko'rinishi kerak bo'lsa ushbu packagedan foydalanib ko'rilar. Package platformani automatik aniqlaydi va iOS uchun iOS26 LiquidGlass va eski iOS designi, Android uchun esa Material designdan foydalanadi. Kirib o'rganib chiqishni tavsiya beraman.
This media is not supported in your browser
VIEW IN TELEGRAM
💳 Apple Pay Özbekistonda

Apple Paydan qanday foydalaniladi?
1. Bank kartasini Wallet ilovasiga qöşaşiz.
2. Tölov qiliş vaqtida iPhonening yon tugmasini ikki marta bosasiz. Face ID yuzingizni tanib, şaxsingizni tasdiqlaydi.
3. iPhoneni tölov terminaliga yaqinlaştirasiz - tayyor! 🎉

Endi bank kartasini yoningizda olib yuriş şart emas - iPhonening özi kifoya!📱
Assalomualaykum

vibe code davrida live coding qilib swiftda MVI pattarnini qanday qilib loyihaga implement qilishni o'rgatishim kimgadur foydali yoki hech bo'lmasa qiziq deb o'ylaysizlarmi?
❤‍🔥6
Forwarded from Maniac4j
Protsedural OOP illyuziyasi: Kodimiz nima uchun aslida obyektga yo'naltirilmagan?

Batafsilroq maqolada oʻqishingiz mumkin 👇

https://publink.uz/technology/6772444-protsedural-oop-illyuziyasi-kodimiz-nima-uchun
Har bir SDK callback uchun alohida class yozishga majburmisiz? Men ham shunday deb o'ylardim.

Matrix Rust SDK bilan macOS ilova yozyapman. SDK'dagi har bir listener protokoli uchun alohida kichik class yozardim. Ularning ko'pi bitta ish qilardi: kelgan qiymatni boshqa joyga uzatish.

Keyin Element X iOS kodida SDKListener degan yechimni ko'rdim:

final class SDKListener<T>: Sendable {
private let onUpdateClosure: @Sendable (T) -> Void
init(onUpdateClosure: @Sendable @escaping (T) -> Void) {
self.onUpdateClosure = onUpdateClosure
}
}

extension SDKListener: RoomListEntriesListener
where T == [RoomListEntriesUpdate] {
func onUpdate(roomEntriesUpdate: [RoomListEntriesUpdate]) {
onUpdateClosure(roomEntriesUpdate)
}
}

Endi listener kerak bo'lgan joyda closure yozish kifoya:

list.entriesWithDynamicAdapters(pageSize: 50, listener: SDKListener<[RoomListEntriesUpdate]> { updates in
// ...
})


Buni o'rganish jarayonida 4 ta narsani tushundim:

1. where T == ... faqat cheklov emas. Shu shart bilan extension ichida T aniq turga aylanadi, noto'g'ri listener esa kompilyatsiyadan o'tmaydi.

2. Yashirin class yaratilmaydi. Class bitta, protokolga mos kelish esa kompilyatsiya paytida tekshiriladi.

3. Closure init ichida ishga tushmaydi, faqat saqlanadi. U SDK yangilanish yuborganda chaqiriladi.

4. @Sendable bezak emas. SDK callback'ni o'z thread'idan chaqiradi, kompilyator esa data race xavfini oldindan ushlaydi. Shu sabab bu closure `MainActor`'da ishlamaydi va UI'ni yangilashdan oldin unga o'tish kerak.

Bu har doim ham eng yaxshi yechim emas. Metodlari ko'p delegate'lar uchun alohida class ko'pincha tushunarliroq bo'ladi. Pattern qiymatni shunchaki uzatadigan, bitta metodli listener'larda eng foydali.

Eng katta saboq: yaxshi open source loyihalarning kodini o'qish, undan nusxa olishdan ko'ra ko'proq narsa beradi. Har bir qatorga "bu nega kerak?" deb savol bergandagina haqiqiy tushunish boshlanadi.

Siz ham shunday wrapper class'lardan qutulganmisiz? Qanday yo'l tutgansiz?

#Swift #iOSDev #macOS #Concurrency #OpenSource

@mobile_developer_notes
🔥1