Apache Adobe Flex TutorialTutoriaux Adobe Flex & AIR en Français

1sept/100

Acquisition d'OpenPlug par Alcatel

C'est maintenant officiel, Alcatel-Lucent a racheté la société française OpenPlug:

Alcatel-Lucent acquires OpenPlug, a cross-platform mobile software development tool provider

Après avoir racheté ProgrammableWeb en juin, Alcatel montre une vraie envie de s'immiscer dans le monde mobile. Après des années de silence sur le marché du mobile (rappelez-vous, les mobiles Alcatel avec le joystick qui durait 2 semaines), Alcatel pointe donc le bout de son nez.

Bonne nouvelle pour OpenPlug?

Sûrement oui ^^. C'est souvent le but des startups, de monter monter puis de se faire racheter. Google ou Oracle par exemple sont friands de ce genre d'entreprise innovante. Cette annonce se fait 1-2 mois après le lancement commercial (avec pricing) de la suite ELIPS d'OpenPlug

L'appellation OpenPlug sera encore utilisée quelques temps puis sera le système sera intégrée à l'existant d'Alcatel:

“In the short term the service will continue to use the OpenPlug brand,” said Monson, though OpenPlug will also be included in Alcatel-Lucent’s Developer Platform and Open API Service.

Bonne nouvelle pour les utilisateurs? A mon avis, on verra. Ce genre de merge peut ralentir la marche d'OpenPlug qui a encore du chemin à faire. Certes, OpenPlug joue sur toutes les plate-formes (je ne sais pas s'ils ont eu la confirmation écrite de la part d'Apple confirmant que leur système respecte bien les derniers termes de licence du SDK Apple) mais la concurrence est rude.

Notamment, les grands points à améliorer (lorsque je l'avais testé), sont:

  • Emulateur "bricolé", très loin de ce que l'on peut expérimenter avec les émulateurs natifs
  • Taille des applications générées bien trop importantes
  • Compilation qui prend des plombes (conversion C)
  • Pas de gestion des librairies SWC
  • Des tutoriaux pas assez touffus

Je ne vais pas forcement comparer avec la solution Adobe Air sur Android que je préfère. C'est quand même très plaisant d'avoir un runtime qui va assurer un rendu sans trop se pré-occuper du système derrière. En fait, j'aimerai juste qu'OpenPlug arrête un peu de faire ce que je considère presque comme de la publicité mensongère:

Create Cross-Platform Native Mobile Apps in Flex with ELIPS Studio

Non, on ne code pas "en Flex", on code "à la manière de Flex" s'il on veut. On peut dire que l'on peut écrire du code MXML (déclaratif) et de l'ActionScript mais ce n'est pas du Flex derrière. Avec Air pour Android, oui on code en Flex, pas avec OpenPlug.

Enfin bon, souhaitons quand même bonne continuation à OpenPlug :)

11juin/100

OpenPlug publie sa liste de tarifs pour la version finale

Cela faisait un moment que je n'avais pas parlé d'OpenPlug pour diverses raisons mais après 5 versions beta, la version finale n'est plus très loin. Une version beta 6 et 7 sont prévues, rajoutez donc quelques semaines pour avoir la date de release.

Outre les nouveautés comme la compatibilité Flex 4, les extensions native pour Android, …(Voir la liste complète), OpenPlug a définit son futur mode de commercialisation. Celui-ci se fera sous forme de licence avec 4 niveaux différents:

  • Free
  • Pro
  • Premium
  • Indie

Vous pourrez ainsi choisir votre licence suivant le type de consommation que vous aurez. Notez que la version gratuite vous permet de créer des applications mais vous oblige à placer une bannière de publicité sur votre application (dont vous partagerez les revenus avec OpenPlug). Pour l'instant, comme Elips Studio est en beta, vous n'avez accès qu'à la version Free.

Voici le récap:

openplug

Plus de détails sur le pricing

OpenPlug est pour l'instant la seule technologie qui vous permet de créer des applications iPhone / Android / Symbian (et d'autres je crois) sur la même base de code (framework Flex modifié pour pouvoir être compilé en C++). Pour l'instant, les applications iPhone sont encore acceptées, malgré le fait qu'OpenPlug tombe (à mon sens tout du moins) sous le coup des nouveaux Terms Of Service du iPhone SDK (car les applications ne sont pas originellement codées en Objective-C). Apple refusera peut-être ces applications dans le futur, peut-être pas, qui sait…

Contrairement à ce que j'avais annoncé sur le blog, je ne continuerai pas à faire des tutoriaux sur l'utilisation d'OpenPlug. La raison est plutôt simple, il y a énormément de choses à dire sur ce que l'on peut maintenant faire avec Flash Player 10.1 et Air 2 sur Android. Je vais plutôt me diriger dans cette direction car c'est aussi dans cette direction que je me dirige dans mon environnement professionnel. Je vais donc traiter plutôt cet aspect du développement mobile, dès que j'aurai un peu de temps libre !

Remplis sous: OpenPlug Aucun commentaire
20mar/100

Sortie du SDK OpenPlug 3 beta 4

En beta 3, OpenPlug annonçait le support des plate-formes Android et bien d'autres choses. C'est à ce moment là que j'ai testé cette technologie de développement Flex-like pour mobile et je n'en avait pas un une très bonne impression. Entre temps, la beta 4 est sortie et corrige de nombreux points, surtout pour le support Android:

Voir les Release Notes OpenPlug 3 beta 4

Pour le téléchargement du nouveau SDK, vous devez vous enregistrer sur leur site et aller dans la section Download.

Télécharger le SDK ElipsFlexSDK 3.0.1.230

Les applications Android sont bien plus fluides qu'avant et moins buggées notamment au niveau de la gestion du texte et des basculements d'orientation d'écran.

J'ai pu lire sur les release notes que la méthode clone() sur Point et les propriété topLeft et bottomRight de la classe Rectangle ainsi que la classe Shape ont été implémentées. Cela fait partie des points bloquants que j'avais soulevé dans ma première review. Cela fait plaisir d'être entendu si rapidement ^^.

Maintenant, il ne reste plus qu'à coder :D

Remplis sous: OpenPlug Aucun commentaire
15mar/100

Interview – Thomas Menguy, responsable d'OpenPlug ELIPS Studio

Cherchant une solution pour le développement mobile il y a quelques semaines, je suis rapidement tombé sur OpenPlug, proposant un concept très intéressant.

Après des débuts plutôt difficiles, la plate-forme se révèle plus complète que je l'imaginais. Désireux d'en savoir plus, j'ai pris contact avec Thomas Menguy, responsable du produit ELIPS Studio chez OpenPlug.

OpenPlug sur openplug.com

Afin de mieux vous aider à cerner le produit OpenPlug, voici quelques Q&R avec Thomas Menguy:

Salut Thomas, tout d'abord, présentes nous l'équipe d'OpenPlug, son histoire…

OpenPlug a été fondée en 2002 par deux anciens de Texas Instruments, qui était alors leader pour les puces GSM (70% du marché des téléphones).

L'idée de départ était d'aider le développement et l'intégration du logiciel pour l'industrie du mobile.

Peu à peu, nous avons fourni à nos clients, fabricants de téléphone et leurs sous-traitants, un produit (appelé ELIPS Suite) contenant toutes les briques logicielles nécessaires pour pouvoir réaliser un téléphone dit "mass market", c’est à dire tout sauf les smartphones, basé sur du hardware très bas cout (en dessous d'une vingtaine de dollars pour l'ensemble du téléphone).

Ce produit ELIPS Suite est aujourd’hui déployé sur des millions de téléphones, y compris auprès de grandes marques comme Sony Ericsson.

ELIPS Suite étant bien déployé sur la partie « mass market » du marché du mobile, nous cherchions à nous positionner sur le marché du « smartphone », en réutilisant bien sur notre bagage de software embarqué pour plateforme bas cout, et les assets développés pour ELIPS Suite. En parallèle il nous manquait une technologie d’UI (User Interface) avancée avec des effets et des langages de programmation plus modernes (dans notre monde tout se fait en C :) ) : après avoir évalué tout ce qui se faisait, Flex s’est rapidement imposé (par rapport à  Silverlight, SVG, etc).

L’iPhone et l’explosion du marché des applications mobiles ont fait le reste pour nous convaincre de nous positionner sur ce créneau.

Nous pensons vraiment qu'Adobe a mis en place  quelque chose d'intéressant avec son framework Flex, ses outils et sa communauté, par contre le moyen de "projeter" ces applications, en particulier pour le mobile, ressemble trop au "write once, doesn't work or look poorly everywhere" de java et de j2me, en tout cas pour les applications. Pour les sites web, c'est une autre histoire. Ce que fait Adobe avec le flashplayer et AIR  et la stratégie Open Screen Project, c'est un peu comme si pour vendre Dreamweaver (son éditeur phare d'HTML) Adobe imposait son browser Web à tout le monde. Il nous paraissait dommage de brider leur excellent tool flow à cause d'un runtime trop générique et d'une stratégie difficile à mettre en place.

On s'est donc engouffré dans la brèche, le but étant bien sûr de s'assurer un business pérenne… et de rester dans le milieu du mobile et de ces évolutions qui nous passionnent tant!

Surtout qu’ELIPS Studio est un réel changement culturel pour nous : de quelques très gros (et lourds :P )  clients, on passe à une communauté de gens très motivés et créatifs…rafraichissant !

Quels sont les objectifs du projet OpenPlug sur le long terme?

Nous sommes maintenant actifs sur les deux « zones » du marché du mobile : le « mass market » avec ELIPS Suite, et le « smartphone » avec ELIPS Studio.
Notre objectif pour les années à venir est d’un côté d’assoir et de pérenniser notre position de leader sur le marché « mass market », tout en se positionnant sur le marché du « smartphone » comme un acteur clé dans le développement d’applications mobiles.

Pensez-vous déjà à une stratégie commerciale (pricing, licence, …)? Laquelle?

Notre produit est aujourd'hui en beta gratuite, et nous travaillons sur son business modèle, au jour d'aujourd'hui, en voila les grandes lignes (qui pourront fortement changer):

  • Une version gratuite, avec quasiment toutes les fonctionnalités, maisavec un bandeau de pub imposé dans l'application, dont on partage les revenus avec le développeur (en gros non seulement le tool est gratuit, mais en plus on vous paye !), on imposera aussi un spashscreen OpenPlug et peut être un logo sur l'icône de l'application sur les stores.
  • Une version "indie", pour développeurs indépendants, quelques centaines d'euros pour une plateforme, ensuite un prix par plateforme additionnelle. Dans ce cas bien sur la pub est optionnelle, plus de splash screen
  • Une version "small business" avec toutes les plateformes, des features plus premium (comme la possibilité de mixer du code natifavec de l'AS3) du support plus avancé un prix de quelques milliers d'euros avec des licences flottantes ou non
  • Une version "enterprise" beaucoup plus à la carte et surtout un niveau de support très différent

Que pensez-vous du framework Slider annoncé pendant Adobe MAX 2009? Un réel concurrent pour vous?

En fait Slider va bien nous aider en défrichant pas mal de choses, comme tout ce qui est lié à la navigation dans une application et son adaptation entre différente plateformes. Ce que nous apportons se situe en fait dans l'adaptation et l'optimisation du framework Flex pour les plateformes: par exemple notre composant List est directement porté sur une vraie liste iPhone sur un iPhone, ce n'est pas un recodage en AS3 de quelque chose qui ressemble à l'iPhone: on retrouve la même physique si particulière (rebonds et autre), l'accélération matérielle de l'iPhone, et donc des performances et un rendu qui font qu'une liste n'est pas discernable entre une application en ObjectiveC et une application ELIPS.

Avec Slider nous allons donc faire de même: réutiliser les bons concepts de programmation que Slider introduit et les rendre plus proche de la plateforme, et plus performants.

D'un point de vue purement technique, que se cache derrière OpenPlug?

Pas mal de choses et de softs développés depuis 2002 :)

ELIPS Flow
En gros: notre plugin FlexBuilder passe tout le code AS3/MXML de l'utilisateur à notre compilateur (basé sur celui d'Adobe) qui génère du C/C++ pour tout ce code.

On compile ensuite ce source à l'aide d'une toolchain basée sur GCC, que nous avons mise au point et brevetée il y a quelques années, on y ajoute des librairies dépendantes de l'OS visé, implémentant les services flash, les adaptations aux widgets native, aux APIs de la plateforme, etc.

On a ensuite des packagers spécifiques pour chaque OS qui vont générer à partir de ce binaire et des fichiers de ressources utilisateurs (images, etc.), un package exécutable et déployable sur la plateforme visée.

Remplis sous: OpenPlug Lire la suite
23fév/101

OpenPlug: Déploiement d'une application sur un portable Android (sous Windows XP et 7)

Tout d'abord, je vais réviser un peu mon avis sur OpenPlug d'hier. Il faut en fait s'y intéresser un peu plus et apprendre à s'en servir, j'ai sûrement fait une review un peu rapide ;) . Après avoir regardé dans les grandes lignes, les autres "framework" permettant de créer des applications mobiles natives multi-plateforme (pas sur un base Flex, mais sur une base HTML/JS/CSS), je me suis aperçu qu'il existait 3 grandes options:

  • Appcelerator: Cela semble mature, avec un bon packaging, un très beau site internet, sous licence MIT. Compatible seulement avec Android et iPhone
  • PhoneGap: Moins impressionnant, sous licence MIT, sens le projet qui va couler. Compatible avec Android, iPhone et BlackBerry
  • Rhomobile: L'alternative commerciale. Supporte iPhone, BlackBerry, Windows Mobile, Symbian, Android. Avec en bonus, des outils de synchronisation et autres (payants).

Bref, du bon et du moins bon et il reste que je n'ai pas envie de faire du JavaScript en attendant Flex Slider ou FP 10.1 sur Android. OpenPlug mérite donc que je m'y intéresse de plus près, ce que je vais faire.

Déploiement d'une application Android

On revient à ce tutorial qui va vous expliquer en détail comment déployer une application Android (.APK) sur votre téléphone. C'est ce que j'ai du faire pour pouvoir transférer l'application générée par OpenPlug vers mon HTC Magic G2. Comme je l'ai fait à cheval entre mon taff (Windows XP) et chez moi (Windows 7 64 bits), vous aurez même la résolution de quelques problèmes qui n'arrivent que sur certains OS.

Vu que j'ai passé quelques heures à chercher le pourquoi du comment sur de nombreux forums / docs, je pense que cela va vous sauver du temps si vous tentez de faire la même chose.

Création de l'application Android avec Elips

Pour créer votre première application avec Elips (OpenPlug), inscrivez-vous sur leur site, allez dans la section développeur et téléchargez l'installeur. L'installation se passe très normalement, rien à expliquer à ce niveau là. Ensuite, suivez le tutorial pour le développement d'une application sous Windows Mobile (arrêtez-vous avant le déploiement du .cab quand même).

Avant de pouvoir compiler votre application en natif (.apk), il va vous falloir une clé développeur Android (obligatoire pour la compilation). C'est un peu comme les certificats que l'on génère pour les applications Air, vous pouvez en créer un pour vos besoins de développement.

Génération d'une clé Android privée (keystore)

Pour générer votre clé, vous allez avoir besoin d'un utilitaire nommée "keytool". Celui-ci se trouve dans le SDK Android que vous pouvez télécharger ici:

Télécharger le SDK Android

Voici ensuite les grandes étapes à suivre:

  • Télécharger le SDK Android
  • Dézipper dans un répertoire (à la racine du C: par exemple)
  • Ajouter une variable au PATH (variables d'environnement Windows): (C:\android-sdk-windows\tools)

addToPathAndroidSDK

  • OK, OK, Appliquer, on ferme tout
  • Ouvrir un invité de commande (Démarrer > Exécuter > cmd)
  • Taper "keytool", une liste de commande devrait apparaitre. Si oui, l'installation et la configuration du SDK Android sont OK, sinon revenir en arrière.

keytool-cmd

  • Générer un clé . Pour cela, voici les arguments essentiels de la commande:
    • -keystore: Nom de votre fichier .keystore qui va contenir votre clé
    • -alias: Nom par lequel vous allez référencer votre fichier

Vous aurez donc quelque chose comme:

keytool -genkey -v -keystore flextut-key.keystore -alias flextut -keyalg RSA -validity 10000

  • Le mot de passe de votre clé vous sera demandé. Choisissez un mot de passe difficile (plus de 6 caractère obligatoirement). Pour la suite, le mot de passe sera "flextutorial"

keytool-cmd-2

  • Tapez deux fois le mot de passe souhaité (il ne sera pas affiché à l'écran par sécurité, tapez sur Entrée pour valider)
  • D'autres informations vous seront demandées pour compléter l'opération (nom / prénom, organisation, location, …)
  • Quand on vous demandera de confirmer ces dernières instructions, tapez "oui"
  • Appuyez sur Entrée quand on vous redemandera votre mot de passe
  • La console devrait normalement indiquer [Stockage de flextut-key.keystore]

keytool-cmd-3

Votre clé (un fichier .keystore) sera conservée dans votre répertoire utilisateur (C:\Users\fab par exemple sous Windows 7). Vous en avez fini avec la génération de la clé.

Compilation de votre application Flex pour Android

Grâce à votre clé (fichier .keystore), vous pouvez maintenant créer tranquillement vos application pour Android. Pour la compilation, vous pouvez suivre le tutorial d'OpenPlug. C'est assez simple, il faut aller dans les propriétés du projet, dans Elips3 > Targeted Devices. Sélectionnez "Generic Android" et cliquez sur "Edit By Platform". Dans la fenêtre qui s'ouvre, remplissez les 4 paramètres concernant la clé que vous avez généré (son chemin, son alias, son mot de passe (deux fois)):

properties_android

Vous pouvez ensuite lancer le packaging. Si tout se passe bien, vous devriez avoir un fichier .apk. Pour l'emplacement de ce fichier, regardez ce qui est écrit dans la console, elle vous indique le chemin.

Remplis sous: OpenPlug Lire la suite