Articles
Apprendre Le Web
< Retour
27/11/2023
Qu'est ce que React Native ? Exemples et Explications

Qu'est ce que React Native ? Exemples et Explications

Introduction à React Native: Développement d'Applications Mobiles avec JavaScript

React Native est un framework open-source développé par Meta (anciennement Facebook) pour la création d'applications mobiles natives sur les plateformes iOS et Android, en utilisant JavaScript et React. Cette approche permet le partage de code entre les deux plateformes, offrant ainsi une solution efficace et économique pour le développement mobile.

Avantages de React Native

1. Performance Élevée

React Native offre des performances comparables aux applications natives grâce à l'utilisation de composants natifs et à l'exécution de tâches gourmandes en ressources sur un thread dédié.

2. Partage de Code

La possibilité de partager une grande partie du code entre les applications iOS et Android permet un développement plus rapide et une maintenance simplifiée.

3. Expérience Utilisateur

Les applications React Native offrent une expérience utilisateur fluide, avec des éléments d'interface utilisateur indistinguables de ceux des applications natives.

React Native, un choix approuvé par de nombreuses applications populaires

React Native est devenu un choix populaire parmi de nombreuses applications de premier plan, offrant une solution efficace pour le développement mobile multiplateforme. Voici quelques-unes des applications récentes qui ont adopté React Native:

Logo meta

Facebook & Instagram

  • Meta (anciennement Facebook) utilise intensivement React Native pour ses applications mobiles, offrant une expérience utilisateur fluide sur iOS et Android. L'application de partage de photos Instagram, également détenue par Meta, est développée en grande partie avec React Native, démontrant ainsi la fiabilité de ce framework.

UberEats

  • UberEats, le service de livraison de repas d'Uber, a choisi React Native pour son développement, garantissant une interface utilisateur cohérente sur différentes plateformes.

Discord

  • L'application de communication en ligne Discord utilise React Native pour offrir une expérience utilisateur native, que ce soit sur iOS ou Android.

Skype et Teams par Microsoft

  • Microsoft a adopté React Native pour le développement de ses applications de communication telles que Skype et Teams, illustrant la polyvalence de ce framework.

Coinbase

  • La plateforme d'échange de cryptomonnaie Coinbase a fait le choix de React Native pour son application mobile, combinant ainsi efficacité de développement et performances natives.

Walmart

  • Walmart, l'un des plus grands détaillants au monde, utilise React Native dans certaines parties de son application mobile, offrant une expérience d'achat optimisée.

Bloomberg

  • L'application Bloomberg, fournissant des informations financières et des actualités, s'appuie sur React Native pour garantir une expérience utilisateur intuitive sur différentes plateformes.

Mobile view de Discord

Projet Fil Rouge: Création d'une Application de Liste de Tâches

Pour illustrer les concepts de React Native, nous allons créer une application simple de liste de tâches. Suivez les étapes ci-dessous pour mettre en place votre projet.

Étape 1: Configuration du Projet

Créez un nouveau projet React Native avec la commande suivante:

npx react-native init TodoApp

Étape 2: Structure du Projet

Organisez le projet en créant les dossiers suivants:

  • components: Contient les composants réutilisables.
  • screens: Contient les écrans de l'application.
  • navigation: Gère la navigation entre les écrans.

Étape 3: Création des Composants

Dans le dossier components, créez les composants suivants:

Task.js

// Task.js
import React from 'react';
import { View, Text, StyleSheet } from 'react-native';

const Task = ({ text }) => {
  return (
    <View style={styles.task}>
      <Text>{text}</Text>
    </View>
  );
};

const styles = StyleSheet.create({
  task: {
    padding: 16,
    backgroundColor: '#fff',
    borderBottomWidth: 1,
    borderBottomColor: '#ddd',
  },
});

export default Task;

Étape 4: Création de l'Écran Principal

Dans le dossier screens, créez l'écran principal:

HomeScreen.js

// HomeScreen.js
import React from 'react';
import { View, Text, StyleSheet, FlatList } from 'react-native';
import Task from '../components/Task';

const HomeScreen = () => {
  const tasks = [
    { id: '1', text: 'Faire les courses' },
    { id: '2', text: 'Répondre aux e-mails' },
    // Ajoutez d'autres tâches
  ];

  return (
    <View style={styles.container}>
      <Text style={styles.title}>Liste de Tâches</Text>
      <FlatList
        data={tasks}
        keyExtractor={(item) => item.id}
        renderItem={({ item }) => <Task text={item.text} />}
      />
    </View>
  );
};

const styles = StyleSheet.create({
  container: {
    flex: 1,
    padding: 16,
    backgroundColor: '#f4f4f4',
  },
  title: {
    fontSize: 24,
    fontWeight: 'bold',
    marginBottom: 16,
  },
});

export default HomeScreen;

Étape 5: Navigation entre les Écrans

Utilisons React Navigation pour naviguer entre les écrans. Installez la dépendance avec:

npm install @react-navigation/native

Puis, créez le fichier AppNavigator.js dans le dossier navigation:

AppNavigator.js

// AppNavigator.js
import React from 'react';
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
import HomeScreen from '../screens/HomeScreen';

const Stack = createStackNavigator();

const AppNavigator = () => {
  return (
    <NavigationContainer>
      <Stack.Navigator>
        <Stack.Screen name="Home" component={HomeScreen} />
        {/* Ajoutez d'autres écrans ici */}
      </Stack.Navigator>
    </NavigationContainer>
  );
};

export default AppNavigator;

Étape 6: Intégration de la Navigation dans l'Application

Modifiez le fichier App.js pour utiliser la navigation:

App.js

// App.js
import React from 'react';
import AppNavigator from './navigation/AppNavigator';

const App = () => {
  return <AppNavigator />;
};

export default App;

Ainsi, vous avez mis en place une structure de base pour une application React Native de liste de tâches. Personnal

isez et étendez le projet selon vos besoins.

Intégration d'Images

Ajoutons une image à une tâche. Téléchargez une image et placez-la dans le dossier assets.

Task.js (Mise à Jour)

// Task.js
import React from 'react';
import { View, Text, StyleSheet, Image } from 'react-native';

const Task = ({ text, imageUrl }) => {
  return (
    <View style={styles.task}>
      {imageUrl && <Image source={{ uri: imageUrl }} style={styles.image} />}
      <Text>{text}</Text>
    </View>
  );
};

const styles = StyleSheet.create({
  task: {
    padding: 16,
    backgroundColor: '#fff',
    borderBottomWidth: 1,
    borderBottomColor: '#ddd',
  },
  image: {
    width: 50,
    height: 50,
    marginRight: 16,
  },
});

export default Task;

Utilisez la prop imageUrl pour spécifier l'URL de l'image dans votre écran principal.

Conclusion

React Native offre une approche puissante pour le développement d'applications mobiles, combinant la facilité du développement web avec la performance des applications natives. Avec la création d'une simple application de liste de tâches, vous avez maintenant les bases pour explorer davantage React Native.

Liens Utiles