Vous avez envie de développer des applications mobiles et vous ne savez pas encore quel le technologie choisir ? Vous hésitez entre Android et iOS ou entre Java et Swift ? Cet article est pour vous ! Pour bien comprendre les spécificités de ces technologies, la Wild Code School est allée interviewer en exclusivité deux des meilleurs développeurs mobiles seniors toulousains : Jean-Jacques Wacksman et Maxime Fudym (Waxym).
La première partie de cet entretien est ici.
Le salaire d'un développeur iOS est-il plus élevé ?
Jean-Jacques : Non, c'est pareil
Maxime : Ça, ça a évolué. Il n'y a pas si longtemps c'était le cas. Mais aujourd'hui un développeur Android est autant demandé qu'un développeur iOS.
Jean-Jacques : D'ailleurs, on a toujours fixé le même tarif et aucun de nos clients nous a facturé différemment parce que l'un était développeur iOS et l'autre Android.
On annonce souvent le déclin d'iOS au profit d'Android déjà prédominant sur le marché des smartphones. Qu'en pensez-vous?
Jean-Jacques : C'est vrai au niveau statistique mais impossible d'envisager un déclin sur la plateforme iOS. Apple est l'une des dix entreprises les plus rentables au monde ! Et il y aura toujours des développeurs iOS même si les chiffres indiquent qu'Android prend le pas sur iOS sur le marché des smartphones. En revanche, Apple reste prédominant sur les appli payantes. Si l'utilisateur Android cherche la gratuité et le pas cher, l'utilisateur iOS cherche lui la qualité, le haut de gamme. Et il est prêt à dépenser pour ça.
Un développeur doit-il prévoir un temps de développement plus long sur iOS ou Android ?
Jean-Jacques : C'est pareil. Je dirais même que pour des développeurs de même niveau technique et d’expérience, les temps de développements sont sensiblement les mêmes.
Maxime: D'accord aussi. On reste à peu près sur le même timing qu'on développe sous iOS ou sous Android.
Vous avez récemment mis en ligne une application mobile Engram. Combien de temps avez-vous pris pour développer cette appli sous Android et iOS ?
Maxime : C'est difficile à dire. À peu près 60 jours de développement sur chaque appli (Android et IOS) et environ 30 jours de développement additionnel sur la partie serveur.
Jean-Jacques : Tout ça cumulé, ça doit effectivement faire environ 150 jours total de développement sur les deux plateformes.
Avez-vous rencontré les mêmes difficultés de développement sur cette application ?
Maxime : Pas du tout ! Sur Android, j'ai eu plus de difficulté sur la partie graphique. D'ailleurs mon appli est moins aboutie visuellement que celle sous iOS. Par contre, je n'ai pas eu les difficultés de Jean-Jacques sur la partie liée à la géo-localisation de l'utilisateur et la partie notification.
Jean-Jacques : Le but de notre appli est de proposer à quelqu'un d'envoyer un message (vidéo, texte, photo) à un ami/famille ou autre en choisissant la date et le lieu de réception (dans 5 mois comme dans 3 ans). Donc l'appli doit pouvoir délivrer un message dans le temps et dans l'espace ! Mais sur iOS cela pose deux problèmes majeurs : la géo-localisation et les notifications. Les smartphones iOS sont paramétrés de telle sorte qu'il est impossible pour une appli de récupérer les données précises de l'utilisateur sur sa localisation exacte, en temps réel lorsque l’application n’est pas au premier plan, et impossible aussi de réveiller une application non lancée à une date et heure précise (ça parait fou mais aucune appli ne peut faire la même chose que l’application de réveil d'Apple, pas de concurrence).
En revanche, sur la partie design j'ai perdu beaucoup moins de temps que Maxime. Grâce à Interface builder et de très bonnes API graphiques natives, j'ai pu développer ça assez vite.
Si je souhaite développer une application, quel développement me coûtera plus cher ? Android ou iOS ?
Jean-Jacques : iOS of course ! Pour développer une appli iOS, il faut la machine d'Apple, les devices d'Apple (c'est à dire les différents smartphones sur lesquels tester l'appli avant la mise en ligne) sans compter la licence d'Apple pour avoir le droit de publier sur le Store (99 dollars l'année !). Le coût d'entrée est cher… C'est d'ailleurs pour cette raison que la grande majorité des étudiants apprennent à coder sous Android plutôt que sur iOS. C'est plus facile et moins coûteux pour une école/université de s'équiper pour du développement Android.
Que pensez-vous des langages de programmation hybrides alternatifs? Les langages de programmation natifs sont-ils voués à disparaître ?
Maxime : C'est un vrai débat ! Mais Apple semble avoir tout verrouillé justement pour se prémunir de ça.
Jean-Jacques : Il existe aujourd'hui des outils comme Xamarin (dont le langage de programmation associé est C#) qui prouve que le fossé entre hybride et natif se resserre. Aujourd'hui, on ne perçoit presque plus la différence entre des applis développées en natif et en hybride. Là où ça bloque encore un peu c'est sur le code graphique qui ne peut pas être écrit en une seule fois pour deux plateformes différentes. Dans tous les cas, c'est évident qu'un outil comme Xamarin a de grosses parts de marché à prendre ces prochaines années.
Maxime : C'est vrai qu'aujourd'hui, pour une appli simple qui respecte les standards, on ne voit plus la différence entre une appli Xamarin et une appli native. À terme c'est une économie de temps pour une entreprise de passer à du développement sous Xamarin. Pour moi, s’il y a une techno hybride qui a de l’avenir c’est Xamarin, en particulier avec l’appui de Microsoft. D'ailleurs Jean-Jacques et moi, sommes en train de refaire une appli en Xamarin !
Pour découvrir et télécharger ENGRAM, la surprenante appli de Jean-Jacques et Maxime, c'est par ici : iOS / Android.
Vous voulez créer une application mobile, un site vitrine, un site mobile en responsive design ou encore le prototype de votre plateforme ? Donnez-lui vie grâce à la Wild Code School.