Android, retour d’impressions

Android, retour d’impressions

Après quelques semaines d’utilisation, je commence à me faire une idée des capacités de la plateforme et de ses qualités ert défauts! Et il y a de quoi parler, à commencer par l’émulateur. Ce dernier m’a semblé de prime abord de très bonne facture, mais il s’impose vite la conclusion suivante: l’émulateur propose des performances catastrophiques! Le PC sur lequel je développe est un portable Athlon XP 3000+, ok il n’est pas tout neuf, mais cela reste honorable, étant donnée que l’ordinateur dispose de 1,5Go de RAM et d’un disque 5400 tpm, les performances restent donc correctes. Cependant, dès que l’émulateur est lancé, le pourcentage d’utilisation CPU monte à 95 % très facilement et le pc ne répond pas vraiment bien (C’est le moins qu’on puisse dire) . Ce qui me trouble le plus reste les performances des programmes exécutés sur l’émulateur. Je ne suis pas arrivé à des performances correctes sans faire des concessions importantes sur le design applicatif et encore avec difficulté.

Je comprend l’angoument autour de la plateforme, mais également pourquoi on voit si peu de programmes disponibles (Je ne pense pas que ce soit lié au concour Android de Google uniquement). La source du problème n’est pas tant dans la plateforme que dans les performances de l’émulateur qui ont de quoi dégouter du développement sur Android et pousser à explorer les progrès fait sur J2ME et les JVM MIDP de Sony et Nokia qui semblent d’ailleurs très intéressant.

Même si les constructeurs proposent des machines performantes, il va falloir que Google fasse un effort sur son émulateur pour proposer des performances acceptables sur son émulateur. Dans le cas contraire, il se pourrait que certains développeurs soient rebutés. Pour l’instant j’en fait parti.

Autre bémol et de taille: c’est l’obscurantisme des API de la plateforme et le peu d’explications qu’on peut trouver. On est bien trop amené à essayer de deviner comment utiliser les API.  Les API étant complètement nouvelles, elles obligent le développeur à un apprentissage nouveau. De plus les API sont complexes et accrobatiques à utiliser. Souvent élégantes dans le concept, il faut tout de même avoir de bonnes notions de développement pour les exploiter correctement.

j’appuye cette petit analyse sur un retour d’expérience réel , j’ai essayé d’exploiter des API REST simples et cela me pose trop de difficultés pour en rendre le développement sympathique: j’ai plus tendance à m’arracher les cheveux entre la complexité des API et les performances de l’émulateur.

Gageons que la plateforme est encore jeune, et des best practices Android simples et efficaces  apparaitrons, mais pour le moment ce n’est pas la panacé. Et un travail urgent est à faire sur les performances de l’émulateur. Pour am part, le constat est simple: j’arrêtele développement Android ou bien j’achète un nouveau PC…

Un dernier mot: Je suis en 1280 et l’émulateur prend une grande partie de mon écran! C’est quand même assez embêtant. Google est capable de penser des API complexe, mais pas à un détail aussi simple.

A noter: les JVM de Sony et de Nokia embarquent aujourd’hui tout un ensemble d’extensions intéressantes, sur lesquelles je reviendrais un autre fois, mais qui permettent de développer facilement aujourd’hui des applications intéressantes sans vraiment de difficultés particulières. Les problématiques d’antant n’existent plus vraiment sur MIDP aujourd’hui.

Depuis quelques jours, j’ai un W910 de Sony, et il faut dire que je suis impressionné par les progrès effectués et la diversité des API MIDP proposées (Sensor API, Content handler API, MMAPI, Bluetooth API, …). De plus, les JVM sony, par exemple, en sont à leur 8ème génération, ce qui en fait un choix de plateforme proposant de nombreux avantages (performances, stabilité, support d’API étendues, …) et un choix pour le moment bien plus sûr qu’Android.

Ma conclusion, est donc la suivante: comme de nombreuses personnes, je suis rentré dans le jeu des Buzz (IPhone /Android), mais rien ne vaut les valeurs sûres telles que MIDP ou le DotNet CF ou bien la plateforme de dev Symbian ou Palm. Attendons donc quelques mois que la plateforme Android murisse et que les premiers modèles sortent avant de trop en dire sur Android. N’oublions pas, entre autre, pour le moment qu’Android repose sur une plateforme Linux qui n’est compatible ni Symbian, ni Windows Mobile, ni Palm. Le marché est de ce fait extrêmement restreint. De la même manière que l’Iphone, le marché Android risque de rester une niche un certain temps. L’arrivée de l’IPhone et d’Android ne font que segmenter le marché et rendre la tâche plus difficile pour les sociétés travaillant dans le domaine de la mobilité. Il existe au bas mot 6 plateformes importantes: Midp, Windows Mobile, Symbian, Palm, l’IPhone et Android!

N’hésitez pas à faire part de vos impressions!

3 Responses to “Android, retour d’impressions”

  1. Mathieu

    2007-12-13T11:19:30+00:00

    Bon à savoir.

  2. Tuan23

    2007-12-31T03:43:07+00:00

    salut,

    je tente aussi de dev sur la platforme android en ce moment. Je suis tout a fait d’accord avec toi sur les impressions par rapport à l’api:
    >la documentation est catastrophique…
    >c’est un comble que la maj du sdk soit aussi chiant alors que eclipse offre un systeme pour ca
    >c’est un comble que les projets ne soient pas compatible entre diff version

    bref bcp de lacunes, gspere que ce n’est pas trop de la poudre aux yeux, parceque j’ai encore espoir.

  3. Alexis Kinsella

    2008-01-02T00:51:45+00:00

    J’ai repris le développement que sur J2ME j’avais commencé avec Android et je dois dire qu’avec les API disponibles maintenant sur les différents appareils compatible, il y a de quoi faire des choses intéressantes. Dommage, je trouve que J2ME est un peu délaissé.

    Je suis d’accord avec l’idée qu’Android ne fait que segmenter encore un peu plus le marché et fragilise J2ME. Je trouve ça dommage au final que Google n’ait pas décidé de soutenir J2ME. Mais il y a des raisons qui font que Google ne pouvait avoir d’autre strategies : Rentrée sur le marché de la mobilité de Google avec un OS, des téléphones, une fréquence GSM, … Bref tout ce qu’il faut pour se positionner en tant qu’acteur incontournable de la mobilité dans le futur.

    Pour ma part, je laisse un peu d’eau couler sous les pont. Je fais avancer mon projet sous J2ME et redécouvre les possibilités (et lacunes) de la plate-forme.

    Le problème par rapport au SDK Android c’est que Google n’a pas pu delivrer dans les temps qu’il souhaitait un SDK terminé et complet ou du moins de la qualité voulue. C’est pourquoi on se plaint aujourd’hui de ces défauts. Ils auraient bien fait de développer des API autour de J2ME! Ca aurait pu être adopté par tous les constructeurs de téléphone. S’ils avaient mis autant d’énergies dans le développement d’API que dans tout leur système, on aurait un SDK J2ME énorme! Dommage…

Leave a Reply