Quyosh botish reaktsiyasi asl

Turli xil texnik va tashkiliy muammolar tufayli biz ona reaktsiyasini quyosh botishiga va butun kuchimizni o'z ona yurtimizni go'zal qilishiga sarflaymiz.

Bu blogdagi bir nechta postlarning to'rtinchisi bo'lib, unda biz React Native bilan tajribamizni o'rtoqlashamiz va Airbnb-da mobil uchun keyingi narsalar. Bugun qayerdamiz?

Garchi ko'plab jamoalar React Native-ga tayanib, undan kelajakda foydalanishni rejalashtirgan bo'lsalar-da, oxir oqibat biz oldingi maqsadlarimizga erisha olmadik. Bundan tashqari, biz React Native-ga sarmoya kiritishni davom ettirishga olib keladigan bir qator texnik va tashkiliy qiyinchiliklarga duch keldik.

Natijada, oldinga siljib, biz Airbnb-da React Native reaktsiyasini o'rnatmoqdamiz va barcha sa'y-harakatlarimizni o'z ona yurtimizga qaytarib bermoqdamiz.

Maqsadlarimizga erisha olmadik

Tezroq harakatlaning

React Native rejalashtirilgan tarzda ishlaganida, muhandislar mislsiz tezlikda harakat qilishgan. Biroq, ushbu seriyada biz aytib o'tgan ko'plab texnik va tashkiliy muammolar ko'plab loyihalarning umidsizliklari va kutilmagan kechikishlarini oshirdi.

Sifat panelini saqlang

So'nggi paytlarda React Native etukligi va biz ko'proq tajriba to'plashimiz bilan, biz amin bo'lmagan bir qator ishlarni amalga oshirdik. Biz umumiy elementlarga o'tishni, parallaksni yaratdik va tez-tez ramkalarni tashlab yuboradigan ba'zi ekranlarning ishlashini sezilarli darajada yaxshilashga muvaffaq bo'ldik. Ammo boshlang'ich va asink kabi ba'zi texnik qiyinchiliklar muayyan maqsadlarga erishishda qiyinchilik tug'dirdi. Ichki va tashqi manbalarning etishmasligi buni yanada qiyinlashtirdi.

Kodni ikki marta emas, balki bir marta yozing

React Native xususiyatlaridagi kod deyarli barcha platformalarda taqsimlangan bo'lsa ham, bizning ilovamizning ozgina qismi React Native edi. Bundan tashqari, mahsulot muhandislarining samarali ishlashi uchun katta hajmdagi ko'prik infratuzilmasi talab qilingan. Natijada, ikkita emas, uchta platformada qo'llab-quvvatlovchi kodni to'pladik. Biz mobil va Internet o'rtasida kod almashish imkoniyatlarini ko'rdik va bir necha npm to'plamni baham ko'rdik, ammo bundan tashqari, u hech qachon mazmunli bo'lib chiqmadi.

Dasturchilar tajribasini yaxshilang

React Native bilan ishlaydigan tajriba aralash sumka edi. Ba'zi paytlarda, masalan, qurish vaqtlari, narsalar ancha yaxshi edi. Biroq, boshqalarda, masalan, disk raskadrovka kabi, vaziyat yanada yomonlashdi. Tafsilotlar ushbu ketma-ketlikning ikkinchi qismida keltirilgan.

Quyosh botish rejasi

Biz aniq maqsadlarimizga erisha olmaganimiz sababli, React Native boshqa bizga mos kelmaydi degan qarorga keldik. Biz hozirda sog'lom o'tish rejasini tuzish uchun jamoalar bilan ishlamoqdamiz. Biz React Native-ning barcha yangi xususiyatlarini to'xtatdik va yil oxiriga qadar eng ko'p sotiladigan ekranlarning aksariyatini o'z ona yurtimizga o'tkazishni rejalashtirmoqdamiz. Bunga qaramasdan amalga oshiriladigan rejalashtirilgan qayta rejalashtirish yordam berdi. Bizning mahalliy infratuzilma guruhimiz 2018 yilgacha React Native-ni qo'llab-quvvatlaydi. 2019 yilda biz qo'llab-quvvatlashni kamaytira boshlaymiz va ishga tushirish vaqtini boshlash kabi ba'zi React Native ustama narxlarini kamaytiramiz.

Airbnb-da biz ochiq manbaga ishonadigan kuchli odamlarmiz. Biz dunyodagi ko'plab ochiq manbali loyihalardan faol foydalanamiz va ularga hissa qo'shamiz, shuningdek, React Native ishimizning bir qismini ochdik. Biz React Native-dan uzoqlashganimiz sababli, biz React Native repozitsiyalarimizni va shuningdek, jamoatchilikka munosib bo'la olmadik. Jamiyat uchun eng yaxshisini qilish uchun, biz React Native ochiq manbali ishimizning ba'zi qismini mahalliy-rezolyutsiyani reaktsiya qilish uchun ko'chirishni boshlaymiz va allaqachon reaktsiya-ona-xaritalar bilan boshlaganmiz va mahalliy-navigatsiya va lottie-reaktsiya bilan shug'ullanamiz. -mahalliy.

Hammasi yomon emas

React Native bilan maqsadimizga erisha olmasak ham, React Native-dan foydalangan muhandislar odatda ijobiy tajribaga ega edilar. Ushbu muhandislardan:

  • 60% o'z tajribalarini ajoyib deb baholagan.
  • 20% biroz ijobiy edi.
  • 15% biroz salbiy edi.
  • 5% kuchli salbiy edi.

63 foiz muhandislar yangi imkoniyat uchun React Native ni tanlagan bo'lar edilar va 74 foizi yangi loyihani amalga oshirish uchun React Native deb hisoblashdi. Ta'kidlash joizki, ushbu natijalarda tanlangan noxolislik mavjud, chunki u faqat React Native-dan foydalanishni tanlagan odamlarni o'rganadi.

Ushbu muhandislar 220 ekranlarida 80,000 satr mahsulot kodlarini va 40,000 satr javascript infratuzilmasini yozdilar. Malumot uchun, biz har bir mahalliy platformada taxminan 10x kod va ekranlarning sonidan 4x.

Native reaktsiya - etuklik

Ushbu ketma-ket xabarlar bugungi kunda React Native bilan bo'lgan tajribamizni aks ettiradi. Biroq, Facebook va kengroq React Native hamjamiyati keng miqyosda gibrid ilovalar uchun React Native ishini qilishga bag'ishlangan. Reaktiv ona har doimgidan tezroq rivojlanmoqda. O'tgan yil davomida 2500 dan ortiq topshiriqlar bajarilgan va Facebook shunchaki biz duch kelayotgan ba'zi texnik muammolarni hal qilishayotgani haqida xabar tarqatdi. Agar biz endi React Native-ga mablag 'kiritmayotgan bo'lsak ham, biz ushbu o'zgarishlarni davom ettirishdan mamnunmiz, chunki React ona-tarjimasida texnik g'oliblar bizning mahsulotlarimizdan foydalanayotgan dunyo bo'ylab odamlar uchun haqiqiy yutuqqa erishadi.

Chiqish yo'llari

Biz React Native dasturini juda katta tezlikda harakat qilishni davom ettiradigan katta mavjud ilovalarga birlashtirdik. Biz duch kelgan ko'pgina qiyinchiliklar gibrid model yondashuvi bilan bog'liq edi. Biroq, bizning miqyosimiz kichik kompaniyalar hal qila olmagan ba'zi qiyin muammolarni olishga va hal qilishga imkon berdi. O'z ona tilingiz bilan bemalol ishlashingiz mumkin, ammo qiyin. React Native-ni ishlatadigan har bir kompaniyada o'zlarining shaxsiy tarkibi, mavjud ilovasi, mahsulotga bo'lgan talablari va React Native-ning etukligi kabi noyob funktsiyani o'z ichiga olgan tajribaga ega bo'ladi.

Hamma narsa birlashganda, ko'p funktsiyalar uchun qilingan, iteratsiya tezligi, sifati va ishlab chiquvchisi tajribasi bizning barcha maqsadlarimiz va kutgan narsalarimizga to'g'ri keldi. Ba'zan, biz o'zimizni mobil rivojlanish uchun o'yinni o'zgartirish arafasida turganimiz kabi his qilardik. Ushbu tajribalar juda ruhlantiruvchi bo'lsa ham, biz og'riq nuqtalari va bizning muhandislik tashkilotimizning mavjud ehtiyojlari va manbalariga qarshi ijobiy narsalarni muvozanatlashtirganimizda, biz endi bu uchun mos emas deb qaror qildik.

Yangi platformadan foydalanishni tanlash muhim qaror bo'lib, butunlay sizning jamoangiz uchun xos bo'lgan omillarga bog'liq. Bizning tajribamiz va boshqa joyga ko'chib o'tish sabablari sizning jamoangizga tegishli bo'lmasligi mumkin. Aslida, bugungi kunda ko'plab kompaniyalar uni muvaffaqiyatli ishlatishda davom etmoqdalar va bu hali ham boshqalar uchun eng yaxshi tanlov bo'lishi mumkin.

Garchi biz o'z ona tilimizga sarmoya kiritishni hech to'xtamagan bo'lsak-da, quyosh botishi bilan reaktsiyalangan mahalliy aholining kelib chiqishi har qachongidan ham yaxshiroq bo'lishi uchun ko'proq resurslarni bo'shatmoqda. Serialning keyingi qismida biz uchun yangi bo'lgan narsalarni o'rganish uchun davom eting.

Reaktiv Native bilan bo'lgan tajribamiz va Airbnb-da mobil aloqalarimiz uchun keyingi voqealarni yoritadigan bloglardagi xabarlarning to'rtinchi qismi.

  • 1-qism: Airbnb-da tubjoy reaktsiyasi
  • 2-qism: Texnologiya
  • 3-qism: Kross-platformali mobil jamoani yaratish
  • 4-qism: tubjoy reaktsiya to'g'risida qaror qabul qilish
  • 5-qism: Mobil uchun keyingi narsalar