Proof of concept sur iPhone/Android avec Elips Studio

Introduction

Cet exemple consiste à afficher sur un iPhone ou un mobile Android une liste de contacts reçus d’un serveur via une requête http et à détecter la sélection d’un item dans la liste. Je commencerai par l’iPhone et vérifierai au final que l’application fonctionne sans modification sur un mobile sous Android.

Listecontactssimulateur

L’application native a été développée à l’aide d’Elips Studio version 3. Voici une vidéo présentant cette première petite application en exécution au sein du simulateur d’Apple.

Petit avertissement : il ne s’agit pas d’un tutoriel, mais plutôt d’un article de présentation générale du processus mis en oeuvre avec Elips Studio pour l’obtention d’une application native.

Elips Studio

Comme je l’ai expliqué dans le billet « 2011 l’année des applications mobiles d’entreprise« , Elips Studio fait partie de la catégorie des environnements de développement s’appuyant sur Adobe Flex afin de cibler la mobilité multiplateforme.

A la date de rédaction de ce billet, Elips Studio supporte Android (à partir de la version 1.6), iOS (à partir de la version 3), Windows Mobile (version 6.x), Symbian (à partir de la version 9.2), comme le montre ce tableau disponible sur le site de l’éditeur Open plug :

Platforms

Samsung Bada figure également à très court terme sur la roadmap de l’éditeur.

Concernant l’aspect non négligeable du coût, Open Plug propose en entrée de gamme une licence gratuite avec le seul désagrément de la présence d’une bannière publicitaire s’affichant à intervalle régulier. La seule réserve que j’émettrai ici concerne le contenu des publicités que je souhaiterai un peu mieux filtré. Voici les différentes offres commerciales :

Tarifs

Workflow de développement

Précisons que l’objectif ici consiste à générer des applications natives, s’installant sur la plateforme ciblée et s’exécutant hors du navigateur. Nous allons décrire le workflow à suivre pour cela.

Elips Studio vient compléter un sous-ensemble du Flex SDK avec sa propre bibliothèque de composants conçus spécialement pour les mobiles. La notion de sous-ensemble du Flex SDK est importante : tous les packages habituels ne sont pas présents et lorsqu’ils sont présents, ne proposent pas forcément toutes les classes de Flex. La version du Flex SDK supportée est la 3. Pour les spécialistes, cela signifie que l’on s’en tient à l’approche MX et pas Spark introduite avec Flex 4.

Availablecomponents

– Liste des composants disponibles –

Comme dans Flex, une application se code en employant deux langages :<

  • le langage déclaratif MXML, respectant une grammaire XML, qui sert à déclarer les éléments d’interface et certains composants non-visuels (pour la connectivité, les bindings par exemple)
  • le langage ActionScript 3, cousin de JavaScript, qui permettra d’implémenter le fonctionnel.

Initialement, le développement s’effectuait au sein de Flash Builder, le plugin Eclipse vendu par Adobe. Notons que pour de subtiles raisons marketing propres à Adobe, Flash Builder est un environnement de développement intégré … pour Flex ! Un développeur Flex est donc opérationnel immédiatement et à l’inverse, l’apprentissage du développement avec Elips Studio constitue également un apprentissage du développement avec Flex 3.

Une limitation importante est à mentionner cependant. Dans la majorité des cas, point de visualisation (mode Design) avec Elips Studio, les composants d’interface Elips n’étant pas reconnus par Flash Builder. Afin de s’affranchir de la contrainte de passer par l’achat de l’outil de développement d’Adobe, Open Plug propose maintenant une version directement sous forme de plugin Eclipse.

Flashbuilder2

– Copie d’écran commentée de l’environnement de développement –

La mise au point de l’application s’effectue très souplement grâce à un interpréteur AIR (Air Debug Launcher) qui permet de tester et déboguer de manière interactive (points d’arrêt, suivi du déroulement du code) son application.

Adl

Une fois obtenue une version satisfaisante, nous sommes impatients de voir ce que ça donne « en vrai », sur le mobile. Il faudra cependant se trouver un dérivatif durant la compilation du projet en C++. Le temps d’un café et nous voilà devant un projet XCode prêt à être compilé pour le périphérique choisi.

Projetxcode

Rappelons qu’XCode est l’outil de développement fourni par Apple pour la réalisation d’applications MacOS ou iOS.

Le périphérique cible pouvant être virtuel (simulateur fourni avec le SDK d’Apple) ou physique (un iPhone ou iPad connecté à la machine de développement).

Projetxcode2

Une fois choisie la cible, un clic sur le bouton Build and Run nous impose un temps d’attente de plusieurs minutes (au moins sur mon MacBook Pro) avant de voir l’application se charger sur le périphérique. Il y a alors quelque chose d’un peu magique à obtenir une application native iOS sans avoir saisi une seule ligne d’Objective C !

Récapitulatif

C’est un peu le développement à la mode Ikéa ! 

Ikea

Il faut télécharger et installer :

Heureusement, le site d’Open Plug fournit des tutoriels utiles pour réussir ce parcours semé d’embûches !

Tutorielses

Conclusion

J’avoue que la première fois que j’ai commencé à étudier Elips Studio, j’étais assez sceptique en raison de la complexité de ce processus de développement à étages. La bonne surprise a été de constater que la grande majorité du temps, cela fonctionnait du premier coup. 

Howitworks

Bien entendu, la perfection n’est pas de ce monde, surtout dans un domaine aussi émergeant que celui du développement d’applications mobiles. Le SDK présente des lacunes (par exemple pas de support de base de données locale pour le moment quoique ce soit au programme à court terme), la compilation est exagérément lente et demande d’organiser son activité pour ne pas perdre son temps à attendre le résultat. Les démos sont assez succinctes et le skin de base des composants, hum, pas toujours très séduisant…

Mais ça marche ! Et avec le même code, aucun changement, après une simple recompilation la version s’exécute dans l’émulateur Android :

Inandroidemulator

Voilà tout l’intérêt de cette solution : le multiplateforme à peu de frais.

De plus, Open Plug est une petite société française très réactive basée dans le Sud de la France. Les mises à jour sont régulières, le forum développeur actif et les membres de l’équipe rencontrables facilement sur les salons dédiés. Espérons que le rachat récent (fin 2010) par Alcatel Lucent permettra à cette initiative originale d’élargir son public. A suivre en tout cas, à mon avis…

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :