Dans l’environnement mobile, Android et iOS se partagent plus de 90 % des parts de marché. Jusqu’en août dernier, IDC enregistrait pour Android 82,8 % de parts de marché contre 13,9 % pour iOS. Windows Phone en avait 2,3 %, BlackBerry OS possédait 0,3 % et le reste disposait de 0,4 %.
En termes d’applications, la même tendance est encore conservée. Statista notait en juillet dernier que Google Play disposait de 1 600 000 applications contre 1 500 000 pour l’Apple Store. Windows Phone Store en avait 340 000 et BlackBerry World 130 000.
C’est donc sans contredit que les développeurs ciblent en grande partie au moins un des systèmes d’exploitation favoris, c’est-à-dire Android ou iOS, sinon les deux plateformes.
Infinum, qui est une startup avec à son actif un grand nombre d’applications web et mobiles conçues pour les plateformes web et mobiles, a voulu savoir quelle plateforme (entre Android et iOS), offre des outils de développement beaucoup plus rentables. Entendez par rentabilité celle qui permet de concevoir une application plus vite et donc de gagner du temps et par-delà faire des économies.
Pour ne pas tirer de conclusions biaisées, Infinum s’est appuyé sur les chiffres issus de ses projets personnels. La première remarque que fait l’entreprise d’emblée est que le développement d’applications mobiles avec Java demande un temps de développement beaucoup plus long qu’une même application développée avec Objective-C ou Swift.
Bien évidemment, avancer de telles allégations sans début d’éléments matériels n’aurait aucun poids pour convaincre. Aussi, Infinum a-t-elle effectué des comparaisons sur la base de six projets qui ont porté sur la conception d’une même application pour ces deux plateformes avec une base de code et des techniques de développement peu contraignantes afin de ne pas fausser les résultats obtenus.
En parcourant ces six projets, Infinum a utilisé comme baromètre les lignes de code et le nombre d’heures de travail générées pour chaque plateforme. Pour obtenir les lignes de code dérivées des six projets servant de base d’évaluation, la startup a utilisé l’application Cloc. Ci-dessous le résultat obtenu.
Dans l’ensemble des six projets analysés par Infinum, les codes Java pour les applications Android sont plus longs d’environ 40 % que les codes pour les applications iOS. En s’en tenant à ces données, il est manifeste qu’écrire une même application en Java pour Android semble plus long qu’écrire une application avec Swift ou Objective-C, toutes choses égales par ailleurs.
Pour ce qui concerne le second aspect de l’analyse comparative, Infinum a utilisé l’application Productive afin d’avoir le temps mis pour concevoir ces applications.
Les résultats obtenus peuvent être interprétés comme un corolaire du premier point effectué. En effet, dans l’ensemble des six projets, le temps mis pour coder avec iOS est inférieur au temps mis pour coder avec Java. Cela donne une moyenne d’environ 30 % de temps supplémentaires que l’équipe d’Infinum a dû utiliser pour coder les applications Android avec Java par rapport au temps consacré à coder avec Swift ou Objective-C pour les applications iOS.
Infinum précise en outre que son équipe possède les mêmes compétences pour les deux plateformes afin que les résultats inférieurs de Java sur Android ne soient pas imputés aux compétences de son équipe.
Au vu de tous ces éléments, Infinum retient que si elle doit estimer le développement d’un même projet pour Android et iOS, alors que le temps de développement d’une application iOS sera fixé à 500 heures, celle d’Android sera fixée à 650 heures afin de respecter l’écart des 30 % supplémentaires.
Comme raisons avancées pour expliquer cette lenteur au niveau du développement Android, Infinum soutient que Java est un langage beaucoup plus verbeux que Swift ou Objective-C, ce qui pourrait expliquer la longueur des codes. En ce qui concerne le temps de développement qui est plus long, la startup met en avant certains facteurs tels que les émulateurs Android qui sont plus lents ou encore la fragmentation d’Android qui nécessite beaucoup plus de tests sur différents types d’appareils. Cela entraine nécessairement une rallonge temps pour le développement général d’une application Android.
Source : Infinum
Et vous ?
Que pensez-vous de ces résultats ? Partagez-vous les mêmes conclusions ?
Entre Java et les langages d'Apple, lequel trouvez-vous plus rapide pour développer des applications mobiles ?
Voir aussi
Forum Programmation système
Java pour Android et Swift/Objective-C pour iOS : quelle plateforme permet de développer plus vite ?
Infinum penche pour la plateforme d'Apple
Java pour Android et Swift/Objective-C pour iOS : quelle plateforme permet de développer plus vite ?
Infinum penche pour la plateforme d'Apple
Le , par Olivier Famien
77 % | ||
15 % | ||
8 % |
Une erreur dans cette actualité ? Signalez-nous-la !