La fragmentation Android dans toute sa complexité

Mickaël Bazoge |

Sous Android, la fragmentation n’est pas un mythe. Les développeurs ont plus ou moins appris à vivre avec ce casse-tête qui n’est pas prêt de disparaître. L’étude annuelle d’OpenSignal sur le sujet est à cet égard très éclairante, et comme souvent une image vaut mille mots ; voici donc graphiquement à quoi ressemble le paysage matériel de la plateforme Android :

Cliquer pour agrandir

Les trois « carrés » les plus importants représentent les smartphones les plus populaires : il s’agit de trois mobiles Samsung, les Galaxy SIII, S5 et S4. Globalement, le constructeur coréen détient la plus grande part avec 37,8%, une baisse importante puisque Samsung détenait l’an dernier 43% de ce même marché (47,5% en 2012).

Cliquer pour agrandir

OpenSignal a comptabilisé 24 093 terminaux Android distincts cette année, soit près de 5 300 de plus qu’en 2014. La fragmentation a doublé en deux ans puisque le nombre d’appareils Android était de 11 868 en 2013. Il y a aujourd’hui 1 294 constructeurs qui se battent sur le marché Android, ce qui représente mille fabricants de plus (!) qu’en 2012. La diversité (voire la confusion) de la plateforme Android s’incarne aussi dans les tailles d’écran des différents smartphones vendus :

Cliquer pour agrandir

Malgré le lancement des iPhone 6 et 6 Plus, la plateforme iOS est restée très homogène :

Et il n’y a pas que les différences matérielles dont les développeurs doivent tenir compte : tous ces appareils ne fonctionnent pas sous la même version d’Android (lire aussi iOS 8 adopté à 85 %, Android Lollipop à 18,1 %).

Cliquer pour agrandir

La comparaison avec iOS est elle aussi très nette quand on regarde les chiffres des différentes versions d’Android :

Cliquer pour agrandir

Pour établir ces résultats, OpenSignal exploite les statistiques issues des 3,1 millions d’appareils Android sur lesquels a été installée l’application de l’éditeur.

avatar loupsolitaire97 | 

Mon vaillant iPhone 5 paraît tellement petit ^^

avatar Ze_misanthrope (non vérifié) | 

Pendant ce temps, votre site tourne sur encore plus de diversité d'écrans et de constructeurs et personne ne s'en plaint.
Cette méconnaissance des outils de développeur et de comment on développe une application est affolante, c'est marrant que des millions de développeurs fassent des applications sans se plaindre...
Mais bon sur iGen, le plus important est de faire des visites avec des news sensationelles, non?

Pour info, un autre article, par de vrais développeurs: http://rustyshelf.org/2014/07/08/the-android-screen-fragmentation-myth/

avatar C1rc3@0rc | 

Oui tu peux aussi developper pour la machine qui sortira dans 6 et 6 mois plus tard tu developpes pour la machine qui sortira dans 6 mois en "oubliant" la machine pour laquelle tu as programmé 6 mois avant...
Avec un peu de chance, on va finir par avoir un developpeur par machine vendue, mais il bossera que 6 mois, et apres chomage.

La fragmentation est une realite, et une realite qui est la consequence de l'obsolescence programmee, qui dans le monde Android est devenue une course a l'echalotte...

Ceci dit, j'aimerai bien savoir quel soft ils ont utilisé pour produire les graph statistique presentés?

avatar Ze_misanthrope (non vérifié) | 

Tu n'as aucune idée de ce dont tu parles, c'est affolant.
Regarde un site web, il y a 100 fois plus de tailles d'écran, et il fonctionne toujours !
On ne fait aucun caca nerveux pour les développeurs web dont la fragmentation est encore plus grande et les outils bien pires.
Pour quelle raison? Simplement car les outils de développement sont faits pour être extensible, et ne pas développer machine part machine

avatar struddel | 

C'est vrai et faux, je suis d'accord pour dire que la fragmentation sous Android ne me semble pas si folle (ma boîte développe une appli android et on s'en tape totalement de la fragmentation, ça ne gêne absolument pas), mais en revanche pour le web, c'est justement compliqué.

On développe également des portails web de services à destination de nos clients et la compatibilité d'affichage est bien plus fastidieuse à gérer.

avatar LeComFou | 

Oh le bad ...

avatar Fabricio33 | 

C'est le revers de la médaille, come un cheval de Troie, Google a proposé, son OS, sans condition, pour qu'une majorité de constructeur l'adopte, et n'a définit aucun standard matériel, qui aurait sans doute limité cette hémorragie !

avatar EricBM1 | 

Je plains les développeurs. Ça doit être un sacré bordel pour faire en sorte et bien vérifier que les applis soient compatibles avec toutes les variantes d'Android et de matériel.

avatar Bardyl | 

Même si c'est « compliqué », on s'habitue assez vite. Il faut quand même noter que la plateforme Android permet de régler beaucoup de problèmes, notamment au niveau des views qui sont très bien gérées pour convenir à un maximum de tailles d'écrans.

avatar J'en_crois Pas_mes yeux | 

Y-a-pas-photos
Entre les graphics androïd et ceux d'Apple, Y-a-pas-photos.
Je préfère les mosaïques de Klee
http://www.repro-tableaux.com/a/paul_klee/kunstdruckevonpaulkleebei.html
aux monochromes ennuyeux de Klein
https://fr.wikipedia.org/wiki/Yves_Klein#/media/File:Untitled_blue_monochrome2.png
chacun ses gouts ;-)

avatar TomSupraBoy | 

Une bonne idée de mosaïque pour une salle de bain.

avatar poulpe63 | 

C'est sûr que pas mal de développeur sur iOS ne s'embêtent pas : leurs (nouvelles) applis et/ou leurs mises à jour ne marchent que sur la dernier version d'iOS (et c'est de plus en plus le cas sous Mac OS). Donc, ceux qui sont sur une version précédente (par choix ou parce que c'est impossible de mettre à jour) : bye bye.
Je ne connais pas le monde Android, en matière de compatibilité logiciel, mais côté PC/Windows il y a encore pas mal d'applis qui sortent compatible Windows 7 (qui a 6 ans !) voire Windows XP (sauf certains jeux/applis 64 bits).

avatar Lemmings | 

Amusant, vous faites les articles en "urgence" quand ça parle des failles de sécurité ou de la fragmentation d'Android. Par contre l'annonce des mises à jour de sécurité mensuelle (qui va se généraliser chez tous les gros fabricants), elle... Rien du tout...

avatar Mickaël Bazoge | 
C'est donc pour ça que cet article n'existe pas alors : https://www.igen.fr/android/2015/08/android-google-repond-aux-failles-de-securite-par-des-mises-jour-mensuelles-92431
avatar Lemmings | 

Pas au moment où j'ai posté non. Après si on refait l'histoire dans le désordre on change pas mal de choses ;) Mon commentaire reste valable, la news de Google datait d'hier soir. quand la faille avait été révélée, iGen était parmi les premiers sites à faire un article sur le sujet, quand on annonce la correction, c'est moins urgent d'un coup...

avatar Ast2001 | 

Désolé mais je ne comprends pas trop le but de cet article (qui est d'ailleurs déjà passé à plusieurs reprises ici). L'idée c'est d'expliquer qu'Android a depuis le début des mécanismes permettant de gérer plusieurs résolutions d'écrans ?

avatar tap | 

Cet article fait passer Android comme une plateforme vraiment complexe pour les développeurs. Dans les faits, ça ne pose pas vraiment de problème.

Remarquez, la fragmentation d'android a toujours l'un des sujets principaux pour discréditer la plateforme. Quand je lis l'article: "OpenSignal a comptabilisé 24 093 terminaux Android distincts cette année, soit près de 5 300 de plus qu’en 2014.". A vous entendre c'est un problème puisque vous indiquez plus tard "La diversité (voire la confusion) de la plateforme Android s’incarne aussi".
Pour Android, je doute que ça soit vraiment un problème vous voyez, s'ils pouvaient le tripler en 2016, ils seraient bien heureux.

Les tailles d'écran, est-ce vraiment un problème ? C'est pris en charge par Android :o

Je trouve les données de l'article intéressante, pour moi elles offrent surtout une vue ensemble de l'énorme écosystème d'Android, plutôt que sa soit disante complexité.

avatar Ast2001 | 

Sans compter qu'indirectement l'article pointe des failles d'iOS (souvenons nous qu'à l'arrivée de l'iPhone 5, les applis ne s'adaptaient pas automatiquement à la nouvelle hauteur et qu'il y avait un bandeau en haut et bas - chose inimaginable sous Android). De tête, Apple avait même fait un logo 'Designed for iPhone 5' ou un truc comme ça.

Bref, pas trop compris ce que l'auteur veut démontrer :-)

avatar flagos | 

C'est clair que l'article est juste bête sur ce point. Android gère plutôt bien les différentes tailles d'écran... Et finalement le problème pointé par l'article est plus présent du côté d'iOS qui hardcode les tailles d'écrans dans les applis alors que c'est une hérésie. D'ailleurs, Apple n'avait pas change de stratégie sur ce point dernièrement ? Des dev iOS pour confirmer ?

Au final, l'article est tellement biaisé et bêtement à charge qu'au lieu de décrédibiliser Android ou Google, il décrédibilise surtout Macg, qui par ailleurs peut faire de très bons articles.

Dommage...

avatar kyzako | 

@flagos :

Si je ne dis pas de bêtises, Apple avait en effet présenté un système permettant la mise en place automatique du bon format selon l'appareil utilisé. Ce fut présenté (toujours si je ne dis pas de bêtises), en même temps qu'iOS 7 ou 8.

avatar flagos | 

D'accord. De ce que je comprends, c'est pas du responsive design, ca reste des valeurs d'écrans hardcodés et un mecanisme qui va choisir le bon layout qui doit etre refait et dupliqués pour chaque appareil.

avatar Rez2a | 

@flagos :
C'est plus compliqué que ça, techniquement depuis iOS 8, un écran n'a que 2 propriétés qui peuvent avoir 2 valeurs : les propriétés sont la largeur et la hauteur, les valeurs sont compact ou regular.

Un iPhone 5 a une largeur compacte et une hauteur regular lorsqu'il est utilisé en mode portrait. Il a une largeur compacte et une hauteur compacte lorsqu'il est utilisé en mode paysage.
Un iPad a toujours une largeur et une hauteur regular peu importe l'orientation, et le cas particulier est l'iPhone 6 Plus, qui a une hauteur compacte et une largeur regular lorsqu'il est en paysage (d'où le fait qu'une application comme Messages se comporte de la même façon sur un iPad et sur un iPhone 6 Plus en paysage par exemple).

Bref beaucoup de blabla pour dire qu'il ne faut plus raisonner en terme de résolution ni de pixels ni quoi que ce soit sur iOS, d'ailleurs les interfaces des applis se dessinent sur des canvas de 600x600 par défaut (taille qui n'existe sur aucun appareil iOS) pour appuyer le fait qu'elles sont censées s'adapter à toutes les tailles.

avatar Lemmings | 

Tout ça est très nouveau toutefois. J'ai codé sur iOS 3, 4 et 5, et c'était effectivement hardcodé à l'époque. L'astuce pour gérer le rétina était assez risible d'ailleurs.

avatar Domsware | 

"iOS qui hardcode les tailles d'écrans"

Non. iOS ne fait pas cela. Après libre au développeur de le faire. Depuis plusieurs versions d'iOS il y a un mécanisme qui permet de gérer cela : AutoLayout.

Après il ne faut pas rêver : ce mécanisme propose une aide mais ne fait pas tout.

Sur iOS si l'on veut faire du boulot propre cela prend du temps.

avatar Gillesgilles2 | 

Ce que vous comprenez pas c'est que Android ne fait qu'un redimensionnement selon les grandeurs d'écran(on étire dans tout les sens ) au lieu de redistribuer selon la grandeur de l'écran.

Du coup iOS est mieux adapter à chaque grandeur d'écran et chaque fonction peu être penser en fonction de l'espace disponible . Chose quasi impossible vu la diversité des grandeurs d'écran sous Android

La disposition peut changer entre l'iPhone 5 et l'iPhone 6+ dans les applications , pour l'ergonomie ça fait une différence notable

avatar flagos | 

Sur Android, on étire pas dans tous les sens, loin de la. On choisit les endroits où on veut étirer et on utilise le concept de grilles pour les écrans plus grands, afin de remplir l'espace intelligemment.

On a donc pas a prévoir les 15 000 cas d'écran, il suffit de penser correctement son layout et l'affichage rend bien, à moins d''avoir un cas d'écran extreme.

C'est d'ailleurs ce qu'utilise désormais les sites web pour faire des versions mobiles et des versions desktop unifiés mais qui rendent jolies dans les 2 cas.

https://fr.wikipedia.org/wiki/Site_web_adaptatif

avatar cloudy | 

Si si on comprend très bien. Mais pas toi visiblement.

Android dispose du système que tu décris depuis bien longtemps que ce soit via les layout ou l'API de fragments. Depuis 2011 pour être précis pour ce qui est des fragments et depuis de début pour les layouts.

Il me semble qu'Apple a inclus ces éléments assez tardivement si l'on tient à rester dans le comparatif bête et méchant. A leur décharge c'était pas entièrement nécessaire eu égard à l'homogénéité du parc.

Donc oui Android est une plateforme hétérogène mais qui fournit les outils et les abstractions nécessaires aux développeurs pour le gérer puisque c'est inhérent à la plafeforme. Cela ne pose donc pas de problèmes majeurs.

avatar Bruno de Malaisie | 

Curieux car on dirait qu'il y a plus de fans d'Android que d'iOS sur ce site;)

avatar poulpe63 | 

Tout comme il y a plus de monde à "baver" sur une belle voiture hors de prix qu'il y a de proprios ;)

Parler de "fan d'un OS", mmmh... strange : utilisant quatre ou cinq OS, rien que chez moi, ça serait compliqué :)

avatar Ze_misanthrope (non vérifié) | 

Juste quand on fait une remarque sur les inepties d'un site (un site web qui tourne sans soucis sur des milliers de résolutions d'écran par ailleur, et là personne n'en parle) ne fait pas de nous des fans d'Android...

avatar ipaforalcus | 

Je ne suis pas pro Android mais dire que la diversité est une faiblesse, c'est assez idiot je trouve...

avatar en ballade | 

Macge vous pouvez nous annoncez qu Apple cherche un développeur Android

avatar Mickaël Bazoge | 
Ça a été fait ce matin… https://www.igen.fr/android/2015/08/apple-veut-developper-plus-dapplications-android-92420
avatar J'en_crois Pas_mes yeux | 

@en ballade & @Mickaël
Hé, macG vous ne pouvez-pas rédiger en temps et en heure les articles que souhaitent lire en ballade & Lemmings. Non, c'est vraiment n'importe quoi, qu'ils soient obligés de les réclamer... et en plus Macg ne leur présentent même pas d'excuses. C'est n'impute quoi.

ps : s'il y en a d'autres (des lecteurs) qui revendiquent leur (juste) droit d'avoir les articles sur mesure qui leur correspondent et qui les intéressent, je leurs conseille de se faire connaître (une class-action pour être efficace se doit d'être la plus exhaustive possible pour obtenir satisfaction)

avatar Lemmings | 

Je réclame rien, l'équipe d'iGen publie ce qu'elle veut. Juste qu'à partir du moment où ils ont évoqué la faille, c'est bien d'annoncer aussi les correctifs. Et tout aussi vite quoi.

Prioriser les articles limite mensongers pour critiquer Android par contre...

CONNEXION UTILISATEUR