Android Studio face à Eclipse : le comparatif
Google nous a annoncé, lors du Google IO 2013, le premier IDE (Integrated Developement Environment - Environnement de développement intégré) dédié au développement Android nommé, sans rappeler d’autres suites de développement, Android Studio.
J’ai donc décidé de faire un article de prise en main de cet outil, après 6 ans de développement Android sous Eclipse et avoir donné nombre de formation sur cet environnement.
Jusqu’à maintenant l’outil officiel était “Eclipse pour développeur Java”, couplé à un plugin dénommé Android Developer Tool (ADT).
C’est dans l’ombre que les équipes de Google travaillaient sur le produit IntelliJ pour le faire évoluer et en sortir leur Android Studio.
Dans un premier temps j’ai été surpris de voir que Google se basait sur IntelliJ pour créer son propre outil de développement tout simplement car Eclipse a toujours été le produit phare du développement Android - bien qu’IntelliJ ait pu depuis trouver sa place.
Mais également parce que IntelliJ n’est pas forcément “gratuit” notamment si vous souhaitez l’utiliser en milieu professionnel, alors Eclipse fait partie des grands logiciels libres réputés. Une version d'IntelliJ open-source existe, c'est la Community Edition, et c'est bien sûr cette version qui est à la base d'Android Studio.
Dans un second temps, je me suis dis que le choix de Google était réfléchi, qu’à leurs yeux il devait s’agir du meilleur produit répondant à leurs attentes pour nous fournir le Android Studio (enfin il faut le penser comme ça !
Android Studio se base sur un second produit, nommé Gradle, dédié à la construction et la compilation (build), au test et au déploiement dans un environnement de développement. Il se situe entre Ant et Maven, deux solutions permettant de piloter des compilations, et utilisés par Android jusqu'ici. Pour ma part ce produit m’est totalement inconnu, bien que Gradle existe dans le paysage java/groovy/scala depuis maintenant quelques années.
En préambule, je tiens à informer les lecteurs que je suis sous environnement Linux Ubuntu 12.04 tournant sur la machine est un PC portable Vostro 1520 équipé d’un Intel Core Duo 2 P8600 2,4Ghz 2x 64 bits, 4Go de mémoire et un disque dur SSD de 256Go.
L’installation
Le site developer.android.com contient désormais une nouvelle section dénommée Android Studio.
Le fichier pour l’environnement linux est une archive tgz de 400Mo.
Une fois ce fichier décompressé, on trouve une multitude de dossier et un fichier install-linux-tar.txt qui indique comment exécuter Android Studio (un simple script à lancer) mais également quelques options de lancement : comme l’optimisation du JVM heap ou bien encore les chemins du dossier de travail, des fichiers de configuration...
Au premier lancement, il vous est proposé de récupérer la configuration d’une précédente version d’Android Studio (cela peut être utile dans un contexte professionnel avec une équipe ou lors d’un changement de machine par exemple).
Alors que je finissais la configuration du projet, Studio s’est figé net...On relance, et là automatiquement mon projet est chargé.
Au premier abord, l’interface d’IntelliJ (que j’ai eu l’occasion d’utiliser de 2001 à 2003) reste très “Java” : ça plait ou non...pour ma part, je trouve cela “rustique”.
Comme tout bon développeur sous Eclipse je vais chercher à savoir où sont renseignées les informations sur les SDK, les AVD, la visualisation de DDMS....
Dans le File/Settings qui regroupe toutes les informations sur l’IDE et le projet je ne trouve aucune information concernant Android.
DDMS s’ouvre dans une fenêtre séparée. Il n’est totalement intégré dans l’IDE
AVD et SDK manager même topo : ils ne sont pas intégrés dans l’IDE
le SDK manager ne trouve aucun de mes SDK installés oO et je ne trouve pas l’endroit où je dois indiquer le chemin de mon SDK
l’AVD manager voit bien AVD mais ne trouvant aucun SDK il est incapable d’en valider un seul
C’est sur le site dédié à Android -Studio que je vais trouver un début de piste : android-studio, sous Windows et Mac, se base sur le répertoire android-studio/sdk...Comme je dispose de quasiment tous les SDK mais sur un autre chemin, je décide de faire un lien symbolique vers mon ancien path : hop problème résolu.
NB : avant de faire cela je vous conseille de tout d’abord mettre à jours les SDK tools, plateforms-tools et SDK-build tools.
Les plus d’Android Studio comparativement à Eclipse + ADT :
solution packagée
moins de risque liés aux dépendances logicielles (notamment avec Eclipse !)
Les moins :
une interface graphique “Java UI”
un manque d’intégration de la solution qui ne fait qu’appeler les binaires du SDK au lieu de les intégrer dans l’IDE
manque un écran de configuration Android au niveau des paramètres de l’IDE
Codons un peu...
D’une manière générale, l’architecture d’un projet Android est modifiée, notamment à cause de Gradle.
Coté Java
Venant d’Eclipse il est nécessaire de se faire un peu l’oeil sur la coloration syntaxique, la police et l’indentation.
On retrouve certains raccourcis venant d’Eclipse : comme celui pour la complétion CTRL+Espace.
La construction du projet se fait via le menu ou via la combinaison CTRL+MAJ+F9 ou CTRL-F9 selon que vous souhaitez reconstruire l’intégralité du projet ou juste compiler.
NB : je viens de trouver où configurer la version d’Android utilisée et autres paramètres pour le projet.
Coté ressources
Comme dit plus haut, les ressources du projet sont désormais contenues dans le répertoire src.
Les fichiers de ressources, autres que les fichiers de layout, s’ouvriront uniquement à l’ancienne : c’est à dire sous forme d’un fichier xml dans un éditeur de texte.
J’ai trouvé l’outil graphique de construction des IHM plus réactif que sous Eclipse voire mieux intégré également.
A l’exécution...
Rien ne change par rapport à ce qu’il existait avant.
Je regrette toujours que la console DDMS ne soit pas intégrée dans Android Studio, m’ajoutant une nouvelle fenêtre.
La signature des applications
La dernière chose que je souhaitais tester était la création d’un APK signé.
Conclusion
Cet Android Studio n’en est qu’à ces débuts.
Il est clair qu’aujourd’hui les outils du SDK ne sont pas encore assez bien intégrés : tous les outils ne sont présents, ceux qui le sont s’ouvrent dans de nouvelles fenêtres demandant une gymnastique du ALT+TAB....mais l’ensemble annonce quelque chose de bien à venir et semble requérir moins de ressource mémoire qu’Eclipse (à première vue).
La question est de savoir ce que compte faire Google de cet outil : l’imposer comme la référence du développement d’application Android (tout comme Eclipse en son temps), comme chaque solution de développement à son “Studio”, ou simplement comme une alternative avec Eclipse et Netbean ?