React Native bir necha yillardan beri mobil rivojlanish dunyosida dolzarb mavzu bo’lib kelmoqda . Buning ajablanarli joyi yo’q – u bir vaqtning o’zida iOS va Android uchun mobil ilovalarni ishlab chiqish yo’lini taklif qilib, texnologiya olamini egallab oldi.
React Native – ularning barchasini boshqarish uchun yagona ramka.
React Native butun dunyo bo’ylab yuzlab kompaniyalar, jumladan Uber, Microsoft va Facebook tomonidan muvaffaqiyatli qabul qilingan va boshqa ko’plab kompaniyalar tomonidan qo’llaniladi .
Biroq, React Native bilan ishlashga qaror qilishdan oldin, uning qanday ishlashini tushunish va bu sizning loyihangiz uchun eng yaxshi ekanligini aniqlash muhim.
Uning asosiy afzalliklari va eng katta kamchiliklari qanday? U boshqa o’zaro faoliyat platformalaridan nimasi bilan farq qiladi? Va nihoyat, dasturchilaringiz React Native sayohatiga chiqishdan oldin nimani bilishlari kerak?
Keyingi maqolada biz shu va boshqa savollarga javob beramiz, shunda siz ongli ravishda tanlov qilishingiz va React Native sizning biznesingiz uchun ideal ekanligini tushunishingiz mumkin.
React Native nima?
React Native (shuningdek, RN nomi bilan ham tanilgan) – bu iOS va Android uchun mahalliy mobil ilovalar yaratish imkonini beruvchi JavaScript-ga asoslangan mashhur mobil ilovalar. Ramka bir xil kod bazasidan foydalangan holda turli platformalar uchun ilovalar yaratish imkonini beradi .
React Native birinchi marta Facebook tomonidan 2015 yilda ochiq kodli loyiha sifatida chiqarilgan. Bir necha yil ichida u mobil qurilmalarni rivojlantirish uchun ishlatiladigan eng yaxshi echimlardan biriga aylandi. React Native ishlanmasi Instagram, Facebook va Skype kabi dunyoning yetakchi mobil ilovalarini quvvatlantirish uchun ishlatiladi. Biz ushbu va React Native-ga asoslangan ilovalarning boshqa misollarini keyinroq ushbu postda muhokama qilamiz.
React Native global muvaffaqiyatining bir qancha sabablari bor.
Birinchidan, React Native yordamida kompaniyalar faqat bir marta kod yaratishi va undan iOS va Android ilovalarini ishga tushirish uchun foydalanishi mumkin. Bu vaqt va resurslarni katta tejashni anglatadi.
Ikkinchidan, React Native, mobil platforma chiqarilganda juda mashhur bo’lgan JavaScript kutubxonasi React ustiga qurilgan . React va React Native o’rtasidagi farqlarni keyinroq ushbu bo’limda batafsil muhokama qilamiz.
Uchinchidan, ramka ilgari faqat veb-texnologiyalar bilan ishlay oladigan front-end dasturchilarga mobil platformalar uchun ishonchli, ishga tayyor ilovalar yaratish imkonini berdi.
Qizig’i shundaki, ko’plab inqilobiy ixtirolar singari, React Native ham yirik texnologik nosozlikka javob sifatida ishlab chiqilgan.
React Native tarixi
Facebook birinchi marta o’z xizmatlarini mobil qurilmalarda taqdim etishga qaror qilganida, o’sha davrning ko’plab etakchi texnologiya o’yinchilari kabi mahalliy dastur yaratish o’rniga, ular HTML5-ga asoslangan mobil veb-sahifani ishga tushirishga qaror qilishdi. Biroq, yechim vaqt sinoviga dosh bermadi va foydalanuvchi interfeysi va ish faoliyatini yaxshilash uchun juda ko’p joy qoldirdi. Darhaqiqat, 2012 yilda Mark Tsukerberg » bizning kompaniya sifatida qilgan eng katta xatosi ona tilidan farqli o’laroq HTMLga juda ko’p tayanish bo’lganini» tan oldi.
Ko’p o’tmay, 2013 yilda Facebook dasturchisi Jordan Volk inqilobiy kashfiyot qildi – u JavaScript yordamida iOS ilovalari uchun UI elementlarini yaratish usulini topdi . Bu shov-shuvga sabab bo’ldi va an’anaviy JavaScript veb-yechimlari yordamida qanchalik ko’p mobil ishlab chiqishni amalga oshirish mumkinligini o’rganish uchun maxsus hackathon tashkil etildi .
React Native shunday tug’ilgan. Dastlab faqat iOS uchun ishlab chiqilgan Facebook 2015-yilda ramkani nashr etishdan oldin uni tezda Android qo’llab-quvvatlashi bilan kuzatib bordi.
Oradan uch yil o‘tib, React Native GitHub’da ishtirokchilar soni bo‘yicha ikkinchi yirik loyiha bo‘ldi. 2019-yilda kuchli bo‘ldi va 9100 dan ortiq ishtirokchi bilan oltinchi o‘rinni egalladi.
React Native va React Native
Oddiy qilib aytganda, React Native Reactning “yangi” versiyasi emas, garchi React Native undan foydalansa ham.
React (shuningdek, ReactJS nomi bilan ham tanilgan) bu veb-saytning old qismini yaratish uchun foydalaniladigan kutubxona. React Nativega o’xshab, u ham Facebook muhandislik jamoasi tomonidan ishlab chiqilgan.
Shu bilan birga, React tomonidan quvvatlangan React Native ishlab chiquvchilarga iOS va Android ilovalarini tezda kompilyatsiya qilish va ishga tushirish uchun UI komponentlari to‘plamidan foydalanish imkonini beradi.
React va React Native ikkalasi ham JavaScript aralashmasidan va JSX deb nomlangan maxsus belgilash tilidan foydalanadilar . Biroq, JSX komponentlarida elementlarni ko’rsatish uchun ishlatiladigan sintaksis React va React Native o’rtasida farq qiladi. Bundan tashqari, React ba’zi HTML va CSS dan foydalanadi , React Native esa mahalliy mobil UI elementlaridan foydalanishga imkon beradi.
Stackoverflow muhokamasidan kod misoli :
React JSX HTML-ga o’xshash komponentlarni, masalan
<h1>, <p>
, va hokazolarni<View>, <Text>, <Image>, <ScrollView>
ko’rsatadi . JSX JavaScript tilining kengaytmasi hisoblanadi. React dasturiga foydalanuvchi interfeysi qanday ko‘rinishini tushuntirish kerak bo‘lganda undan foydalanishni tavsiya etamiz. JSX JavaScript kuchiga ega shablon tiliga o’xshaydi.
Shu sababli, bu ikki ramka bir-biri bilan bog’liq bo’lsa-da, ular turli maqsadlarda qo’llaniladi. React-ni bilish iOS va Android uchun mobil ilovalarni ishlab chiqish uchun etarli bo’lmaydi. Boshqa tomondan, React Native-ni bilish React-da veb-sayt yaratish yoki React Native Web- da Twitter va Uber-ni yoqtirish uchun etarli bo’ladi .
React Native-ning afzalliklari va kamchiliklarini tahlil qilishga o’tishdan oldin, avvalo, platformalararo rivojlanish nima ekanligini ko’rib chiqaylik.
O’zaro platformalarni ishlab chiqish nima?
O’zaro platformalarni ishlab chiqish – bu bir nechta turdagi apparat platformalariga mos keladigan dasturiy ta’minotni yaratish amaliyotidir. Kross-platforma ilovasi Microsoft Windows, Linux va Mac OS da yoki ulardan faqat ikkitasida ishlashi mumkin. O’zaro platformalar ilovasining yaxshi namunasi bu veb-brauzer yoki Adobe Flash bo’lib, u kompyuter yoki mobil qurilmada ishlayotganingizdan qat’iy nazar bir xil funktsiyani bajaradi.
Kross-platforma dasturiy ta’minotni ishlab chiqishning muqaddas qismi hisoblanadi – siz o’zingizning kod bazasini bir marta yaratishingiz va keyin uni ma’lum bir platforma uchun yaratilgan dasturiy ta’minotdan farqli o’laroq, istalgan platformada ishlatishingiz mumkin. Ishlab chiquvchilar o’zlari biladigan JavaScript yoki C# kabi vositalardan o’zlariga begona platformalarni yaratish uchun foydalanishlari mumkin. Dasturiy ta’minot egalari ham bundan manfaatdor, chunki bozorga chiqish vaqti va xarajatlari bo’yicha mahsulot ishlab chiqish yarmiga qisqaradi. O’zaro platformalarni ishlab chiqishning ba’zi xususiyatlari qanday ?
Katta auditoriya
Qaysi auditoriyani, ya’ni iOS yoki Android foydalanuvchilarini maqsadli tanlashni hal qilishingiz shart emas, chunki platformalararo dasturiy ta’minot ikkalasida ham ishlaydi, bu sizga kengroq foydalanuvchilar bazasiga kirish imkonini beradi.
Platformaning muvofiqligi
IOS va Android o’rtasida ba’zi navigatsiya va dizayn farqlari mavjud, ular umumiy kod bazasi tufayli o’zaro platformalarni ishlab chiqish sukut bo’yicha yo’q qiladi. Bu har ikkala platformada ham ilova uchun mos brend identifikatorini yaratishga yordam beradi, u mahalliy ishlab chiqarilganidan ko’ra kamroq kuch sarflaydi.
Qayta foydalanish mumkin bo’lgan kod
Bu kross-platformalarni ishlab chiqishning eng katta afzalliklaridan biri – siz Android va iOS uchun bir vaqtning o’zida faqat bitta kod bazasini yaratishingiz mumkin. Mahalliy ilovalarni ishlab chiqish alohida kodlashni talab qiladi va bu ishni bajarish uchun ko’pincha ikkita turli dasturiy ta’minot ishlab chiquvchisi talab qilinadi – biri iOS va biri Android uchun.
Tezroq rivojlanish
iOS va Android faqat bitta kod bazasini talab qilgani va hamma narsa bir joyda bo’lgani uchun mahsulotni ishlab chiqish ancha tezlashadi. O’zaro platforma ilovalari, garchi ular turli qurilmalarni qo’llab-quvvatlasa ham, alohida loyihalar sifatida qurilgan va platformalar o’rtasida katta hajmdagi kod qayta ishlatilishi mumkin.
Xarajatlarni kamaytirish
Oʻzaro platforma ilovalarini yaratish mahalliy ilovalarni yaratishga qaraganda 30% gacha arzonroq boʻlishi mumkin, buning barchasi kodni qayta ishlatish va tezroq ishlab chiqish tufayli, bu toʻgʻridan-toʻgʻri narxga taʼsir qiladi.
Hozirgacha o‘qiganlaringiz sizni platformalararo ishlanmani beg‘ubor deb o‘ylashingiz mumkin – unday emas, uning kamchiliklari bor. Keling, hozir ularga murojaat qilaylik.
Yuqori samaradorlikni ta’minlash uchun ko’proq tajriba talab etiladi
O’zaro platforma ilovalari o’zlarining mahalliy hamkasblaridan ko’ra yomonroq ishlashi haqida keng tarqalgan afsona. Masalan, Flutter ham, React Native ham soniyasiga 60 kadr tezlikda ishlashni maqsad qilgan. Ko’pgina hollarda, ishlab chiquvchilar etarli ko’nikma va tajribaga ega bo’lsa, kross-platforma ilovalari mahalliy ilovalar bilan bir xil standartlarda ishlashi mumkin.
Keyinchalik murakkab kod dizayni
O’zaro platforma ilovalari turli qurilmalar va platformalarga javob berishi kerakligi sababli, bu kodlashni yanada murakkablashtiradi. Bu, ayniqsa, murakkabroq xususiyatlar haqida gap ketganda, farqlarni hisobga olish uchun qurilmalar va platformalar bo’ylab istisnolarni kiritishi kerak bo’lgan ishlab chiquvchilar uchun ko’proq ish olib boradi.
Uzoq xususiyatni chiqarish vaqti
Android yoki iOS-da chiqarilgan har bir yangi xususiyat bilan, yangi xususiyatni qo’llab-quvvatlash uchun ikkala ilovani ham yangilash biroz vaqt talab etadi. O’zaro platforma ilovalari do’konga yangilanishlarni tezroq chiqaradi.
Biz kross-platformalarni ishlab chiqish mavzusida bo’lsak-da, ba’zi platformalararo ramkalarni tezda ko’rib chiqishga arziydi.
React Native
– 2015-yilda Facebook tomonidan ishlab chiqilgan va dunyoga taqdim etilgan, xuddi React kabi ishlaydi, lekin mobil va ish stoli kompyuterlari uchun ilovalar yaratish imkonini beradi. Buning go’zalligi shundaki, siz Java, Swift yoki Objective-C kabi platforma talab qilishi mumkin bo’lgan maxsus dasturlash tillarini o’zlashtirmasdan JavaScript- da kod yozishingiz mumkin. React Native mobil qurilmalar uchun ajoyib foydalanuvchi tajribasini yaratishga qaratilgan bo‘lib, uni yuqori sezgirlik va intuitiv foydalanishni talab qiluvchi ilovalar uchun mos variantga aylantiradi.
Flutter
– 2017-yilda Google tomonidan chiqarilgan, u nafaqat platformalararo mobil ishlab chiqish uchun ishlatilishi mumkin. Flutter tez yangilash xususiyati tufayli yangi xususiyatlar bilan tajriba o’tkazish va kichik xatolarni tuzatish uchun ideal. Bu ishlab chiquvchilarga manba kodini tahrir qilgandan so’ng dasturni qayta ishga tushirmasdan, eng so’nggi yangilanishlar tomonidan kiritilgan o’zgarishlarni bir zumda tekshirish imkonini beradi.
Xamarin
– Microsoft tomonidan ishlab chiqilgan ushbu ochiq kodli yechim turli tizimlar oʻrtasida kodning 75-90% almashish imkonini beradi. U C# tilida yozilgan bo‘lib, ishlab chiquvchilardan tilni bilishlarini talab qiladi — u barqarorroq bo‘lsa-da, o‘rganish JavaScript-ga qaraganda qiyinroq. Qizig’i shundaki, so’nggi yillarda Microsoft-ning o’zi React Native-ga yo’l ochdi. 2019 yil holatiga ko’ra, React Native-dan foydalanadigan 38 ta Microsoft iOS va Android ilovalari mavjud edi .
Agar siz platformalararo ramkalar haqida ko’proq ma’lumotga qiziqsangiz, ushbu maqolani ko’rib chiqing .
React Native qanday ishlaydi?
Endi biz kross-platformalarni ishlab chiqishni muhokama qilganimizdan so’ng, keling, React Native mexanikasini va uning biz ilgari ko’rgan narsalardan qanday farq qilishini ko’rib chiqaylik.
Agar siz texnik mutaxassis bo’lmasangiz, tashvishlanmang – biz buni oddiy tilda tushuntiramiz.
Yuqorida aytib o’tilganidek, React Native XML ga o’xshash maxsus belgilash kodi bo’lgan JavaScript va JXL aralashmasidan foydalangan holda yozilgan . Platforma JavaScript- ga asoslangan ish zarrachalari va mavjud mahalliy dastur zanjirlari bilan o’zaro aloqada bo’lish qobiliyatiga ega.
Bu aloqa qanday ishlaydi? React Native «ko’prik» deb ataladigan narsadan foydalanadi. JavaScript va mahalliy oqimlar butunlay boshqa tillarda yozilgan bo’lsa-da , bu ko’prik xususiyati ikki tomonlama aloqani amalga oshirish imkonini beradi.
Ko’prik kontseptsiyasining ajoyib vizualizatsiyasi:
Manba: Hackernoon
Bu shuni anglatadiki, agar sizda allaqachon iOS yoki Android ilovasi mavjud bo’lsa, siz hali ham uning tarkibiy qismlaridan foydalanishingiz yoki React Native dasturiga o’tishingiz mumkin.
React Native nima o’ziga xos qiladi?
React Native va boshqa kross-platforma ishlab chiqish yechimlari (masalan, Cordova va PhoneGap) o’rtasidagi farq shundaki, React Native o’z kodida WebView-ni ko’rsatmaydi, u haqiqiy, mahalliy ko’rinishlarda va komponentlarda ishlaydi React Native ning ajoyib muvaffaqiyati.
React Native yordamida yaratilgan ilovalarga misollar
Endi siz React Native nima ekanligini va u qanday ishlashini bilganingizdan so’ng, u bilan yaratilgan mahsulotlarni ko’rib chiqish vaqti keldi. Bu yerda mashhur React Native ilovalari uchun tanlovlarimiz.
Facebook eng ommabop React Native ilovalaridan biri bo‘lib, uni birinchi bo‘lib eslatib o‘tishimiz ajablanarli emas, chunki u ushbu dasturlash tilini tug‘dirgan va uning rivojlanishining asosiy harakatlantiruvchi kuchi hisoblanadi.
Facebook veb-ishlab chiqishning barcha afzalliklarini mobil qurilmalarga olib kelmoqchi edi, masalan, tezkor takrorlash va yagona mahsulot ishlab chiqish guruhiga ega bo’lish va React Native shunday tug’ildi. Kompaniya undan iOS va Android uchun o’zining Ads Manager ilovasini ishlab chiqishda foydalangan – ikkala versiya ham bir xil ishlab chiqish guruhi tomonidan yaratilgan.
Skype
Skype React Native mobil ilovasining yana bir yaxshi namunasidir. 2017 yilda Skype React Native asosida mutlaqo yangi dastur yaratayotganini e’lon qildi. Bu foydalanuvchilar orasida katta hayajonga sabab bo’ldi, chunki eski versiya bir nechta muammolarga duch keldi.
Yangi ilova piktogrammalardan tortib yangi xabar almashish interfeysigacha butunlay qayta ishlab chiqilgan bo‘lib, u endi suhbatlar uchun uchta bo‘limga ega: qidiruv, suhbat va yozib olish. Skype’ga egalik qiluvchi Microsoft kompaniyasi React Native’dan nafaqat mobil ilovada, balki platformaning ish stoli versiyasida ham foydalanishga qaror qildi.
Manba: twitter
Instagram WebView sifatida paydo bo’lgan Push Bildirishnomalari ko’rinishidan boshlab, React Native-ni mavjud mahalliy ilovasiga integratsiya qilishga qaror qildi. Yaxshiyamki, navigatsiya infratuzilmasini yaratishning hojati yo’q edi, chunki foydalanuvchi interfeysi ularsiz engish uchun etarlicha sodda edi. React Native-dan foydalanish ishlab chiqish guruhlariga rivojlanish tezligini 85-99% ga oshirishga imkon berdi.
Manba: Instagram.engineering
Walmart
React Native-ning yana bir qiziqarli misoli? iOS va Android uchun Walmart ilovalari. Amerikalik do’kon o’zining dadil texnologik yechimlari bilan tanilgan – va ulardan biri o’zining mobil ilovalarini React Native-da butunlay qayta yozgan.
Ilgari Walmart ilovasining ayrim qismlarida o‘rnatilgan veb-ko‘rinishlar bo‘lgan, Walmart Labs buni “biz ham, mijozlarimiz ham talab qiladigan standartga mos kelmaydi” deb aytgan.
React Native-ga o’tgandan so’ng, iOS va Android ilovalarining ishlashi sezilarli darajada yaxshilandi – deyarli mahalliy darajaga. Kodlar bazasining 95 foizi Android va iOS uchun ishlatiladi; Bundan tashqari, ikkala dasturni ham boshqaradigan va ishlab chiqadigan yagona jamoa mavjud.
Manba: Google Play
React Native-ni joriy qilgandan keyin Walmart ko’rgan yana bir nechta afzalliklar:
- Bozorga qisqa vaqt.
- Ikkala platforma ham bir kunda yangilanishi mumkin.
- React Native JavaScript-da yozilganligi sababli, boshqa buyruqlarni ulash oson.
- iOS va Android ilovalarining foydalanuvchi interfeysi platformaga xos boʻlib, ilovalarga tabiiy koʻrinish va silliq foydalanuvchi tajribasini beradi.
Walmartning React Native haqidagi fikrini o’z so’zlaringiz bilan ifodalashning eng yaxshi usuli :
Startaplardan tortib Fortune 500 kompaniyalarigacha, agar siz yangi mobil loyiha bilan shug‘ullanmoqchi bo‘lsangiz, React Native-dan foydalanishni o‘ylab ko‘ring – afsuslanmaysiz.
SoundCloud Pulse
SoundCloud musiqa ijodkorlari uchun SoundCloud Pulse ilovasini ishlab chiqish uchun React Native-ga murojaat qilishga qaror qildi .
Garchi ular dastlab ikkita alohida mahalliy ilovani ishlab chiqishni (va iOS bilan boshlashni) maqsad qilgan bo’lsalar ham, ular iOS muhandislari jamoasini yollashda qiyinchiliklarga duch kelishdi. Ular, shuningdek, ikkita alohida ilovani ishlab chiqish iOS va Android versiyalarini sinxronlashtira olmasligidan xavotirda edilar.
Shuning uchun ular React Native-ni sinovdan o’tkazishga qaror qilishdi va mobil ilovalar uchun o’zaro platformalar tizimidan foydalangan holda xizmat prototipini ishlab chiqdilar. SoundCloud muhandislari ish tezligidan hayratda qolishdi – ekran prototiplari birinchi haftaning oxirida allaqachon yozilgan. Shuningdek, ular o’zlarining mavjud mahalliy kutubxonalarini React Native bilan bog’lashni oson topdilar. Ushbu ijobiy tajriba SoundCloud-ni kelajakdagi ilovasi uchun ramkadan foydalanishga ishontirdi.
Manba: Google Play
Oxir oqibat, JavaScript ishlab chiquvchilari to’g’ri bilim almashishni ta’minlash uchun joriy iOS SoundCloud dasturchilari bilan ishladilar.
SoundCloud React Native-ni tezligi, ishlab chiquvchilarga qulayroq kirishi (ular mahalliy mobil qurilmani ishlab chiqish haqida o’ylashganda bu oson bo’lmagan), xarajatlarni tejash va rivojlanayotgan ochiq kodli hamjamiyat uchun maqtaydi.
Ular React Native bilan jekpotga erishganliklarini va kelajakdagi loyihalar uchun undan foydalanishlarini tan olishadi.
Yorqin
Shine – bu React Native ilovasining yana bir ajoyib namunasidir. Bu o’z foydalanuvchilariga meditatsiya, ilhomlantiruvchi maqolalar va boshqalar orqali kundalik stressni engishga yordam beradi.
Shine ijodkorlari o‘z g‘oyasini birinchi marta ilovaga aylantirishga va uni AQSh bozoriga olib chiqishga qaror qilganlarida, iOS-ga (o‘sha paytda AQSh mobil qurilmalar bozorining yarmini tashkil qilgan) pul tikishdi. Biroq, ular iOS ilovasi mashhurlikka erishgan taqdirda Android foydalanuvchilari e’tiborini jalb qilishni rejalashtirishgan. Bu erda React Native o’ynaydi.
Manba: Netguru
Shine 2017 yil oxirida App Store’da debyut qildi va Apple tomonidan 2018 yilning eng yaxshi ilovalaridan biri deb topildi. Shine o’zining React Native ilovasini qanday ishlab chiqqani haqida ko’proq Netguruning Shine’s CTO bilan suhbatida o’qishingiz mumkin .
UberEats
UberEats – React Native ishlanmalariga asoslangan yana bir ilova. Uning Uber ilovasidan farqi shundaki, u ikkita o‘rniga uchta tomon – restoranlar, yetkazib berish bo‘yicha hamkorlar va mijozlarni o‘z ichiga oladi.
Bu restoranlarni ham hisobga olgan maxsus asboblar panelini yaratishni talab qildi. Internet uchun maxsus qurilgan asl asboblar paneli muhim ma’lumotlarni restoranlarga etkazish imkoniyatini cheklab qo’ydi. Bundan tashqari, foydalanuvchi tajribasiga salbiy ta’sir ko’rsatuvchi audio bildirishnomalar kabi o’rnatilgan qurilma xususiyatlariga kirish imkoni yo’q edi.
Jamoa allaqachon React-da dasturlash bo’yicha katta tajribaga ega edi, ammo Android va iOS bilan yetarlicha tanish emas edi, shuning uchun React Native-ni tanlash tabiiy tanlov edi. UberEats katta texnologiya stekidan foydalanadi va React Native uning kichik bir qismidir. Biroq, ishlab chiquvchilar u taklif qilayotgan narsadan mamnun va ular bozor o’sishi bilan ularning ehtiyojlarini qondira olishiga ishonchlari komil.
«React Native hali ham UberEats muhandislik ekotizimining kichik bir qismi bo’lsa-da, bizning restoran boshqaruv panelini qayta qurishda foydalanish tajribamiz juda ijobiy bo’ldi. O‘tgan yili taqdim etilganidan beri yangilangan Restoran boshqaruv paneli UberEats’dagi deyarli har bir restoran uchun standart vositaga aylandi”. – Kris Lyuis , Uber Eats Prediction jamoasining dasturiy muhandisi.
Manba: Uber
Pinterest muhandislari ular React Native-ni kuzatib borishganini va 2015-yilda ramka debyutidan beri uning imkoniyatlarini ochishdan manfaatdor ekanligini tan olishadi.
O’sha paytda ular allaqachon foydalanuvchilarga Gestalt tomonidan ishlab chiqilgan, Pinterestning ochiq manbali React UI komponentlari to’plamidan iborat veb-ilovani taklif qilishgan. Gestalt ham, React Native ham React-ga asoslanganligi sababli, Pinterest muhandislari rivojlanish murakkab yoki vaqt talab qiladigan jarayon bo’lmasligini kutishgan. Ular hech qachon o’zlarining Gestalt ilovasini React Native bilan to’liq almashtirishni niyat qilmagan bo’lsalar ham, ular hozirgi texnologik stekiga muammosiz integratsiya qilinishi mumkinligini bilishni xohlashdi.
React Native kuchini sinab ko’rish uchun ular asosiy bort funksiyasini prototip qilishga qaror qilishdi: mavzu tanlash.
Prototipni iOS-da joriy qilish uchun o’n kun, Android-da yana ikki kun kerak bo’ldi. Muhandislar standart amalga oshirish uchun bir haftadan ko’proq vaqtni tejashga muvaffaq bo’lishdi. Tezlikdan tashqari, ular iOS va Androidning ishlashidan ham mamnun bo’lishdi.
Manba: O’rta
Natijada, Pinterest mobil ilovalarni ishlab chiqish uchun qo’shimcha platforma sifatida React Native-ni o’zining texnologik stekiga doimiy ravishda kiritishga qaror qildi. Yaratilganidan beri u nafaqat mavzuni tanlash uchun, balki Pinterest biznesini ro’yxatdan o’tkazish uchun ham ishlatilgan.
React Native-ning afzalliklari
Biz React Native yordamida yaratilgan mahsulotlarni muhokama qildik, shuning uchun keling, React Native ishlanmasining afzalliklariga o‘tamiz va nima uchun uni mobil ilovangizni yaratishda yechim sifatida tanlashingiz kerakligini tushuntiramiz.
Kodni qayta ishlatish – platformalararo ishlab chiqish
Kodni qayta ishlatish qobiliyati React Native-ning eng katta afzalligidir va bu ilovalar bir nechta platformalarda samarali ishlashi mumkinligini ko’rsatadi, bu esa bosh direktorlar va mahsulot egalari haqiqatan ham qadrlaydigan narsadir. Ular ikkala operatsion tizim uchun o’rnatilgan kodni qayta ishlatish ramkasining 90% ni birlashtira oladi.
Discord muhandislari aytadilar :
Biz React Native-ni Android uchun chiqarilgan kuni sinab ko’rdik. Biz Android tizimida iOS ilovasini qanchalik tez va oson ishga tushirganimizdan hayratda qoldik – bu atigi ikki kun davom etdi va u qurildi!
Yana bir ajoyib yangilik shundaki, har ikkalasi ham React Native-dan foydalansa, veb-ilova kodi mobil ilovalarni ishlab chiqish uchun ishlatilishi mumkin. Shuningdek, u ishlab chiqish vaqtini tezlashtiradi, chunki u ochiq kodli kutubxonaga kiritilgan oldindan ishlab chiqilgan komponentlarni o’z ichiga oladi.
Katta dasturchilar hamjamiyati
React Native – bu ishlab chiquvchilarga hamma uchun ochiq bo’lgan ramka yaratishga hissa qo’shish imkonini beruvchi ochiq manbali JavaScript ramkasi.
Agar biron bir dasturchi dasturni ishlab chiqishda muammoga duch kelsa, u hamjamiyatdan yordam so’rashi mumkin (2020 yil o’rtalarida Stack Overflow-da React Native tegining 50 000 ga yaqin faol a’zolari bor).
Ularga muammolarini hal qilishda yordam bera oladigan kishi doimo topiladi – bu ularning dasturlash ko‘nikmalarini oshirishga ham ijobiy ta’sir ko‘rsatadi.
Iqtisodiy samaradorlik
React Native ishlanmasining yana bir afzalligi yuqori iqtisodiy samaradorlikdir. Avval aytib o’tganimizdek, buning sababi, ishlab chiquvchilar iOS va Android ilovalarini yaratish uchun bir xil koddan foydalanishlari mumkin.
Bu sizning loyihangizni yakunlash uchun ikkita alohida iOS va Android ishlab chiqish guruhini yollashingiz shart emasligini anglatadi. Uni yaratish uchun kichik jamoa etarli. React Native-da ilovalarni ishlab chiqish narxi o’zaro faoliyat platformalarni ishlab chiqishga imkon bermaydigan tillar yordamida yaratilgan ilovalarga qaraganda ancha past.
Tez yangilash
Tez yangilash ishlab chiquvchilarga dasturni yangi versiyalarga yangilash va foydalanuvchi interfeysini o’zgartirish orqali uni ishlashini ta’minlash imkonini beradi. O’zgarishlar darhol ko’rinadi va ishlab chiquvchi butun ilovani qayta tiklash zaruratidan xalos bo’ladi.
Bu ikkita muhim afzalliklarga olib keladi: vaqtni tejash – chunki dasturchilar kompilyatsiya qilish vaqtini tejashadi va samaradorlikni oshiradilar – chunki ular ilovaga o’zgartirish kiritishda hech qanday holatni yo’qotmaydi.
Oddiy foydalanuvchi interfeysi
React Native ishlanmasi ilova interfeysini yaratish uchun React JavaScript-dan foydalanadi , bu esa yuklanish vaqtini qisqartirgan holda uni yanada sezgir va tezroq qiladi, bu esa umuman foydalanuvchi tajribasini yaxshilaydi. Reaktiv foydalanuvchi interfeysi va komponentlarga asoslangan yondashuv tufayli ramka oddiy va murakkab dizaynli ilovalarni yaratish uchun idealdir.
Tezkor ilovalar
Ba’zilarning ta’kidlashicha, mahalliy React kodi dastur ishlashiga salbiy ta’sir ko’rsatishi mumkin. Garchi JavaScript mashina kodi kabi tez ishlamasa ham, farq inson ko’ziga sezilmaydi. Buni yana bir bor isbotlash uchun biz React Native va Swift-da yozilgan oddiy dasturning ikkita versiyasini solishtirganda test o’tkazishga qaror qildik – ikkalasi ham bir xil ishlash natijalariga erishdi.
Perspektiv
Platformaning bozorni egallash tezligini va rivojlanish muammolarini hal qilishdagi oddiy yondashuvini hisobga olsak, o’zaro platforma ilovalari uchun React Native kelajagi yorqin ko’rinadi. Uning bir nechta kamchiliklari bo’lsa-da, biz keyingi bo’limda muhokama qilamiz, uning tezligi va rivojlanish qulayligi ularni to’ldiradi.
Bularning barchasini hisobga olgan holda, keling, nima uchun React Native sizga mos kelmasligi mumkinligini ko’rib chiqaylik.
React Native: Xatarlar va Kamchiliklar
React Native ilovasini ishlab chiqishga qaror qilishdan oldin bilishingiz kerak bo’lgan to’rtta asosiy mumkin bo’lgan kamchiliklar mavjud .
Ba’zi maxsus modullar etishmayapti
React Native bir necha yillardan beri mavjud bo’lsa-da, ba’zi maxsus modullar yaxshilanish uchun joy qoldiradi yoki umuman yo’q. Bu shuni anglatadiki, bitta o’rniga uchta alohida kod bazasini (React Native, iOS va Android uchun) ishga tushirishingiz kerak bo’lishi mumkin.
Biroq, bu odatiy hodisa emas. Agar siz ilovangizni noldan ishlab chiqmasangiz yoki mavjudni buzishga harakat qilmasangiz, bu muammolarga duch kelmaysiz.
Muvofiqlik va disk raskadrovka muammolari
Garchi bu ajablanarli tuyulishi mumkin bo’lsa-da – axir, React Native-dan etakchi texnologiya o’yinchilari foydalanadi – u hali beta-versiyada. Ishlab chiquvchilaringiz paketning mosligi yoki disk raskadrovka vositalari bilan bog’liq turli muammolarga duch kelishlari mumkin. Agar ishlab chiquvchilaringiz React Native manba kodini tushuna olmasalar, bu sizning rivojlanishingizga salbiy ta’sir ko’rsatishi mumkin, chunki ular uzoq vaqt muammolarni bartaraf etishga vaqt sarflashadi.
Masshtablilik
Aksariyat hollarda React Native siz uchun juda yaxshi ishlaydi, hatto sizning ilovangiz juda murakkab va murakkab yechim bo’lib qolsa ham. Axir, Facebook va Skype kabi kompaniyalar ushbu platformada katta muvaffaqiyatlarga erishdilar va undan yillar davomida doimiy ravishda foydalanmoqda. Shu bilan birga, ba’zi kompaniyalar React Native-dan foydalanishdan voz kechishga qaror qilishdi.
Masalan, Airbnb o’zining mobil ilovasi uchun ramkadan kompaniya endigina ishga tushgan paytda foydalanishga qaror qildi. Biroq, vaqt o’tishi bilan React Native kompaniyaning rivojlanish rejalari uchun yaroqsiz bo’lib chiqdi va Airbnb ikkita o’z ilovasini ishlab chiqishga kirishdi. RN-dagi joriy yutuqlar va to’g’ri dasturiy ta’minot arxitekturasi tanlovlari bilan miqyoslash muammolarini osongina oldini olish mumkin.
Mahalliy ishlab chiquvchilarning yordami kerak
Ushbu postda biz aytib o’tgan «ko’prik» xususiyatini eslaysizmi? Ko’rsatilganidek, React Native JavaScript-ni mahalliy mobil kod bilan bog’laydi. Bu shuni anglatadiki, agar siz mahalliy mobil ishlab chiqishni bilmagan dasturchini qabul qilsangiz, ular uchun mahalliy kodni React Native kod bazasiga kiritish qiyin bo’ladi. Natijada, sizga Android yoki iOS dasturchilarining yordami kerak bo’ladi. Agar siz kichik kompaniya bo’lsangiz, mobil dasturchilarni yollashni xohlamasligingiz mumkin, chunki bu qo’shimcha xarajatlarga olib keladi.
Ushbu muammoni hal qilishning usullaridan biri mahalliy iOS va Android elementlari bilan yordam berish uchun dasturiy ta’minot bo’yicha maslahatchini yollashdir .
React Native uchun muqobillar
Endi siz React Native nima ekanligini yaxshi tushunganingizdan so’ng, uning ba’zi alternativalarini ko’rib chiqishga arziydi.
Flutter
Biz ushbu Flutterni ushbu maqolaning boshida aytib o’tgan edik va uni React Native bilan taqqosladik.
Ionik
Ionic – 2013 yilda Drifty tomonidan taqdim etilgan gibrid mobil qurilmalarni ishlab chiqish uchun mo’ljallangan to’liq ochiq manba SDK . Ilovani yaratish uchun HTML, CSS va JavaScript kabi texnologiyalar hamda PhoneGap va Cordova kabi ramkalardan foydalanadi.
Ionic Angular ustiga qurilgan va shuning uchun agar siz u bilan tanish bo’lsangiz, Ionic siz uchun oson bo’ladi. U rivojlanishni tezlashtiradigan, uni yanada silliq va osonlashtiradigan ko’plab o’rnatilgan komponentlar bilan birga keladi. Bu, shuningdek, tezkor prototiplash uchun yaxshi imkoniyatdir, chunki u mahsulotni ishlab chiqishda gibrid yondashuvni taklif qiladi.
Ishlash nuqtai nazaridan u React Native-ga qaraganda sekinroq, chunki u WebView-dan foydalanadi, ammo yaxshi xabar shundaki, kodni istalgan brauzerda sinab ko’rishingiz mumkin.
Apache Kordova
Apache Cordova – dastlab Nitobi tomonidan taqdim etilgan mobil ilovalarni ishlab chiqish tizimi . Bu ishlab chiquvchilarga Android, iOS yoki Windows Phone-ga kiritilgan platformaga xos API-larga tayanmasdan, CSS3, HTML5 va JavaScript-dan foydalangan holda mobil ilovalar yaratish imkonini beradi. Ionic singari, Apache Cordova ham ba’zi cheklovlarni yaratadigan WebView-dan foydalanadi.
Masalan, standart WebView tizimida ishlaydigan iOS ilovalari Safari mobil brauzerida ishlaydigan bir xil ilovaga qaraganda sekinroq. Bundan tashqari, JavaScript bir tarmoqli bo’lgani uchun, dastur kodida sodir bo’layotgan juda ko’p narsa sekin animatsiya va ilovalarning sezgirligini kamaytirish kabi muammolarga olib kelishi mumkin.
Johannes Steinning so’zlariga ko’ra , mustaqil dasturiy ta’minot muhandisi:
Cordova-dan foydalanib, siz mavjud bir sahifali ilovani ularning o’ziga xos platformasiga xos bo’lmagan o’zaro aloqalar orqali tezda bir nechta platformalar uchun mobil ilovaga aylantirishingiz mumkin.
PhoneGap
PhoneGap – bu Apache Cordova tarqatish, ya’ni u Cordova-da ishlaydi, lekin siz Adobe tomonidan taqdim etilgan qo’shimcha vositalarga ega.
Bu sizga mobil ilovalar ishlab chiqaruvchisi sifatida «oson hayot»ni va’da qiladi, bu sizga o’zingiz uchun qulay bo’lgan har qanday JavaScript kutubxonasi va ramkasidan foydalanish imkonini beradi.
Optasy muhandislari .
PhoneGap bilan ishlash oson, bu uni ishlab chiquvchilar uchun qulay qiladi. Ularning ixtiyorida ko’plab ramkalar va kutubxonalar mavjud. U “bir marta yozing, har bir platformada ishga tushing” shioriga asoslanadi, shuning uchun siz platformalararo ishlanmadan foydalanishingiz mumkin.
Shunchaki sevimli veb-texnologiyangizni tanlang va ilovangiz har biri uchun alohida versiyalar yaratmasdan, barcha mavjud platformalarda ishlaydi.
Afsuski, PhoneGap bilan yaratilgan ilovalar yomon foydalanuvchi tajribasiga ega bo’lishi mumkin, chunki veb-texnologiya mobil ilovalar uchun emas, balki internet uchun yaratilgan. Bu animatsiyani qayta ishlashni muammoli qiladi. Bundan tashqari, siz brauzerga xos xatolarni o’z ichiga olgan veb-ilovalar bilan bir xil muammolarni boshdan kechirish xavfini tug’dirasiz.
React Native – Android va iOS ishlanmalaridagi farqlar
React Native-ga qaytganingizda, aminmanki, siz ham qiziqqansiz – React Native dasturi Android va iOS uchun qanday farq qiladi ? Axir, foydalanuvchi nuqtai nazaridan, ikkala muhit ham o’ziga xos farqlarga ega (foydalanuvchi interfeysi eng aniq).
Bu erda platformalar o’rtasida narsalar biroz boshqacha ishlaydigan to’rtta asosiy soha mavjud.
operatsion tizim
Mahalliy React ilovasi bilan ishlaganda Windows qurilmasi emas, balki macOS qurilmasidan foydalanishni tavsiya etamiz. Nega?
Chunki ikkinchisi iOS ilovangizni samarali tekshirishga imkon bermaydi. Siz sinovlarni faqat Android ilovangizda o’tkazishingiz mumkin va faqat bitta rasmiy sinov vositasi mavjud – Android Studio. Ushbu xabarni yozish paytida Windows uchun iOS uchun rasmiy sinov vositalari mavjud emas.
Buning sababi shundaki, Windows iOS, mac OS, tvOS va watchOS uchun Apple tomonidan yaratilgan ishlab chiqish muhiti XCode-ni ishga tushira olmaydi.
Shunday qilib, har ikkala operatsion tizimda ham oʻz React ilovangizni yaratishingiz mumkin boʻlsa-da, faqat macOS sizga Android va iOS uchun mahalliy React ilovalaringiz toʻgʻri ishlashini tekshirish imkoniyatini beradi.
O’z elementlari
Android va iOS ilovalari turlicha ko’rinish va faoliyat ko’rsatishi sababli ular turli komponentlarga ega. Bu shuni anglatadiki, mahalliy React kutubxonasidan foydalanganda, siz bir xil komponentdan foydalansangiz ham, iOS va Android uchun boshqa yakuniy natijani ko’rishingiz mumkin. Bu bizni o’ziga xos uslublarga olib keladi.
Maxsus uslublar
iOS va Android-da mahalliy React elementlari uchun turli uslublar mavjud. Ajoyib misol – soyalar. Quyidagi ekranga qarang – Android qurilmasidagi yashil elementda (o’ngda) iOS skrinshotida ko’rinadigan soya yo’qligiga e’tibor bering (chapda):
Manba: Netguru
Bu React Native-da ikkita uslub qo’llanilgan degani emas – aksincha. Soya JavaScript yordamida bir marta uslublanadi va elementlar platforma asosida avtomatik ravishda ko’rsatiladi.
Ammo, agar siz Android-ga soya qo’llamoqchi bo’lsangiz-chi? Siz ushbu standart sozlamalarni chetlab o’tishingiz kerak bo’ladi. Shading – bu qo’lda sozlashlarga ishonishingiz kerak bo’lgan bir misol. IOS va Android o’rtasida farq qiluvchi boshqa UI elementlariga ma’lum shriftlar, holat paneli va GIF rasmlari kiradi (ular Androidda avtomatik ravishda qo’llab-quvvatlanmaydi).
Biz iOS va Android-ni ishlab chiqish o’rtasidagi farqlarga qaramay, React Native bilan ishlash bo’yicha tavsiyamiz hali ham o’z kuchida. Foydalanuvchi interfeysi yoki kutubxonalar o’rtasidagi aloqaning ba’zi jihatlarini qo’lda sozlashingiz kerak bo’lsa-da, siz ikkita alohida echimni ishlab chiqish uchun ko’p vaqtni tejaysiz.
React Native va Flutter
React Native va Flutter – bu mashhur texnologiya gigantlari tomonidan ishlab chiqilgan ikkita o’zaro faoliyat platformalar: Facebook va Google. Ularning ikkalasi ham eng sevimli ramkalar qatoriga kiradi, ishlab chiquvchilar Flutter-ni React Native-dan afzal ko’rishadi.
Manba: Stackoverflow
Flutter dasturchilar uchun ma’qul variant bo’lgani uchun u sizning ilovangizni yaratish uchun ham eng yaxshi variant bo’lishi mumkin deb o’ylashingiz mumkin. Har qanday xulosaga kelishdan oldin, keling, ushbu ikki ramka qanday taqqoslanganini ko’rib chiqaylik .
Rivojlanish
Flutter bilan ishlashni boshlash juda oson – Flutter paketini yuklab olish, uni ochish va ochilmagan jild ichidagi jildga ishora qiluvchi muhit o‘zgaruvchisini yaratish kifoya. U juda ko’p mavjud bo’lgan vidjetlar asosida ishlaydi, ammo, afsuski, javob bermaydi. Bu siz platformaga xos vidjetlarni qo’lda yaratishingiz kerakligini anglatadi.
React Native o’zining turli kutubxonalarida topilishi mumkin bo’lgan komponentlardan foydalanadi. Ular Flutter kabi ko’p bo’lmasa-da, ular sezgir, ya’ni ular o’zlari ishlayotgan platformani – iOS yoki Androidni taniydilar va ushbu platformaga mos keladigan kompozitsiyalarni namoyish etadilar.
Ekotizim
Ekotizim haqida gap ketganda, React Native Flutterdan oldinda. U uzoq vaqtdan beri mavjud va yuzlab paketlar tomonidan qo’llab-quvvatlanadi. Aslida, uning ixtiyorida 1450 dan ortiq paketlar mavjud bo’lgan Flutterga qaraganda besh baravar ko’p paketlar mavjud.
Ishlash
Ishlash nuqtai nazaridan, Flutter arxitektura farqlari tufayli har doim React Native-dan biroz yaxshiroq bo’ladi. Oxirgi yechim asenkron ko’prikdan foydalanadi, bu ba’zan ishlash muammolariga olib kelishi mumkin.
Boshqa tomondan, Flutter ishlab chiquvchilarga mavjud kodni qayta ishlatishni osonlashtiradi. Flutter ishlayotgan C++ dvigateli yaxshi ishlaydi va Flutterga o‘z ekvivalentlariga to‘plangan UI komponentlaridan foydalanadigan React Nativedan biroz ustunlik berishi mumkin. Shuningdek, u JavaScript-ning qatlamiga ega, bu esa uni Flutterga qaraganda biroz sekinroq qiladi.
Foydalanuvchi interfeysi
Foydalanuvchi interfeysi haqida gap ketganda, React Native g’olib hisoblanadi. Bu yanada dinamik bo’lib, foydalanuvchi tajribasini yaxshilaydi. Flutter markali vidjetlar to‘plamlari bilan yaxshi ishlaydi, ular foydalanuvchi interfeysi dizaynini yaratish uchun juda yaxshi. React Native mahalliy UI komponentlariga qurilgan, ammo React Native ishlab chiquvchilari foydalanishga tayyor, jilolangan UI to‘plamlaridan ham tanlashlari mumkin. Bularga react-native-paper , native-base , react-native-elementlar , UI Kitten kiradi .
Barqarorlik
Ramkalarning barqarorligini baholash uchun biz bir nechta sohalarni ko’rib chiqishimiz kerak: ularning etukligi, ishlab chiquvchilar hamjamiyati qanchalik katta va qaysi kompaniyalar ulardan foydalanmoqda.
Yuqorida aytib o’tilganidek, React Native birinchi marta 2013 yilda Facebook ichki loyihasi sifatida ishlab chiqilgan va keyin 2015 yilda ommaga taqdim etilgan. Flutter biroz yangiroq platforma – u birinchi marta 2015-yilda Google (o‘sha paytda “Osmon” nomi bilan atalgan) eksperimental loyihasi sifatida kun yorug‘ini ko‘rdi. Biroq, u faqat 2018 yil oxirida chiqarildi.
Ikkala tuzilmada ham gullab-yashnagan jamoalar mavjud. 2020-yil o‘rtalariga kelib, Stack Overflow -dagi asosiy React Native va Flutter iplarini mos ravishda 48,600 va 24,700 kuzatuvchi kuzatib bordi. Raqamlar GitHub’da ham yaxshi ko‘rinadi: React Native uchun 3700 va Flutter uchun 3600 ta ishtirokchi . GitHub-da hal qilinmagan muammolar soni React Native foydasiga ham gapiradi – React Native uchun atigi 1900 ta, Flutter uchun 5000 ta.
Biroq, ushbu bo’limning boshida aytib o’tilganidek, raqamlar React Native-ni afzal ko’rsa-da, bu Flutter variantidir . «Eng sevimli» hozirda ramkadan foydalanayotgan va kelajakda undan foydalanishga qiziqish bildirgan ishlab chiquvchilarning foizini ko’rsatadi.
Bu Flutter hamjamiyatidan ramkani qo’llab-quvvatlash va rivojlantirishda yuqori darajadagi ishtirokni kutishimiz mumkin degan xulosaga keladi.
Mijoz bazasi
Ushbu maqolada avvalroq ko’rganingizdek, React Native jamoasi o’nlab yetakchi texnologiya o’yinchilaridan iborat – Facebook, Instagram va Walmartdan SoundCloud va Skypegacha. Biroq, Flutterni kim ishlab chiqqanini unutmaylik! Google tomonidan yaratilgan platforma sifatida u nafaqat Google’ning ko‘plab xizmatlarini (masalan, Google reklamasi), balki Osiyo texnologiya giganti Alibaba’ni ham qo‘llab-quvvatlaydi .
Arxitektura
React Native arxitekturasini ikkita naqsh yordamida qurish mumkin – Flux (Facebook tomonidan yaratilgan) va Redux (React Native hamjamiyati tomonidan ishlab chiqilgan). Oqim bir yo’nalishli ma’lumotlar oqimiga asoslanadi, ya’ni har bir qism ma’lumotlarni bir joydan oladi va o’zgarishlarni boshqa joyga chiqaradi. Redux Flux arxitekturasidan foydalanadi, shuning uchun u ilovalarni yaratishning bir xil usuliga asoslanadi. Ushbu ikkala yondashuv ham ilovangiz ma’lumotlarini «saqlash» deb nomlangan bitta joyda saqlash uchun mo’ljallangan.
Flutter ob’ektga yo’naltirilgan Dart tiliga asoslangan (shuningdek, Google tomonidan ishlab chiqilgan). Dart ham JavaScript , ham mahalliy kodni kompilyatsiya qilishi mumkin. Uning arxitekturasi reaktiv dasturlashga asoslangan (React Native-ni qo‘llab-quvvatlaydigan Facebook-ning React veb-kutubxonasini quvvatlaydigan bir xil paradigma).
Flutter arxitekturasiga bir nechta yondashuvlar mavjud – ulardan biri 2018 yilda Google tomonidan taqdim etilgan blok naqsh (biznes mantiqiy komponentining qisqartmasi).
Manba: Toptal
Hujjatlar
Ushbu turkumda aniq g’olib Flutter. Ramka barcha ilovalarni ishlab chiqish jarayonida ishlab chiquvchilarni qo’llab-quvvatlaydigan vositalar to’plami bilan birga keladi. Bundan tashqari, Flutterning hujjatlari keng qamrovli va aniq tashkil etilgan deb hisoblanadi. Agar ishlab chiquvchilaringiz hujjatlardan foydalanishda qiyinchiliklarga duch kelsa, Flutter hamjamiyati ularga yordam qo’lini cho’zishi aniq.
Aniqroq qilib aytadigan bo’lsak, React Native ham keng qamrovli hujjatlarga va faol hamjamiyatga ega. Yangi foydalanuvchilar uchun ko’plab o’quv qo’llanmalari ham mavjud. Biroq, sozlash Flutterdagi kabi oson emas. Agar ishlab chiquvchilaringiz o’zaro platformalarni ishlab chiqishda yangi bo’lsa, ular Flutter-ni sozlashni osonroq deb bilishlari mumkin.
React Native – bu kross-platformalarni ishlab chiqish uchun sizning yaxlit ramkangiz
React Native – bu platforma yoki tizimdan qat’i nazar, muammosiz ishlaydigan ilovalarni yaratish uchun ajoyib yechim. Bu kompaniyalar va ishlab chiquvchilar tomonidan yaxshi ko’rilgan ramka. Bu juda ko’p ish vaqtini tejaydi, bu esa rivojlanish jarayonini tezlashtiradi va iqtisodiy jihatdan ham samaralidir. Bu sizga bir vaqtning o‘zida kengroq auditoriyaga kirish imkonini beradi – bitta ilovadan ham Android, ham iOS foydalanuvchilari foydalanishi mumkinligi sababli, ishga tushirishlar sinxronlashtirilishi mumkin va kichikroq ishlab chiqish byudjetiga ega kompaniyalar faqat bitta platformani tanlashi shart emas.
Skype, Facebook, Pinterest va UberEats kabi React Native-dan foydalangan holda ko’plab ajoyib mahsulotlar yaratilgan va bu ilovalarni ishlab chiqishda e’tiborga olish kerak bo’lgan ramka ekanligini yana bir bor isbotlaydi. IOS va Android uchun mahalliy yechim uzluksiz foydalanuvchi tajribasi va yuqori darajadagi ishlashni talab qiladigan loyihalar uchun hali ham eng yaxshi variant bo’lsa-da, agar siz byudjetda bo’lsangiz va super ishlashga muhtoj bo’lmasangiz, React Native ajoyib tanlovdir. Aksariyat hollarda uning imkoniyatlari etarli.
Agar loyihangiz faqat bitta platforma uchun ishlab chiqilishi shart bo’lmasa, React Native ajoyib imkoniyatdir.
Muallif: Maciej Budziński