Développer une application iOS sur Windows, c'est possible !
Tags: ios, javascript
Published: 2024-03-06 19:32:50

Pour développer une application mobile, on a besoin de certains outils et logiciels afin de les compiler sur Android et/ou iOS. Néanmoins, il est difficile pour un utilisateur Windows de développer une application pour les appareils d'Apple.

Contrairement pour Android, Apple restreint le développement d'applications iOS aux utilisateurs possédant un macOS. 



##  Pourquoi le développement iOS est limité ? 
![Simple gif](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6zeptrqbj72z5lcka288.gif)

En effet, on doit posséder un MacBook Pro ou un MacBook Air pour développer une application pouvant se compiler sur un environnement iOS et macOS.

Cependant, on sait à quel point le coût d'un appareil de chez Apple est élevé. De ce fait, le nombre de personnes pouvant compiler du code pour une application iOS est donc limité.

Heureusement pour les utilisateurs Windows, d'autres solutions existent et je vous en présente une d'entre elles. 



##  Comment développer une application iOS sur Windows ? 
On peut évidemment penser à une solution toute bête à l'heure d'aujourd'hui où nous déployons énormément d'applications sur le Cloud, à passer par une Virtual Machine.

Oui, c'est possible de créer une machine virtuelle et d'installer une version macOS grâce à une image ISO par exemple. Néanmoins, nous n'avons pas tous des appareils très puissant dotés d'une grande quantité de RAM, de SSD et de processeurs.

C'est pourquoi une autre solution existe. 



##  Développer une application iOS en temps réel avec du JavaScript 
Créer une application pour la compiler sur iOS avec du JavaScript, c'est fou ! Mais de nos jours, nous ne sommes plus impressionnés par l'avancé technologique 😅

L'application Expo Go vous offre l'aperçu en direct de vos modifications apportées sur votre éditeur de code.

En plus de compiler en temps réel l'application, on peut aussi lancer un build mais je vous laisse regarder toutes les informations sur leur site https://expo.dev

Il faut que vous ayez une version de Node.JS supérieure ou égale à 16. 

1. Installez le CLI de Expo Go : **npm install -g expo-cli**
2. Une fois le CLI d'installé, lancez l'initialisation du projet : **expo init MonProjet**
3. Déplacez-vous dans le dossier crée : **cd MonProjet**
4. Lancez le projet : **expo start**

Une fois que vous avez lancé l'application, vous verrez un QR code dans votre terminal. Vous pourrez scanner ce QR code avec l'application **Expo Go** une fois installé sur votre téléphone pour voir votre application en direct.

Installez donc l'application Expo Go sur l'App Store de votre iPhone et ouvrez-là.

Suivez-les instructions affichées sur l'application jusqu'à ce qu'elle vous dise de lancer la commande suivante sur votre PC : **expo start**

A partir de là, vous devez scanner le QR Code à l'aide de l'appareil photo de votre iPhone. Cela vous redirigera vers l'application avec un chargement. 



##  Cas pratique : utiliser un tunnel pour se connecter avec Expo Go (iOS) 

Si jamais vous obtenez un timeout ou un chargement trop long, vous devez suivre les étapes suivantes sur votre Windows :

1. Arrêter le serveur et effectuer cette commande pour lancer le serveur avec un tunnel : **npx expo start --tunnel**
Cela vous demandera d'installer un package, il faut accepter.
2. Relancer la commande si jamais ce n'est pas automatique.