Skip to main content

Basics

reactnative.dev - React Native docs.

  • React Native использует обычный технологии обычного React, но без react-dom (нужен для web).
  • React (without React Dom) + React Native (react-components --> mobile native components) --> Mobile App
  • React Native что-то наподобие react-dom только не для браузеров, а для мобильных платформ.
  • React Native это не обертка для web-приложения (как Electron), нельзя просто взять и обернуть web-приложение на React и создать мобильное приложение, для мобильных платформ нужно отдельно разрабатывать на React Native. Если уже есть web-приложение на React, то можно частично с него переиспользовать разметку, логики и структуру компонентов.

Но работает в обратную сторону (хотя это не супер-практика), то есть если вы сразу разарабатываете приложение на React Native, то можно сделать и web-версию тоже.


React Native ui-component

const App = props => {
return (
<View>
<Text>Hello, World!</Text>
</View>
);
}

export default App;

Такой код ui-компонентов компилируется в нативный код мобильных платформ, не в js-код как в случае с обычным React.

waterfall


React Native logic

В отличие от ui-компонентов, логический код не компилируется в нативный, а преобразуется в js-код, который используется внутри приложения. Для того, чтобы мобилиная платформа понимала js, нужен так называемый translation bridge.


Языки программирования в мобильных платформах

  • Android: Java, Kotlin --> Android Studio
  • iOS: Objective-C, Swift --> XCode