Bosh sahifa Wiki React Native

React Native

React Native — Facebook (hozirgi Meta) tomonidan 2015-yilda taqdim etilgan, JavaScript va React orqali tabiiy (native) mobil ilovalar yaratish freymvorki. U veb-ishlab chiqish bilimlarini mobil ilova yaratishga bevosita ko’chirish imkonini beradi.

Facebook tomonidan yaratilishi

Facebook ichki “hackathon” tadbirida veb-dasturchilarga mobil ilovalarni ham React orqali yozish imkonini beruvchi prototipni yaratgan, bu g’oya keyinchalik to’liq huquqli React Native freymvorkiga aylandi. Kompaniyaning maqsadi Facebook’ning o’z mobil ilovalarini tezroq rivojlantirish edi.

“Learn once, write anywhere” falsafasi

React Native’ning rasmiy shiori — “bir marta o’rgan, istalgan joyda yoz” (Flutter‘ning “yoz bir marta, ishlat istalgan joyda” shioridan farqli). Bu farq muhim: React Native dasturchidan bir xil kodni majburiy ravishda barcha platformalarda ishlatishni talab qilmaydi, balki bir xil dasturlash tushunchalari va uslubidan foydalanishni taklif qiladi.

Native komponentlarga render qilish printsipi

React Native’ning eng muhim texnik xususiyati — u HTML elementlari o’rniga, haqiqiy native UI komponentlarga (Android‘da native tugma, iOS‘da native tugma) render qiladi. Bu esa React Native ilovalarining WebView asosidagi vositalardan farqli, chinakam native tezlik va ko’rinishga ega bo’lishini ta’minlaydi.

React’dan farqi

React veb-brauzerda HTML elementlarini boshqarsa, React Native xuddi shu dasturlash modelini (komponentlar, holat, props) mobil platformaning native elementlariga qo’llaydi. Bu o’xshashlik React bilimiga ega dasturchilarga React Native’ni nisbatan tez o’zlashtirish imkonini beradi, garchi ba’zi mobilga xos tushunchalarni qo’shimcha o’rganish talab qilinsa-da.

Yangi arxitektura evolyutsiyasi

So’nggi yillarda React Native “Yangi Arxitektura” (Fabric render dvigateli va JSI — JavaScript Interface) ni joriy etib, JavaScript va native kod orasidagi aloqani ancha tezlashtirdi. Bu yangilanish avvalgi “bridge” arxitekturasidagi samaradorlik cheklovlarini bartaraf etishga qaratilgan.

Bog’liq tushunchalar

React, Facebook, Mobil ilova, Flutter, Expo, JavaScript