Durant la conférence Google I/O qui s’est ouverte hier soir, la firme a tâché de séduire encore davantage les développeurs. Au programme, de nombreuses augmentations de performances et la simplification des tâches. Passage en revue des nouveaux Android Studio 2.2 (Preview) et de Firebase 2.0.
Depuis le lancement d’Android Studio 2.0, Google s’est fait autrement plus sérieux sur les outils de développement. Les créateurs d’applications, longtemps sous Eclipse, sont enjoints depuis à travailler avec cet outil de Google, qui s’est récemment étoffé d’une très longue liste de nouveautés. On y trouve en particulier un émulateur capable dans la plupart des cas de répercuter en direct les changements faits dans le code (Instant Run).
La version 2.1, lancée fin mars, avait ajouté le support des préversions d’Android N, le nouveau compilateur Jack, la compatibilité avec Java 8 et avait surtout revu à la hausse les performances d’Instant Run, critiquables dans sa première mouture. La version 2.2, comme indiqué hier soir, est maintenant disponible en Preview, et il s’agit encore une fois de faire gagner du temps dans les opérations courantes.
Simplifier la création des interfaces
Premier gros ajout, le Layout Editor, qui promet de simplifier la construction des interfaces. Le développeur n’a plus qu’à sélectionner des widgets dans un panneau et les amener sur le plan de conception ou dans l’arborescence des composants pour constituer son interface. Le code correspondant est évidemment automatiquement créé. Un mode Plan permet de changer toutes les proportions et dispositions des éléments. La sélection d’un widget affiche par ailleurs des propriétés que l’on pourra modifier à la volée.
Ce nouvel éditeur s’accompagne du Constraint Layout, un gestionnaire permet de créer dynamiquement des interfaces sans avoir à assembler et empiler des éléments multiples. Android Studio peut donc calculer automatiquement les dispositions des éléments les uns par rapport aux autres, l’éditeur gérant toutes les contraintes (d’où le nom). De quoi normalement gagner du temps pendant la conception des interfaces, mais également obtenir des ensembles plus soignés quand on ne maîtrise pas cette partie.
Enregistrement des tests et APK Analyzer
Parmi les nouveautés plus techniques, on trouve l’amélioration des outils liés au compilateur Jack. La compilation incrémentielle est ainsi prise en charge, de même que le traitement des annotations personnalisées. Le Merged Manifest Viewer permet quant à lui de voir comment chaque nœud du manifeste se comporte face aux dépendances du projet.
Du côté des tests, on trouve également un ajout qui avait provoqué de nombreux applaudissements dans la foule à son annonce : l’enregistrement. Android Studio 2.2 permet ainsi de démarrer l’application en mode debug puis de commencer simplement à enregistrer. Toutes les actions seront notées, l’outil capturant par exemple tous les évènements de l’interface et les convertissant en Espresso Tests. Ces derniers pourront ensuite être redémarrés à l’envi localement.
Notons aussi l’arrivée d’un outil que de nombreux éditeurs feraient mieux d’observer de près : l’APK Analyzer. Il offre une foule d’informations et permet d’inspecter divers éléments, comme la structure des fichiers Dex, les fichiers compilés de ressources ou encore AndroidManifest.xml. Les développeurs pourront notamment l’utiliser pour éviter la limite des 64K sur les méthodes ou vérifier ce qui coince avec ProGuard. Mais cet outil est fait avant tout pour aider à réduire le poids des applications et débloquer certaines situations.
Firebase 2.0 propulsé sur le devant la scène
Mais même si Android Studio est un élément crucial de la stratégie de Google, Firebase le devient tout autant. Pour la première fois depuis son rachat, la firme en propose une version largement remaniée, logiquement estampillée 2.0. Rappelons que Firebase est une collection d’outils simplifiant la gestion des rapports de bugs, l’authentification, la messagerie, le stockage, les tests, la configuration à distance, l’indexation, les notifications ou encore les liens dynamiques, même s’il s’agit avant tout d’un outil de base de données. Google le décrit comme un backend-as-a-service (BaaS).
Depuis cette nuit, Firebase 2.0 est disponible, accompagné à la fois d’un nouveau SDK et d’un site officiel totalement rénové, disponible à l’adresse firebase.google.com. On retrouve les trois grandes fonctionnalités principales de l’outil (Realtime Database, User Authentication et Hosting), auxquels Google ajoute ses propres nouveautés pour tout ce qui concerne la compilation, la qualité générale ou encore la manière de capter de nouveautés utilisateurs et de retenir les existants.
Firebase Analytics, centré sur les utilisateurs
L’une des nouveautés phares de Firebase est Analytics. Ceux qui connaissent Google Analytics pourront difficilement comparer, puisque l’orientation est très différente : tout est centré sur l’utilisateur. L’objectif de l’outil est d’indiquer au développeur ce que font les utilisateurs, ce qu’ils utilisent et consomment, ou encore comment ils réagissent aux campagnes publicitaires. Durant la conférence. Le responsable Jason Titus avait d’ailleurs donné des exemples durant la conférence d’hier soir. Un éditeur peut par exemple savoir quelle proportion de joueurs sont coincés au niveau 5 d’un titre, déclencher des actions selon certaines conditions, les prévenir d’un nouveau jeu et ainsi de suite.
Les développeurs pourront créer des Audiences, des groupes d’utilisateurs unis par certains critères. Ces Audiences permettent la mise en place de processus qui autorisent par exemple l’envoi de notifications à une partie seulement des utilisateurs. Signalons également les Dynamic Links, des liens résistant notamment au processus d’installation pour faire atterrir l’utilisateur là où il devait se rendre avant d’avoir l’application, Firebase App Indexing qui est en fait l’ancien Google App Indexing, ou encore l’intégration d’AdWords et AdMob.
Plusieurs outils existants intégrés à la suite Firebase
Avec l’arrivée de Firebase 2.0, plusieurs services existants sont placés sous le parapluie de la suite d’outils. Google Cloud Messaging devient ainsi Firebase Cloud Messaging, sans changer d’orientation (il reste compatible avec Android, iOS et le web). Cloud Test Lab devient Firebase Test Lab et permet toujours de définir des tests automatiques ou personnalisés pour dénicher les problèmes dans une application. Enfin, Firebase Storage est nouveau, même si basé sur le stockage Google Cloud. Le service autorise les développeurs à stocker des contenus volumineux de manière sécurisée.
La plupart des services deviennent gratuits
Concernant la tarification, tout dépend de ce que dont le développeur a besoin. Les outils basiques sont désormais complètement gratuits, sans limite dans les fonctionnalités. Idem pour une moitié des nouveautés : Analytics, Crash Reporting, Remote Config et Dynamic Links. L’autre moitié (Test Lab, Storage, Realtime Database et Hosting) peut être acquise de différentes manières : une formule gratuite aux limites qui ne devraient pas trop ennuyer les petits développeurs (Spark), un abonnement fixe pour les dépenses prévisibles (Flame), et bien entendu une facturation selon l’utilisation pour les plus gros consommateurs (Blaze). La grille des possibilités est disponible depuis cette page, un exemple de tarification étant visible dans la capture ci-dessous.
Ceux qui souhaitent récupérer Firebase 2.0, le nouveau SDK ou consulter la documentation pourront le faire depuis le site officiel.