Mobil va desktop dasturlash yo'nalishlari

Web dasturlash — dasturlashning bitta yo’nalishi, xolos. Telefoningizdagi ilovalar va kompyuteringizdagi dasturlar ham kimdir tomonidan yozilgan. Bu darsda mobil (telefon) va desktop (kompyuter) dasturlash yo’nalishlari bilan tanishamiz.
Mobil dasturlash
Mobil dasturlash — telefon va planshet uchun ilovalar yaratish. Ikki asosiy platforma bor va har birining o’z tili:
| Platforma | Asosiy tillar |
|---|---|
| Android | Kotlin, Java |
| iOS (iPhone) | Swift |
Muammo shundaki, Android va iOS uchun alohida yozish — ikki barobar ish. Shuning uchun cross-platform (ikkala platforma uchun bitta kod) yechimlari mashhur: Flutter (Dart tili) va React Native (JavaScript). Ular bitta koddan ikkala platformaga ilova chiqaradi.

Android va iOS uchun alohida texnologiyalar bor, Flutter va React Native esa bitta kodni ikki platformaga chiqaradi.
Desktop dasturlash
Desktop dasturlash — Windows, macOS yoki Linux uchun dasturlar yaratish: matn muharrirlari, grafik dasturlar, buxgalteriya tizimlari. Brauzer talab qilmaydi — dastur to’g’ridan-to’g’ri kompyuterda ishlaydi.
Ishlatiladigan tillar: C# (Windows), C++, Python (masalan Tkinter yoki PyQt kutubxonalari bilan). Ko’p zamonaviy desktop dasturlar hatto web texnologiyalari (Electron) bilan ham yoziladi.
Qaysi yo’nalishni tanlash
Har yo’nalishning o’ziga xosligi bor, lekin tanlov ko’pincha maqsadga bog’liq:
- Telefon ilovasi yasamoqchimisiz — mobil (Flutter yaxshi start).
- Kompyuter dasturi — desktop.
- Sayt — web.

Maqsadingizga qarab mobil, desktop yoki web yo’nalishini tanlaysiz, ammo avval dasturlash asoslarini o’rganasiz.
Boshida qat’iy tanlov shart emas: dasturlash asoslari — o’zgaruvchi, shart, funksiya — barchasida bir xil. Ularni o’rgangach, yo’nalishga o’tish oson.
Qurilma va foydalanuvchi holati
Mobil ilova kichik ekran, sensorli boshqaruv, turli internet sifati va batareya cheklovi bilan ishlaydi. Desktop dasturi esa katta ekran, klaviatura, sichqoncha va ko’p oynali ish jarayonidan foyda oladi. Shu farq faqat dizayn emas: bir amal necha bosishda bajarilishi, ma’lumot offline saqlanishi va xato xabari qayerda ko’rinishi ham platformaga bog’liq.
Masalan, ombor dasturida desktop versiya katta jadval, klaviatura yorliqlari va skaner bilan qulay bo’lishi mumkin. Yetkazib beruvchi uchun mobil versiyada esa manzil, kamera va GPS muhimroq. Bir mahsulot har ikki joyda bo’lishi mumkin, ammo foydalanuvchi vazifasi har xil bo’lgani uchun interfeys ham bir xil ko’chirilmaydi.
Platforma tanlash savollari
Loyiha boshlanishida quyidagilarni yozing: foydalanuvchi qayerda va qaysi qurilmada ishlaydi, internet doim bormi, kamera yoki joylashuv kerakmi, ma’lumot qanchalik maxfiy, yangilanish qanday yetkaziladi? Javoblar native mobil ilova, web ilova yoki desktop dastur tanloviga ta’sir qiladi. “Hamma joyda ishlasin” talabi hamma funksiyani barcha joyga bir xil ko’chirish degani emas.
Kichik mashq
Bir vazifani tanlang: dars jadvali, buyurtma qabul qilish yoki xarajatlar hisobi. Uni mobil va desktopda ishlatadigan odam uchun ikkita qisqa foydalanuvchi hikoyasini yozing. Qaysi ma’lumot mobil ekranda birinchi turadi, desktopda qaysi qo’shimcha jadval kerakligini solishtiring. Bu mashq platformani texnologiya nomi bilan emas, foydalanuvchi vazifasi bilan tanlashga o’rgatadi.
Native, web va cross-platform
Mobil ilova native usulda, ya’ni Android yoki iOS uchun alohida yozilishi mumkin. Bu qurilma imkoniyatlari, kamera, bildirishnoma va ishlash tezligi bilan chuqur integratsiya kerak bo’lganda qulay. Cross-platform vosita esa bitta kod bazasi bilan ikki platformaga yaqin natija berishga harakat qiladi. Web ilova brauzerda ochiladi va o’rnatish talab qilmasligi mumkin. To’g’ri tanlov nomga emas, foydalanuvchi vazifasi, byudjet, jamoa va kerakli qurilma imkoniyatiga bog’liq.
Desktop dasturi ham o’z o’rniga ega. Murakkab jadval, ko’p fayl, professional klaviatura yorlig’i, katta ekran yoki offline ishlash muhim bo’lsa, desktop tajribasi qulay bo’lishi mumkin. Lekin yangilanishni yetkazish, turli operatsion tizimlarni sinash va o’rnatish jarayoni ham rejalashtiriladi.
Offline va sinxronlash
Mobil foydalanuvchi tarmoqsiz yoki sekin tarmoqda bo’lishi mumkin. Shuning uchun ilova qaysi ma’lumotni qurilmada vaqtincha saqlashi, aloqa qaytganda server bilan qanday sinxronlashi va ikki joyda bir xil ma’lumot o’zgarganda qaysi qoida ishlashini bilishi kerak. Offline belgisi foydalanuvchiga ko’rinishi, yuborilmagan amal yo’qolmasligi va takror yuborilmasligi muhim.
Masalan, kuryer buyurtmani yetkazildi deb belgilasa, internet yo’q paytda amal navbatda saqlanishi mumkin. Internet qaytgach serverga yuboriladi. Server esa buyurtma avval o’zgartirilganmi, foydalanuvchi bunga ruxsatlimi, tekshiradi. Bu oddiy tugma ortida ma’lumot ishonchliligi va ruxsat qoidasi borligini ko’rsatadi.
Interfeysda platforma odatlari
Mobil ekranda barmoq bilan bosish uchun tugma yetarli katta, matn o’qiladigan, asosiy amal bosh barmoq yetadigan joyda bo’lishi kerak. Desktopda esa hover, o’ng tugma, bir nechta ustun va klaviatura yorliqlari ko’proq ishlatiladi. Bir interfeysni shunchaki kichraytirish responsive dizayn emas; vazifa va e’tibor tartibi qayta ko’rib chiqiladi.
Accessibility ikkala platformada ham muhim. Fokus holati, ekran o’qigich uchun nom, yetarli kontrast va rangdan tashqari signal kerak. Mobil qurilmada qurilma shriftini kattalashtirgan foydalanuvchi uchun layout buzilmasligi ham tekshiriladi.
Loyihani chiqarish
Ishlab chiqish va chiqarish jarayoni
Ilova chiqarilishidan oldin haqiqiy qurilma, kichik va katta ekran, eski tizim versiyasi, sekin tarmoq va xato holati sinovdan o’tadi. Mobil do’konlar review qoidasi va ruxsatlar bilan ishlashi mumkin; desktopda o’rnatgich, yangilanish va antivirus reaksiyasi muhim. Har platforma uchun release checklist bo’lishi xatoni kamaytiradi.
Amaliy mashq
Taksi buyurtma ilovasini tasavvur qiling. Yo’lovchi uchun mobil ekranda qaysi uch ma’lumot birinchi turadi? Operator uchun desktop ekranda qaysi jadval va filter kerak? Internet uzilsa haydovchi holatini qanday saqlaysiz? Shu savollarga javob yozib, bir xil biznes vazifasi turli platformada nega turlicha interfeys talab qilishini tushuntiring.
Ma’lumot xavfsizligi va ruxsatlar
Mobil dastur kamera, joylashuv, kontakt yoki bildirishnoma ruxsatini so’rashi mumkin. Ruxsat faqat funksiya uchun zarur bo’lganda, foydalanuvchiga aniq sabab bilan so’raladi. Joylashuv kerak bo’lmagan ekran uni so’ramasligi, foydalanuvchi rad etsa ilova asosiy imkoniyatlari tushunarli holatda ishlashi kerak. Keraksiz ruxsat ishonchni kamaytiradi va xavfsizlik xavfini oshiradi.
Qurilmada saqlangan ma’lumot ham himoyalanadi. Boshqa odam telefonni olsa, session va maxfiy ekranlar qanday boshqarilishi, logout nima qilishi, offline fayl qanchalik uzoq saqlanishi kabi qoidalar belgilanadi. Serverga yuborilgan ma’lumot HTTPS orqali ketadi, lekin bu qurilmaning o’zidagi himoyani almashtirmaydi.
Natijani o’lchash
Platforma tanlovi taxmin bilan emas, foydalanuvchi kuzatuvi bilan tekshiriladi. Asosiy vazifa necha bosishda bajarildi, qaysi ekranda foydalanuvchi to’xtadi, qaysi xato ko’p uchradi, sahifa qancha vaqtda ochildi — shularni o’lchang. Lekin shaxsiy ma’lumotni keragidan ortiq yig’mang; analitika ham maqsad va ruxsat qoidalariga mos bo’lishi kerak.
Kichik loyiha uchun ham uchta foydalanuvchiga sinab ko’ring. Ular tugmani topa oladimi, xato xabarini tushunadimi, tarmoq uzilganda nima sodir bo’lishini anglaydimi? Kuzatuv dizayn haqidagi taxmindan ko’ra ishonchliroq dalil beradi. Sinov natijasiga qarab ekranning ustuvor qismini, tugma matnini yoki offline xabarini yaxshilang.
Release oldidan checklist
Mobil yoki desktop ilovani chiqarishdan oldin haqiqiy qurilmada kirish, asosiy amal, xato holati va logoutni sinang. Ekran kichikligida matn kesilmasin, katta shrift yoqilganda tugmalar yo’qolmasin, offline holat tushunarli bo’lsin. Ruxsat rad etilganda ilova nima qilishini, yangilanishdan keyin eski ma’lumot saqlanishini va asosiy ma’lumot server bilan to’g’ri sinxronlashishini ham tekshiring.
Releasedan keyin foydalanuvchi xabarlari va xato ko’rsatkichini kuzating. Muammo aniqlansa, avval uni takrorlang, keyin kichik tuzatish chiqaring. Bu jarayon platformadan qat’i nazar ishonchli mahsulot yaratishning asosidir.
Qisqacha xulosa
Har platformada foydalanuvchi vazifasi, xavfsizlik, tarmoq holati va qurilma cheklovini birgalikda baholang va natijani doim sinov bilan tasdiqlang.
- Mobil dasturlash — telefon ilovalari: Android (Kotlin), iOS (Swift).
- Cross-platform (Flutter, React Native) — bitta koddan ikkala platforma.
- Desktop dasturlash — kompyuter dasturlari: C#, C++, Python.
- Bir tilni bilsangiz, yo’nalishlar orasida o’tish osonlashadi.
- Boshida yo’nalish emas, asoslarni o’rganish muhim.
Keyingi darsda qurilma dasturlash va sun’iy intellekt — eng zamonaviy yo’nalishlarni ko’ramiz.