Что такое React Native
React Native — это фреймворк с открытым исходным кодом, разработанный Meta (ранее Facebook), который позволяет создавать мобильные приложения для iOS и Android с использованием JavaScript или TypeScript и знакомой модели компонентов из React.
Основная идея React Native — писать один код на языке, известном веб-разработчикам, но при этом получать приложение, которое выглядит и ведёт себя как нативное. Это достигается за счёт того, что компоненты React Native не рендерятся в HTML-элементы DOM, а транслируются в настоящие нативные UI-компоненты операционной системы: UIButton на iOS или android.widget.Button на Android.
Почему используют React Native
- Единая кодовая база для двух платформ. Большая часть логики и интерфейса может быть общей, что снижает время и стоимость разработки.
- Знакомый синтаксис для тех, кто уже знает React. Используются те же принципы: компоненты, состояние, эффекты.
- Доступ к нативным возможностям через модули (камера, геолокация, сенсоры и др.), хотя иногда требуется написание дополнительного нативного кода.
- Большое сообщество и экосистема, включая библиотеки для навигации, хранения данных, анимаций и тестирования.
Чем React Native отличается от веб-React
В веб-приложении на React компоненты рендерятся в DOM: <div>, <p>, <img> и стилизуются с помощью CSS. В React Native этого нет:
- Вместо
<div>используется<View> - Вместо
<p>или<span>—<Text> - Вместо
<img>—<Image> - Стилизация происходит не через CSS-файлы, а через объекты с camelCase-свойствами, например:
const styles = { container: { flex: 1, backgroundColor: 'white', padding: 16 } }; - Нет доступа к таким веб-API, как
window,document,localStorage— они заменяются на мобильные аналоги.
React Native не использует WebView (в отличие от гибридных решений вроде Cordova). Он взаимодействует с нативной платформой напрямую, что обеспечивает лучшую производительность и внешний вид.