Le GDG Nantes m’a invité à venir présenter les fantastiques librairies de développement Android de Square le 16 juin 2014 au soir.
Merci pour l’apéro et pour le public !
Support de présentation :
Le GDG Nantes m’a invité à venir présenter les fantastiques librairies de développement Android de Square le 16 juin 2014 au soir.
Merci pour l’apéro et pour le public !
Support de présentation :
Author of FreeFileSync publishes binaries for Ubuntu for each release. But you have to install them again and again, once a month. That’s why I am the maintainer of FreeFileSync PPA, the way in Ubuntu to distribute binaries with automatic updates.
As of May 2014, here are the FreeFileSync versions available for each Ubuntu series:
Ubuntu series | Last available version of FreeFileSync | Supported ? | Comment |
---|---|---|---|
Natty | 4.0 | No | |
Oneiric | 5.5 | No | |
Precise | 5.21 | No | Requires newer libraries |
Quantal | 5.23 | No | Requires newer libraries |
Raring | 5.23 | No | Requires newer libraries |
Saucy | 6.0 | Could be if asked | |
Trusty | 6.5 | Yes |
Les applications HTML5 sur mobile ont pour principal avantage une portabilité élevée et donc potentiellement des coûts de développement plus réduits à mesure que le nombre de plateformes à supporter grandit. Comme la présence de ces applications dans les “stores” est un prérequis, une application HTML5 doit donc être “packagée”, c’est-à-dire encapsulée dans un lanceur écrit en code natif. Elle est alors exécutée dans ce que l’on appelle une webview, dont on peut paramétrer finement le comportement : activer ou non le zoom, taille du cache HTML5, gestion particulière de la sécurité, …
Voici une synthèse des webviews disponibles selon les plateformes :
Prenez une application HTML5 qui a été conçue pour se faire passer pour du natif, c’est-à-dire reposant massivement sur des animations, des rotations, des effets de fondus, d’apparition avec dégradés, du défilement infini … comme j’ai pu en voir une récemment.
Sur iPad 4, les performances du HTML5 sont très proches de celles du natif. Il faut pratiquer longuement les deux versions pour les différencier et se rendre compte petit à petit que la version HTML5 est un peu moins fluide, un peu moins réactive, que quelques animations saccadent, … Pour cette application, inutile de faire du natif sur cette plateforme. Sur l’iPad 5 Air que je viens de tester, il n’y a plus de différence.
Sur une vraie tablette Windows 8 Lenovo, j’ai été très, mais vraiment très surpris des excellentes performances d’IE10. Elles sont du niveau de celles d’iOS. Les résultats du travail de Microsoft sont là, HTML5 est une plateforme de développement crédible sur Windows 8.
Enfin sur des tablettes Android (Nexus 10, Notes 10.1), ce fut la douche froide : saccades, blocages, disparitions purement et simplement de certaines animations (trop lentes pour être affichées ?), malgré de nombreux efforts pour ajouter des optimisations, des accélérations matérielles, … sans succès notable. L’application est inutilisable, son ergonomie doit être revue à la baisse pour cette plateforme.
Voici un extrait d’un rapport de bug Android qui résume bien la problématique :
Webview for Android is the Internet Explorer of the mobile world.
La *webview* d’Android est l’Internet Explorer du monde mobile.
En effet, comme Android est aujourd’hui la plateforme mobile dominante sur le marché, une stratégie de développement d’applications “sexies” basée sur HTML5 vous expose donc à l’ire et aux complaintes de vos utilisateurs équipés de terminaux Android. Et même si le moteur de la webview a été mis à jour dans Android 4.4 (très proche de Chrome pour Android), des fonctionnalités importantes de HTML5 ne sont pas encore disponibles (WebGL, WebRTC, … Websockets ?) et il faudra des années à cette nouvelle version pour être suffisamment déployée.
En 2013, résoudre ce problème sur Android se résume donc très simplement : embarquer un moteur HTML performant directement dans les applications HTML5, sous forme d’une librairie statique. Le moteur HTML5 fourni avec la version d’Android livrée avec votre tablette ou votre smartphone ne serait ainsi plus utilisé, remplacé par un Chrome ou un Firefox performant.
Voyons donc les travaux proposées qui me paraissent les plus prometteurs :
C’est surtout le deuxième qui me semble le plus prometteur, parce qu’il ne se restreint pas à la seule plateforme Android. L’ambition de ce projet est de fournir une webview basée sur Firefox pour toutes les plateformes, d’aujourd’hui ou à venir, mobiles ou non : Android, Windows, Linux, … Seul iOS fait exception car les restrictions imposées par Apple ne permettent pas de déployer Firefox dans de bonnes conditions. Mais c’est sans conséquence pour une application HTML5, iOS étant une plateforme de choix pour exécuter du HTML5 comme nous l’avons déjà évoqué plus haut. Au prix de 25Mo (!), Geckoview est compatible avec les versions Android 2.x / 3.x / 4.x et avec toutes les fonctionnalités HTML5 avancées : à vous SSE, websockets, WebGL, …
Le projet est très actif et il est d’ores et déjà possible de monter des prototypes avec le code mis à disposition par l’équipe de développement, qui propose notamment un navigateur basé sur Geckoview. Pour l’avoir déjà mis en oeuvre sur un projet à titre de démonstration, c’est très, très prometteur : sur la fameuse application qui veut se faire passer pour du natif dont je vous ai parlé plus haut, les performances du HTML5 sont très proches de celles du natif !
Compte-tenu du fait qu’Android 4.4 ne résout que partiellement la problématique, la solution qui consiste à embarquer un nouveau moteur de webview directement dans nos applications HTML5 à de l’avenir. Et sur ce point, Mozilla est bien parti.