mardi 25 mai 2010

La facilité de développer sous Android ?

Je vais en faire hurler plus d'un mais c'est une réalité. Développer sous Android du moins, pour les téléphones Android n'est pas une mince affaire.

Une multiplicité d'OS
En effet, le développeur va être confronté en premier lieu à différentes génération d'OS qui vont de Petit four (1.1) à Froyo (2.2). Il est annoncé déjà Pain d'épice (3.0) pour la fin 2010.
Le tout avec une répartition différente.

Il y a déjà de quoi devenir fou alors que le principal concurrent (Apple) ne dispose que d'un OS unique pour tous ses téléphones.

Une multiplicité de résolutions
Pour ne rien arranger et faire perdurer la folie qui régnait du temps du web mobile, Android se décline dans différentes résolutions et densités.
Pour les concepteurs et les designers et je sais de quoi je parle, il faut impérativement réaliser des graphismes appropriés pour chaque cas.
Le tableau ci-dessous a de quoi donner des boutons :

Low density (120) Medium density (160) High density (240)
Small screen
  • QVGA (240x320), 2.6"-3.0" diagonal


Normal screen
  • WQVGA (240x400), 3.2"-3.5" diagonal
  • FWQVGA (240x432), 3.5"-3.8" diagonal
  • HVGA (320x480), 3.0"-3.5" diagonal
  • WVGA (480x800), 3.3"-4.0" diagonal
  • FWVGA (480x854), 3.5"-4.0" diagonal
Large screen
  • WVGA (480x800), 4.8"-5.5" diagonal
  • FWVGA (480x854), 5.0"-5.8" diagonal


Multiplicités de marques
Enfin et pour couronner le tout, il vous faudra posséder des téléphones des marques HTC, Sony Ericsson, Samsung, LG, Motorola et Huawei.
Ces mobiles disposant ou pas de clavier physique, d'un processeur plus ou moins rapide...

Conclusion
Vous l'aurez compris, là où Apple a réussi en simplicité pour les développeurs, Android, OS pour geek et fan du monde open source ne sont pas gâtés.

On comprendra ainsi les nombreux messages de type : "ne marche pas sur mon "XXX", plante, ma résolution n'est pas supportée..."

Et pourtant... Android est devenu le premier OS utilisé dans les mobiles chez les opérateurs devant Apple, allez comprendre


Bookmark and Share

3 commentaires:

cr0vax a dit…

Effectivement, tu vas en faire hurler plus d'un ...

Les problème de résolution, sauf applications spécifiques (jeux, etc.), faut vraiment le vouloir pour que ça marche pas sur un tattoo. J'ai essayé, et désolé, mais à moins de spécifier exactement la taille en pixels (WTF ? Qui a l'idée de faire ça ?) ça marche très bien.

Bref, c'est exactement comme les développeurs qui incluaient un clavier virtuel dans leur appli avant qu'Android 1.5 ne sorte : de la merde.

Quant aux différences de version, objectivement, pour 99% des usages, le SDK d'Android 1.5 est suffisant. Maintenant voilà, là où tu soulèves un vrai point, c'est la nécessité de tester sur un terminal ...

Comme les développeurs ne le peuvent pas, ils ne prennent pas de risque, ils spécifient la version d'Android qu'ils ont testé même s'ils utilisent un SDK plus vieux.

D'ailleurs certains utilisateurs modifient le Manifest pour faire fonctionner leur application sur 1.5 ou 1.6 et ça marche ...


Et on ne peut pas dire qu'Apple aie réussi en simplicité. Tu as vu une appli. iPhone tourner sur l'iPad ? Même problème ... tout les mauvais dev. qui sont allés spécifiés des tailles absolues ou autre ... le résultat est juste dégueulasse.

cr0vax a dit…

Un truc que Google pourrait/devrait faire, c'est mettre la version du SDK à 1.1 minimum et dés que l'on utilise une fonction d'un SDK plus récent, petit avertissement et si on valide, on incrémente la version du SDK.

Ma main à coupé que 90% passerait de 1.1 à 1.5 (y'a quand même un gap) et resterait à ce niveau là.

Fabrice Wang a dit…

Je pense à l'utilisateur lambda qui ne va pas chercher à modifier l'Android Manifest. Je peux t'assurer que ça ne me tente pas.

La frustration est grande de ne pas bénéficier des applications développées pour 1.5. Quelle idée j'ai eue d'avoir acheté un Tattoo aussi.

Ce billet montre avant tout une aberration non pas de Google quoique... au départ Android avait 2 résolutions. Les constructeurs ont été par la suite et comme d'habitude sauté dans la brèche pour se différencier.

Cependant, je reste convaincu que l'adaptabilité est nécessaire. Je viens de le voir sur un Motorola dont je tairai le nom :)