Reja: 1: Mobil ilovalar
Download 0.92 Mb. Pdf ko'rish
|
Mobil ilovalarni kross-platformali dasturlash
- Bu sahifa navigatsiya:
- Gibrid rivojlanish
- Qaysi turdagi rivojlanishdan boshlash yaxshiroq
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: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling