Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
| Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
|
react_native [2026/03/05 09:11] enric_mieza_sanchez |
react_native [2026/03/06 17:34] (actual) enric_mieza_sanchez [React Native] |
||
|---|---|---|---|
| Línia 3: | Línia 3: | ||
| [[React]] és un framework per a JavaScript molt popular desenvolupat per Facebook/ | [[React]] és un framework per a JavaScript molt popular desenvolupat per Facebook/ | ||
| + | [[https:// | ||
| + | |||
| + | En React Native no podrem crear tags HTML genèrics com H1 o DIV, ja que aquests no tenen un equivalent als dispositius mòbils (sí que funcionarien en web, però llavors no seria multiplataforma). En el seu lloc, cal emprar els Native Components com View, Text, Image, ScrollView i TextInput. | ||
| + | |||
| + | * Web oficial: https:// | ||
| * [[https:// | * [[https:// | ||
| + | {{tag># | ||
| - | Hi ha 2 maneres de treballar: | + | ===== Eines bàsiques ===== |
| + | |||
| + | Per poder treballar amb React Native caldrà disposar de: | ||
| + | * NodeJS versió LTS | ||
| + | * Android Studio (o com a mínim disposar de les SDKs al PC). | ||
| + | * XCode si volem treballar en iOS. | ||
| + | |||
| + | Hi ha 2 eines maneres de treballar | ||
| * Expo: és una plataforma que compila i realitza moltes operacions per tu sobre la seva infraestructura, | * Expo: és una plataforma que compila i realitza moltes operacions per tu sobre la seva infraestructura, | ||
| * React Native CLI: totes les eines estan en local. Ens permet mes personalització i menys dependència de tercers. | * React Native CLI: totes les eines estan en local. Ens permet mes personalització i menys dependència de tercers. | ||
| - | Treballarem amb React Native CLI ja que l' | + | Treballarem |
| + | |||
| + | \\ | ||
| + | |||
| + | ===== Creació del projecte ===== | ||
| Crear un projecte React Native CLI (ens demanarà el nom del projecte): | Crear un projecte React Native CLI (ens demanarà el nom del projecte): | ||
| Línia 19: | Línia 36: | ||
| * si instal·lem CocoaPods (per a iOS és necessari) | * si instal·lem CocoaPods (per a iOS és necessari) | ||
| - | Entrem al projecte | + | Entrem al projecte. |
| + | |||
| + | En Linux ens caldrà obrir un altre terminal per engegar Metro: | ||
| + | $ npx react-native-start | ||
| + | |||
| + | Llancem | ||
| $ npm run ios | $ npm run ios | ||
| $ npm run android | $ npm run android | ||
| + | $ npx react-native run-android | ||
| + | $ npx react-native run-ios | ||
| Inicialment la plataforma web no està disponible. | Inicialment la plataforma web no està disponible. | ||
| + | \\ | ||
| ===== Primer codi exemple ===== | ===== Primer codi exemple ===== | ||
| - | <file javascript | + | Elimineu el codi d' |
| + | SafeAreaProvider i SafeAreaView impedeixen que el contingut vagi a la barra d' | ||
| + | $ npm install react-native-safe-area-context | ||
| + | |||
| + | Utilitzem només els elements permesos per React Native, i fem un bucle per omplir la pantalla i comprovar el ScrollView. | ||
| + | |||
| + | <file javascript App.jsx> | ||
| import { NewAppScreen } from ' | import { NewAppScreen } from ' | ||
| import { StatusBar, ScrollView, StyleSheet, useColorScheme, | import { StatusBar, ScrollView, StyleSheet, useColorScheme, | ||
| Línia 39: | Línia 70: | ||
| const arrayIndices = Array.from({ length: 100 }, (_, i) => i); | const arrayIndices = Array.from({ length: 100 }, (_, i) => i); | ||
| - | return < | + | return |
| + | < | ||
| < | < | ||
| < | < | ||
| < | < | ||
| < | < | ||
| - | {arrayIndices.map( (elem) => < | + | {arrayIndices.map( (elem) => < |
| </ | </ | ||
| </ | </ | ||
| - | </ | + | </ |
| + | </ | ||
| } | } | ||