Google accélère l’interface d’Android avec Dart

Nicolas Furno |

Tous les écrans d’ordinateurs, tablettes ou smartphones sont capables d’afficher 60 images par seconde. Et pour obtenir une interface parfaitement fluide, c’est aussi l’objectif de tout développeur : afficher ses animations à 60 FPS. En-dessous de ce seuil, on détecte des ralentissements, non pas que l’on soit capable de compter le nombre d’images, mais une interface manque alors visiblement de fluidité, elle semble hachée.

Depuis le premier iPhone, c’est un point fort d’iOS. Apple a concentré ses efforts sur la fluidité et dès la première version d’iOS, on a eu des listes parfaitement fluides. Historiquement, Android a longtemps été en retrait sur ce point, notamment parce que le calcul de l’interface pouvait être bloqué par le reste du programme. Sur iOS, une animation a la priorité et elle peut continuer, même si une opération bloque l’application.

L’écart s’est toutefois réduit au fil du temps et Android est désormais souvent aussi fluide que iOS, même si on a souvent des applications moins bien développées et qui souffrent de lenteurs. Cela pourrait changer avec Dart, un nouveau langage de programmation dérivé du JavaScript que Google est en train de créer en interne.

Conçu à l’origine pour le web, il a toutefois été adapté à Android sous la forme d’une expérimentation nommée Sky et proposée sur GitHub. Rien ne dit à ce jour que Dart sera effectivement proposé à tous les développeurs Android, mais ses possibilités sont déjà impressionnantes, puisque les interfaces générées avec Sky atteignent les 60 FPS sans problème. Mieux, on peut très bien envisager de doubler cette vitesse pour obtenir des interface encore plus fluides, avec 120 images par seconde, voire plus encore.

Pour qu’une animation s’affiche à 60 FPS, une application doit générer une nouvelle image toutes les 16 ms. Pour du 120 FPS, il faut le faire toutes les 8 ms et avec Sky, les ingénieurs de Google ont réussi à développer un prototype capable de générer chaque image en 1,2 ms seulement. Pour que ces vitesses aient un sens toutefois, il faudra attendre que les écrans s’adaptent et soient capables d’afficher plus de 60 images par seconde.

Présentation de Sky en vidéo

Sky, la version Android de Dart, est une technologie impressionnante, mais il reste un problème de taille pour qu’elle serve à développer des applications mobiles. Dart ayant été conçu pour créer des applications web, le contenu est nécessairement délivré avec des URL, via internet. L’interface d’une application conçue avec Sky peut être mise à jour à distance, depuis un serveur web. C’est intéressant, même s’il y a des problèmes de sécurité à gérer et surtout, on ne peut pas charger l’interface sans une connexion internet.

On en reste au stade de l’expérimentation à l’heure actuelle, mais Dart et Sky sont des nouveautés prometteuses. Et pas seulement pour Android, d’ailleurs : puisqu’il s’agit de JavaScript à la base, on peut très bien utiliser ces technologies sur iOS.

avatar raf30 | 

Merci Google pour la techno...Et pourtant tant qu'il y aura X sur-couches à gérer sur Android, il faudra plus de ram et plus de puissance pour avoir le même rendu que sur iOS....L'avantage du seul concepteur du logiciel et du hardware fait toujours sens.

avatar nono68200 | 

A mon avis, l'avantage du concepteur logiciel/hardware fera toujours sens. On gère toujours mieux si on créer tout de A à Z, et on le gérera toujours mieux. La seule entreprise qui commence à comprendre ça, c'est Microsoft qui passe sur ces Surfaces et Microsoft Lumia maintenant.

avatar Ze_misanthrope (non vérifié) | 

Il semble évident que tu ne sais pas de quoi tu parles ...
Les fabricants Android remplacent les ressources de base par leur customisations, c'est toujours la même couche qui est modifiée, ou remplacée.
Ce n'est pas une couche par dessus. Cela prend donc la même place en mémoire.

A part Samsung, si tu regardes Sony, par exemple ou HTC, ces customisations sont très légères.

Il ne faut pas prendre Samsung pour une réalité, cette société qui nuit à Android par ses ventes faramineuses et son logiciel lourd à souhait

avatar pim | 

C'est là qu'on découvre qu'ils ont juste dix ans de retard sur Apple sur un tout petit détail qui fait toute la différence !

avatar CNNN | 

C'est Dart

avatar lmouillart | 

Sachant que l'un des OS initié par Google (Android) est le plus utilisé toutes plateformes confondues, je me demande si il est judicieux de conserver ce produit en tant que produit béta à faible diffusion.
Idem, pour Youtube, Search, Mail, Plus, Maps, Hangout, Docs, Shopping, Adwords, Chrome.

---
Ne vous inquiétez pas les couches inférieures sont basées sur des technologies robustes et éprouvées : Skia par exemple pour l'affichage ou même Dart comme mentionné dans l'article.

avatar nono68200 | 

Dommage que tu aies mis Google+ dans la liste, tu aurais été crédible sinon. ;p

avatar byte_order | 

Google.com
Google Maps
StreetView
GMail
Android
G+
Hangouts

Ouais, chez Google, ils ne sortent jamais rien de qualité suffisante pour être utiliser par un large public.
Tss, cte bande de nullos à Mountain View, franchement.

avatar lmouillart | 

"Android a longtemps été en retrait sur ce point, notamment parce que le calcul de l’interface pouvait être bloqué par le reste du programme. Sur iOS, une animation a la priorité et elle peut continuer, même si une opération bloque l’application"

Ce qui est intéressant pour ce point particulier, c'est que justement Dart propose des fonctions très pertinentes concernant la gestion de traitements asynchrones. Pour le coup c'est plutôt très inspiré de ce que l'on trouve dans .Net de Microsoft (>4.5).

L'idée étant par exemple de pouvoir proposer des applications ayant un grand débit d'image, pour les plateformes Google : iOS/OS X,Linux/Android/Chrome et Windows, Sky n'étant pas liée a des technologies particulières.

avatar en ballade | 

@raf30

Tu parles sûrement pour les anciennes versions Android mais meme avec plus de ram et de puissance cpu ca reste moins cher

avatar raf30 | 

@en ballade :
La qualité a un prix. Et il en faut pour tout le monde.

avatar malcolmZ07 | 

@en ballade :
Les fondations d'android sont bancales, c'est pour ça que Google améliore surtout des aspects "bas niveau". IOS au contraire commence à s'alourdir je trouve (mais reste plus fluide qu'un S6 , note 4, Nexus 6).
Les windows phones sont souvent plus fluide que les iphones à configuration égale.

avatar Jerom722 | 

Plus fluide qu'un S6 ? Je crois pas non :)

Et puis même si il était plus fluide, quand on fait tourner un OS sur écran 750p de 2011 c'est un peu normal...

C'est comme les jeux PC, augmente la résolution le jeux sera moins fluide mais inévitablement plus beau

750 vs 1440 hein :)

avatar aza | 

En français dans le texte : ;)
"Historiquement, Android a longtemps été en retrait sur ce point, notamment parce que le calcul de l’interface pouvait être bloqué par le reste du programme. Sur iOS, une animation a la priorité et elle peut continuer, même si une opération bloque l’application."

Si l'application est la même, elle est codée différemment sur les 2 OS. Les applis M$ sont aussi très bien optimisées sur iOS, mais il n'y a personne pour comparer !!! :)

avatar bibi81 | 

Historiquement, Android a longtemps été en retrait sur ce point, notamment parce que le calcul de l’interface pouvait être bloqué par le reste du programme.

C'est effectivement ce qui pouvait arriver lorsqu'on ne suivait pas les guidelines. Bref seules les applis mal codées subissaient ce bloquage.
Maintenant ça génère une erreur si on ne suit pas les guidelines...

avatar aza | 

A voir ce téléphone cité si souvent, je dirais que le MotoG est comme le bon vin, il se bonifie avec l'âge ! :)
Parce que sinon, la plupart des autres marques...

CONNEXION UTILISATEUR