Affichage des articles dont le libellé est android. Afficher tous les articles
Affichage des articles dont le libellé est android. Afficher tous les articles

mercredi 16 février 2011

Android : premiers contacts (Partie 1)

Enfin un article pour partager mes premiers contacts avec Android...

Rappel avec la définition de Wikipedia :
Android (prononcé androïde) est un système d'exploitation open source pour smartphones, PDA et terminaux mobiles conçu par Android, une startup rachetée par Google, et annoncé officiellement le 5 novembre 2007. D'autres types d'appareils possédant ce système d'exploitation existent, par exemple des téléviseurs et des tablettes.
Passionné par les nouvelles technologies, expert Java, intéressé par les développements mobiles en plein expansion, c'est tout naturellement que je me suis tourné vers Android.

Je me suis donc lancé, il y a quelques temps, avec un projet (que je présenterai plus tard) personnel et ludique, le principal objectif étant l'exploration des développements mobiles et notamment Android.

Travaillant sous Linux et avec Eclipse, j'ai consulté quelques tutoriaux pour installer mon environnement de développement, et je me suis notamment inspiré de Introduction au SDK Android de Yann D'ISANTO, tutoriel efficace et bien fait.

Pour l'étape suivante, j'ai un peu galéré pour l'installation des packages de plateformes (Android 2.2), y compris avec le Android SDK and AVD Manager :


Mais un peu de recherche sur internet, quelques commandes magiques, et c'est bon. On a alors un environnement de développement prêt, avec un Android Virtual Device pour simuler un téléphone :



J'ai alors pu compiler, lancer et tester mon premier HelloWorld :


J'ai alors avancé sur mon projet, en découvrant les spécificités du développement Android (Activity, Layout, ...) dont je vous parlerai dans une prochaine partie ...

Pour finir cet article de "permiers contacts", et pour être complet sur la mise en route, je souhaite partager un dernier point qui m'a posé un peu problème, c'est le déploiement et les tests sur mon appareil (HTC Desire). Etant sous Linux, j'ai à nouveau un peu galéré, mais je me suis inspiré de cette page, et finalement, mon téléphone a été reconnu et Eclipse me l'a proposé dans les périphériques de tests du projet :



J'ai alors pu tester mon HelloWorld ou mon projet sur mon téléphone (capture réalisée avec tools/ddms du SDK, so simple ...) :


Dans une prochaine partie, je partagerai avec vous mes avis sur les spécificités du développement Android, mais je vous l'annonce déjà, c'est vraiment sympa ! ;-)

Et vous ? Quelles sont vos premières impressions concernant Android, en tant qu'utilisateur ou développeur ? J'attends vos commentaires .... ;-)

jeudi 7 octobre 2010

Soirée "Google et les technologies connexes" à Grenoble (17/09/2010)

Vendredi 17/09/2010, l'Alpes JUG (http://www.alpesjug.org/) organisait une soirée, chez Orange Labs à la ZIRST de Meylan, avec une présentation par Didier GIRARD (http://www.application-servers.com/) des technologies Google.

Au-delà des retrouvailles avec Didier (pas vu depuis ... 16 ans), j'ai beaucoup apprécié sa présentation qui m'a éclairé sur certains points et convaincu sur certaines technos. Je voulais donc y consacrer mon premier billet, pour partager certaines idées fortes retenues, avec mes collègues qui n'ont pas pu venir avec moi, et inciter ceux qui le peuvent à aller voir une telle présentation (si l'occasion se représente).

Introductions

Avant de rentrer dans le détails des technos, Didier a fait quelques "rappels" en commençant par le cloud. et les différentes solutions :
  • IaaS = Infrastructure as a Service : location de matériel [voir : Amazon, Salesforce, EC2, ES3, ...]
  • PaaS = Platform as a Service : hébergement d'application [voir : Google App Engine, Amazon, Salesforce, VMWare, ...]
  • SaaS : Software as a Service : location de logiciels [voir : GMail .... et oui, vous consommez déjà du SaaS ... ;-) ... ]
Didier : "Nous entrons dans un monde d'abondance, notre 'carburant' (CPU, stockage) ne coute rien, de nouvelles opportunités sont là !

[NDLA : ce sujet du "cloud" est vraiment passionnant (*)]

Didier a également parlé des RIA (Rich Internet Application) en évoquant GWT, Flex, JQuery, Silverlight, ... et en présentant succinctement quelques éléments de comparaison, toujours bon à entendre !

Sans oublier la mobilité, secteur en plein expansion, explosion, avec notamment ... Android, évidemment !

Google App Engine

Les mot clés que je retrouve dans mes notes : hébergement d'application, gratuit (quotas), mail, batch, XMPP, base NoSQL (Bigtable), namespace (partitionnement des données entre utilisateurs), MapReduce, déploiement en 1 clic, import/export Bigtable, ...

Didier nous a fait une démo. Grâce au plugin Eclipse, la création d'une application avec un squelette basique, puis le déploiement "sur le cloud" sont vraiment faciles.

Ensuite, Didier a longuement expliqué et insisté, démos à l'appui, sur les quotas et les "hors quotas" (quand on dépasse) avec les possibilités de paiements, la gestion de son "budget", les suivis très détaillés dans le tableau de bord, etc ... GAE est vraiment bien pensé, et surtout très bien outillé, autant côté développement que console d'administration.

Une des principales difficultés, peut-être, est la base Bigtable, de type NoSQL, ce qui peut surprendre. Mais des frameworks existent pour pouvoir faire du développement plus type JPA, comme par exemple Objectify.

Je connaissais déjà un peu GAE, la création facile, le déploiement en 1 clic, la "surprise" de Bigtable, les aides de Objectify, etc ... mais certains précisions apportées par Didier m'ont bien éclairé, et surtout, encore plus convaincu de l'intérêt du cloud !!!

Didier nous a montré pas mal de choses en se basant sur son application pour Android http://www.abonentendeur.com/ (petite pub au passage ... ;-) ...). Dans la console GAE, il était intéressant de voir la courbe de fréquentation monter au fur et à mesure de la soirée, puisque nous étions un vendredi, soir de départ en week-end (et les automobilistes s'intéressent au bouchons et autres radars ...).

GWT

Les mot clés que je retrouve dans mes notes : compatibilité tous navigateurs, très bon pour "touch Web" (smartphones), très facile pour le développement (langage Java), très "open source" (avec les avantages de la communauté), coûts réduits, Javascript optimisé (en taille) et téléchargé 1 fois, mode "offline" possible, gestion i18n, possibilité de debug (points d'arrêts), outils et plugins de "design" (GWT Designer rendu public la veille de la soirée), ...

Je dois l'avouer, j'étais plutôt "GWT-septique", mais Didier m'a vraiment convaincu, surtout par les avantages (voir ci-dessus).

A noter que Didier anime un blog dédié à GWT : http://www.ongwt.com/.

Android

Didier étant bavard, il n'a plus eu beaucoup de temps pour nous parler d'Android. Il nous a quand même fait une démo, avec à nouveau la création simple et rapide d'une application basique, avec test dans un simulateur, puis test dans son smartphone. Une plateforme très prometteuse et très porteuse, à saisir !

Conclusion

Une soirée vraiment intéressante et enrichissante. Didier ma surpris par son enthousiasme communicatif.
Merci à l'AlpesJUG pour l'organisation et l'accueil.
Et Didier .... à bientôt ... ;-)



(*) J'ai également regardé la vidéo de la présentation Opportunités du cloud pour la Direction des Etudes par Arnaud Héritier et Julien Jakubowski à l'USI 2010, excellent !