ordinateur-interfaces-riches

Google prépare la révolution des interfaces Android

Android est incontestablement le système d’exploitation le plus populaire sur les smartphones. En témoignent les derniers chiffres publiés par Strategy Analytics : Android Captures Record 81 Percent Share of Global Smartphone Shipments in Q3 2013. Non, vous ne rêvez pas : 4 smartphones sur 5 livrés aux distributeurs sont propulsés par le système d’exploitation mobile de Google. Non pas que les smartphones Android sont meilleurs que les iPhones (je ne rentrerais pas dans ce débat), simplement qu’ils proposent un bien meilleur rapport qualité / prix.

smartphone_os-2340383 Évolution des parts de marché des systèmes d’exploitation de smartphones

Il aura fallu 5 ans à Google pour imposer son système d’exploitation mobile, et de nombreuses évolutions. La toute dernière version d’Android (la 4.4, baptisée KitKat) n’échappe pas à la règle et s’annonce comme étant bien plus disruptive que les précédentes. Non pas qu’il va y avoir d’énormes changements dans l’ergonomie ou les fonctionnalités (10 Things Developers And Users Need To Know About Android KitKat 4.4), mais c’est plutôt sous le capot que les changements les plus intéressants vont se produire. Cette nouvelle version est sortie il y a presque 10 jours et l’on commence seulement à comprendre l’ampleur des changements et surtout leur finalité.

Première annonce avec la livraison par défaut de QuickOffice, l’application rachetée par Google l’année dernière qui permet d’éditer des fichiers bureautiques Office : Google Quickoffice ships with Android KitKat. Ceci intervient juste après l’annonce de sa mise à disposition gratuite et de son couplage avec Google Drive : Freeing Quickoffice for everyone.

quickoffice-6055305 Éditez vos fichiers bureautiques sur Android avec QuickOffice

N’importe quel fichier bureautique va maintenant pouvoir être édité nativement depuis votre smartphone ou tablette Android. Ceci va simplifier pas mal de choses, car il fallait jusqu’à présent passer par des applications tiers.Entre ça et la mise à disposition gratuite de la nouvelle version de la suite bureautique d’Apple, ça doit grincer des dents à Redmond !

Deuxième découverte qui fait beaucoup de bruit, la mise à disposition d’ART, une nouvelle version de l’environnement d’exécution des applications : Google starts testing ART, a potential replacement for Dalvik in Android. Pour vous résumer une longue explication, Java est le langage de programmation utilisé pour les applications tournant sur Android. La particularité de Java est d’être multi-plateforme, contrairement aux autres langages natifs comme ObjectiveC (le langage de programmation d’iOS). Avec ce dernier, une fois que vous avez développé votre application en code natif, vous la compilez en langage machine pour qu’elle puisse être exécutée. Avec Java, le code source est compilé en bytecode qui est exécuté par la machine virtuelle Java (l’environnement d’exécution). Jusqu’à présent, les smartphones Android utilisaient un environnement d’exécution appelé Dalvik qui compilait le bytecode à la volée pour pouvoir l’interpréter. Avec ART (l’acronyme de Android RunTime), le bytecode sera précompilé pour gagner en performance : Meet ART, The New Super-Fast Android Runtime Google Has Been Working On In Secret For Over 2 Years.

Concrètement, c’est une mise à jour majeure du système, mais comme elle se passe sous le capot, les équipes de Google ont choisi de ne pas trop communiquer dessus. Pour la tester, il faut fouiller dans les préférences système et choisir le runtime ART, le smartphone sera alors redémarré et toutes les applications seront précompilées.

art-4735302 L’accès à ART est caché dans les préférences du système

D’après les premiers tests réalisés, cette opération est un peu longue (comme une mise à jour), mais le gain de performance est notable. Le but de l’opération est donc d’accélérer le lancement et l’exécution des applications, il en résulte une expérience plus fluide. La contre-partie est que les applications précompilées prennent plus de place, mais les testeurs parlent de 10 à 20%, ça reste donc très largement acceptable. Pour le moment la bascule n’est pas conseillée aux amateurs, seulement aux développeurs, car elle risque de faire planter certaines applications. Il n’ a pas encore été précisé quand ce nouvel environnement d’exécution sera généralisé, mais on présuppose que ça viendra avec la prochaine mise à jour majeure (donc pour la version 5).

Autre nouveauté avec une nouvelle version de WebView, l’API qui permet aux applications d’afficher du code HTML / CSS : Introducing Chromium-powered Android WebView. Jusqu’à présent, le code HTML encapsulé dans une application était affiché par le moteur de rendu du navigateur d’origine qui n’était pas optimisé. Avec cette nouvelle version de l’API WebView, c’est le moteur de rendu de Chromium qui est utilisé (la version open source de Chrome), celui qui exploite le fameux moteur javascript V8. Le bénéfice pour les développeurs est de pouvoir exploiter à son plein potentiel du code HTML / CSS / Javascript : KitKat’s WebView is powered by Chromium, enabling Android app developers to use new HTML5 and CSS features. Traduction : des web apps plus performantes, plus rapides, plus stables…

Dernière annonce avec le lancement de Portable Native Client, la technologie qui permet aux développeurs de compiler du code C ou C++ et de l’exécuter directement dans le navigateur sans perte de performance : Google launches Portable Native Client, lets developers compile their code to run on any hardware and website. Comme pour la nouvelle version de WebView, ceci n’est possible que grâce au remplacement du navigateur par défaut par Chrome. Les smartphones Android, vont donc pouvoir exécuter des applications “lourdes” au travers de Chrome, tout comme il est possible de le faire sur les ordinateurs grâce à NaCl (le grand frère de Portable NaCl). Là encore, c’est une avancée majeure, mais sur laquelle les équipes ne communiquent pas, car cela concerne des technologies un peu trop complexes à expliquer au grand public, notamment le fait que PNaCl permette de compiler en bytecode une application C++ pour qu’elle puisse indifféremment être exécutée sur un smartphone avec un processeur d’architecture ARM, x86 ou MIPS, et qu’il est même possible de le faire avec un autre navigateur que Chrome grâce à l’API Pepper.

Au final, cette version 4.4 d’Android amorce une refonte complète des environnements d’exécution des applications natives (en Java ou en C/C++) , des applications mobiles HTML5, et donc des applications hybrides. Pour le moment il est encore tôt pour bien mesurer l’impact de ces changements sur l’expérience utilisateur, les performances ou l’autonomie, mais dans tous les cas de figure, ça sera forcément bénéfique.