Reja: 1: Mobil ilovalar


Download 0.92 Mb.
Pdf ko'rish
bet4/18
Sana14.05.2023
Hajmi0.92 Mb.
#1462018
1   2   3   4   5   6   7   8   9   ...   18
Bog'liq
Mobil ilovalarni kross-platformali dasturlash

mahalliy rivojlanish 
Mahalliy rivojlanishda barcha uchta qatlam bir xil vositalar to'plamidan foydalangan 
holda yoziladi. Shuning uchun ular hech qanday qo'shimcha murakkabliksiz bir-biri 
bilan o'zaro aloqada bo'lishlari mumkin. 


Mahalliy rivojlanishning afzalliklari: 
Gibrid rivojlanish 
Rivojlanishning bu turi avvalgi ikkala yondashuvni ham birlashtiradi. Biznes 
mantiqiy qatlami "portativ" komponent sifatida qurilgan va UI va platforma 
integratsiyasi standart vositalar yordamida yaratilgan. Umumiy mantiqni yozish 
uchun bir nechta tillar mavjud: C/C++ (etuk va kuchli), KotlinNative (juda faol 
ishlab chiqilgan) va JavaScript (eng kam tarqalgan). 
Afzalliklari: 

buning uchun eng mos komponentlar mahalliy bo'lib qoladi; 

umumiy mantiq bir marta yaratiladi. 
Kamchiliklari: 

agar umumiy komponent mobil guruh tomonidan yaratilsa, unda boshqa tilda 
tajriba olish kerak; 

o'zaro platforma komponentlarini integratsiya qilish uchun qo'shimcha 
xarajatlar mavjud. 
Qaysi turdagi rivojlanishdan boshlash yaxshiroq? 
Bu savolga javob berish uchun siz qanday turdagi loyihalarni yaratmoqchi 
ekanligingizni tushunishingiz kerak. Kichik loyihalar faqat o'zaro faoliyat platforma 
bo'lishi mumkin va bu to'liq oqlanadi. Bu erda men sizga Flutterni yaqindan ko'rib 
chiqishni maslahat beraman. 
Ammo bugun men mahalliy rivojlanishdan boshlardim. Birinchidan, bugungi kunda 
aksariyat 
loyihalar 
mahalliy 
ravishda 
yaratilgan. 
Bu 
sizning 
loyihalarni/kompaniyalarni 
o'zgartirish 
uchun 
ko'proq 
imkoniyatga 
ega 
bo'lishingizni anglatadi. Ikkinchidan, vaqt o'tishi bilan gibrid kross-platforma 
rivojlanishiga o'tish mumkin bo'ladi. Bu sizga texnik masalalarda o'sishga imkon 
beradi. 
Yangilash Pastga tushirish 
Menimcha, eng yaxshisi, mahalliy tildan boshlash, keyin esa, agar chindan ham 
xohlasangiz, bir yoki bir nechta platformalararo vositalarni o'zlashtiring. Istisno 
o'yinlarning rivojlanishi bo'lishi mumkin, chunki ular asosan Unity-da yozilgan va 
bu kross-platforma dvigatelidir. 
Agar biz mahalliy rivojlanishning afzalliklari haqida gapiradigan bo'lsak, dasturchi 
uchun bu kamroq to'siqlar va ishlash uchun ko'proq turli vositalarni anglatadi. 
Shuningdek, u ilova yaratish jarayonida yuzaga keladigan murakkab muammolarni 
hal qilish uchun ko'proq ma'lumot manbalariga ega bo'ladi - hech kimga sir emaski
Internetda o'zaro faoliyat platformalarni ishlab chiqishdan ko'ra mahalliy rivojlanish 
uchun ko'proq maslahatlar va fokuslar mavjud. 


Yakuniy foydalanuvchi uchun mahalliy ishlab chiqish ilovaning tanish, bashorat 
qilinadigan interfeyslar va xatti-harakatlar namunalariga ega bo'lishini anglatadi - 
agar dastur barcha qo'llanmalarga muvofiq yozilgan bo'lsa. 
O'zaro platforma ilovasi har doim ham ikkala platformaning ko'rsatmalariga to'liq 
mos kelavermaydi va bu ishlab chiquvchi va foydalanuvchi uchun qo'shimcha 
qiyinchiliklarni keltirib chiqarishi mumkin. 
Eng oddiy misol
- "Orqaga" tugmasi 
bilan bog'liq vaziyat: Androidda u deyarli barcha ekranlarda mavjud, iOSda esa yo'q. 
Agar siz ushbu tugmasiz platformalararo dastur yaratsangiz, ba'zi Android 
foydalanuvchilari noqulayliklarga duch kelishlari mumkin. 
Rivojlanish xarajatlaridagi farqlarni ham eslatib o'tish kerak. Agar loyiha oddiy 
bo'lsa, unda o'zaro faoliyat platformalarni ishlab chiqishni tanlash sizga byudjetni 
tejash imkonini beradi, chunki aslida siz turli platformalar uchun alohida 
mahsulotlarni ishlab chiqmayapsiz, lekin hamma uchun bitta. Ammo agar loyiha 
o'sib chiqsa, unda tarozi boshqa yo'nalishda egilib, mahalliy rivojlanish yanada 
foydali bo'lishi mumkin. 
Ilovalar tezligiga kelsak, o'zaro faoliyat platformali mahsulotlar sekinroq. Masalan, 
veb-texnologiyalarga asoslanganlar qatlam sifatida brauzerga ega, bu esa dasturni 
sezilarli darajada sekinlashtiradi. 
Yangilash Pastga tushirish 
O'zaro platforma yoki mahalliy yondashuvni tanlash aslida ikkita omilga bog'liq: siz 
shaxsan qilmoqchi bo'lgan mobil rivojlanish tabiati yoki siz ishlashga qiziqqan ish 
beruvchilarning iltimosiga. Masalan, agar biz Upwork (loyihalar va vazifalar uchun 
masofaviy mutaxassislarni topish platformasi) ni ko'rib chiqsak, Xamarin va React 
Native yo'nalishidagi takliflarning aniq ustunligini ko'rishimiz mumkin. Bu erda 
afzalliklar aniq: bu arzon, tez va bir vaqtning o'zida barcha platformalarda 
loyihalarni amalga oshirish imkonini beradi. Ammo, agar biz yirik IT-
kompaniyalarni uyda xodimlarni qidirish bilan hisobga olsak, bu tur ko'proq vaqt 
talab qilishi va qimmatroq bo'lishiga qaramay, mahalliy rivojlanishga katta e'tibor 
beriladi. 
Kompaniyamizda biz mahalliy rivojlanishni birinchi o'ringa qo'yamiz va tanlaymiz, 
chunki bu dizaynerlar va ishlab chiquvchilarga yumshoqroq, intuitiv UX/UI yaratish 
imkonini beradi. Bundan tashqari, mahalliy rivojlanish tizim funktsiyalari ustidan 
ko'proq moslashuvchan nazoratni beradi. 
Yangilash Pastga tushirish 
Agar siz mobil dasturchi bo'lishni istasangiz, javob aniq: siz har qanday mahalliy 
ishlab chiqish muhitini tanlashingiz va iOS uchun Objective-C/Swift yoki Android 
uchun Java/Kotlin-ga tayanishingiz kerak. Bunday holda, tizimning barcha 
xususiyatlari sizning xizmatingizda, siz deyarli har bir nuanceni nazorat qilishingiz 
mumkin. 
Agar siz shunchaki telefonlarda ham ishlaydigan dastur yozmoqchi bo'lsangiz, unda 
siz ko'p o'ylay olmaysiz va qalbingiz nimada ekanligini yoki nimada muhim 


tajribangiz borligini tanlay olmaysiz: C ++, React Native, Xamarin yoki besh yuz 
ming. O'zaro platformalarni ishlab chiqish uchun JS ramkalari. Yoki o'zingizning 
[javob beruvchi] veb-saytlaringizni yaratishda davom eting. 
Rostini aytsam, men Android va iOS kabi turli xil (va turli xil) platformalarda o'zaro 
platformalarni ishlab chiqish g'oyasiga juda shubha bilan qarayman. Sotuvchilarning 
hech biri bir vaqtning o'zida ikkita stulda o'tirishga harakat qilayotgan "noto'g'ri" 
ishlab chiquvchilarni yoqtirmaydi. Hamma dasturchilarni asboblar va muhitlarga 
bog'lashga harakat qilmoqda va yaqin kelajakda birlashish tendentsiyasi yo'q. Nima 
deyishim mumkin, Apple bu poygada Curl-dan keyin barcha kutubxonalar ichida 
eng ko'p o'zaro faoliyat platformasi bo'lgan OpenGL-dan ham voz kechdi, ammo 
endi ular o'zlarining Metalllariga ega bo'lib, xuddi shu narsani qiladilar, faqat 
yaxshiroq va boshqa tilda. 
Boshqa tomondan, ko'pincha mobil ishlab chiqish ba'zi tarmoq xizmatlari uchun bir 
xil ko'rinadigan ikkita dasturni yaratishdir. Mijozlar har doim ham bir-biridan farq 
qilib bo'lmaydigan ikkita mahsulot uchun pul to'lashga tayyor emaslar, shuning 
uchun o'zaro platformalarni ishlab chiqish texnologiyalariga talab mavjud va, 
albatta, juda yuqori. Dasturchilar, shuningdek, pulni tejashga qarshi emaslar, 
ayniqsa ular mobil ilovani sotmoqchi bo'lsa, Swift / Kotlinni o'rganish istagi yo'q, 
ammo JS / C # allaqachon ularning qo'lida. 
Albatta, kross-platforma rivojlanishi o'zi bilan juda ko'p noaniq nuanslarni olib 
keladi. Barcha universal echimlar qumda qal'alar qurishga majbur: yoki murakkab 
va nozik texnologik echimlarga (masalan, Xamarin) yoki React Native kabi mobil 
JavaScript dvigatellariga tayanadi. Shu bilan birga, platforma sotuvchilari biron bir 
yechimni qo'llab-quvvatlashni xayoliga ham keltirmaydilar va mahalliy SDK ning 
har bir yangilanishi har qanday o'zaro faoliyat platforma uchun katta bosh og'rig'i 
hisoblanadi. Har bir inson turli darajadagi muvaffaqiyat bilan chetlab o'tishga 
harakat qiladigan kamera, brelok yoki hatto oddiy foto galereyaga kirish kabi 
tizimga xos xususiyatlar haqida gapirmasa ham bo'ladi. Umumjahon yo'lni tanlagan 
ishlab chiquvchilar o'zlarining ramkalari bilan garovga olinadi va ko'pincha sezilarli 
tejashni va'da qilgan rivojlanish rakega qarshi kurashga aylanadi. 
Shuningdek, ko'pincha platformalararo echimlarda foydalanuvchi tajribasi (UX) 
atamasi bilan ifodalangan narsani qurbon qilish odatiy holdir: ko'plab ramkalar 
ikkala tizim uchun imkon qadar umumiy bo'lgan boshqaruv vositalaridan 
foydalanishga harakat qiladi va deyarli har doim bu yechim hamma uchun bir xil 
darajada noqulay bo'ladi. . Yoki sekinlashtiring. Yoki uslubdan tashqarida. Yoki 
batareyani zaryadsizlantiradi. Ro'yxatni o'zingiz davom ettiring. 
O'zaro platformali ilovalar bir-biridan ajralib turadi, ularning yadrolari past darajada 
yozilgan, barcha operatsion tizimlar uchun eng keng tarqalgan: C/C++ kabi tillarda. 
Bunday holda, biznes mantig'iga xizmat qiluvchi koddan foydalanishni 
umumlashtirish odatiy holdir va interfeys har bir platforma uchun alohida yoziladi. 
Ideal holda, har bir platformaga xos foydalanuvchi tajribasini saqlab qolgan holda, 
ilovaning muhim qismini takrorlashning oldini olish mumkin. Biroq, haqiqiy 


hayotda hamma narsa murakkabroq. Misol uchun, Dropbox bir necha yil ketma-ket 
past darajadagi yadro bilan yashashga harakat qildi, lekin oxir-oqibat ko'p 
sabablarga ko'ra voz kechdi va endi mahalliy platforma ilovalaridan mamnun. Men 
qiziqqanlarni ushbu mavzu bo'yicha o'zlarining qiziqarli maqolalariga havola 
qilaman. 
Menimcha, o'zaro faoliyat platformalarda tejash har doim xayoliydir. Ehtimol, ba'zi 
bir ahamiyatsiz loyihalarda, ilova asosiy saytning shunchaki versiyasi bo'lib, mobil 
uchun super optimallashtirilgan, umumlashtirilgan yondashuv ishlaydi. Boshqa 
hollarda, siz Dropbox taqdirini takrorlash xavfi bor. Mening maslahatim shundaki, 
agar siz mobil dasturchi bo'lishni istasangiz, platformani o'rganishga sarmoya 
kiriting. Ular har doim o'z samarasini beradi, hatto siz o'zaro faoliyat platformadagi 
loyihada ishtirok etishingiz kerak bo'lsa ham. 
Yangilash Pastga tushirish 

Download 0.92 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   18




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling