ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ основному содСрТимому

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