Développer des applications iOS sur Windows avec des outils multiplateformes
Les outils multiplateformes sont géniaux: vous codez votre application une fois et l'exportez vers iOS et Android. Cela pourrait potentiellement réduire de moitié le temps et le coût de développement de votre application. Plusieurs outils multiplateformes vous permettent de développer des applications iOS sur un PC Windows, ou vous permettent de compiler l'application s'il y a un Mac dans votre réseau local.
Enfin, pas si vite…
L'écosystème d'outils multiplateforme est très vaste. D'un côté, vous avez des environnements de développement intégrés (IDE) complets comme Xamarin, qui vous permettent de créer des applications multiplateformes avec C #.
Le juste milieu est couvert par des outils comme PhoneGap, Cordova, Ionic et Appcelerator, qui vous permettent de créer des applications natives avec des composants HTML5. L'extrémité distante comprend des plates-formes plus petites comme React Native qui vous permettent d'écrire des applications natives avec un wrapper JavaScript.
La seule chose qui se démarque pour tous les outils multiplateformes est la suivante: ils ne sont pas adaptés aux débutants! Il est beaucoup plus facile d'accéder à un Mac, d'apprendre Swift et de créer une application simple que de démarrer avec Xamarin.
La plupart des outils multiplateformes nécessitent que vous ayez une compréhension de base de la programmation, des options de compilation et des écosystèmes iOS et Android. C'est quelque chose que vous n'avez pas vraiment en tant que développeur débutant!
Cela dit, examinons quelques options:
Si vous êtes familier avec les outils de développement et les IDE basés sur Windows, et si vous savez déjà comment coder, il vaut la peine de consulter Xamarin. Avec Xamarin, vous codez des applications en C #, pour plusieurs plates-formes, en utilisant les frameworks Mono et MonoTouch. Si vous connaissez le développement basé sur le Web, consultez PhoneGap ou Ionic. Vous vous sentirez comme chez vous avec HTML 5, CSS et JavaScript. N'oubliez pas: une application native fonctionne différemment d'un site Web… Si vous êtes familier avec JavaScript ou si vous préférez apprendre à coder JavaScript plutôt que Swift, consultez React Native. Avec React Native, vous pouvez coder des applications natives pour iOS et Android à l'aide d'un «wrapper». Choisissez toujours délibérément des outils multiplateformes parce que c'est une option intelligente, pas parce que vous pensez qu'un langage de plateforme natif est mauvais. Le fait qu'une option ne soit pas correcte ne rend pas immédiatement une autre option plus intelligente!
Si vous ne voulez pas rejoindre l'univers fermé d'Apple, n'oubliez pas que de nombreux outils multiplateformes sont exploités par des sociétés tout aussi malveillantes comme Google, Facebook, Microsoft, Adobe et Amazon.
Un argument souvent entendu contre les outils multiplateformes est qu'ils offrent un accès limité et un support pour le matériel des smartphones, et sont moins "accrocheurs" que leurs homologues natifs. Gardez à l'esprit que tout outil multiplateforme vous obligera à écrire du code spécifique à la plate-forme à un moment donné, surtout si vous souhaitez coder des fonctionnalités personnalisées.