Développement iOS + Air3 + HTML5

J’ai enfin pris le temps de développer une petite application iPhone/iPad afin de juger de la complexité de mise en oeuvre.

iOS Developer

Pour déployer une application iOS il faut au préalable donner son sang à Apple en achetant une licence développeur 99$, attendre 2 jours le mail de confirmation puis se battre pendant plusieurs heures avec OpenSSL pour générer les certificats / signatures.

Voici un excellent article d’Adobe décrivant les dizaines d’étapes pour packager son application.

Technologies

Normalement pour développer une application iOS il faut travailler sous MacOS dans l’environnement XCode avec une vieille version d’Objective-C (sans garbage collector …)

Heureusement Adobe fournit les outils dans AIR3 pour packager une application AIR vers Android et iOS (AIR Flex pas HTML5). Il est donc possible de travailler sous Windows avec Eclipse via le plugin FlexBuilder.

Pedro Casaubon, a développé un composant StageWebViewBridge (surcouche au Navigateur Web) pour :

  • Naviguer sur des pages HTML embarquées dans l’appli
  • Faire communiquer le JavaScript et l’ActionScript

Avec cette approche il est donc ENFIN possible de développer une application iOS sous HTML5, jQuery et CSS et d’appeler des fonctions natives du périphérique (comme le fait PhoneGap).

Développement

Dans un premier temps j’ai joué avec l’appel de fonctions native depuis le navigateur. Le bridge fonctionne très bien il y a un tout petit peu d’ActionScript à faire pour mettre à dispo le code natif.

J’ai ensuite développé un mini framework de jeu de plateau.

Le navigateur réagit bien. L’iPad 1 peine sur les transitions CSS3. Au passage j’ai eu enfin l’occasion de jouer avec jQuery 😉

Next Step ?

Je souhaiterais pousser mes tests en appelant la Camera (avec composants graphiques) et la notification Push (avec encore un système de PKI).

Je dois finir le mini jeu et voir comment publier une applications sur l’AppStore et l’Android Store ?.

Remarques

Cela fait plaisir de pouvoir développer une application dans un environnement humain avec un langage simple 🙂

Pourquoi une application native ?

  • Je souhaite avoir accès aux fonctions hardware
  • Les utilisateurs pensent « AppStore » et non Site Web

QUID de la mort de Flex ?

Adobe a annoncé la fin du support des plugins de navigateur web mobile. Néanmoins Flex est encore bien vivant et Adobe poursuit le développement de AIR.

Il faut attendre encore quelques années avant que HTML5 soit stable pour remplacer complètement Flash.

2 pensées sur “Développement iOS + Air3 + HTML5

  • 21 novembre 2011 à 15 h 19 min
    Permalink

    Dans ma boite on veut se lancer dans le développement pour tablettes et après un bench et des POC, on a finalement retenu le framework SenchaTouch de Sencha, l’éditeur de ExtJS.

    Ce framework est vraiment très pro et très complet et les développeurs sont très actifs pour faire constamment des optim de perf et de compatibilité…

    En plus, pour l’aspect appli native ils supportaient PhoneGap dès le départ et ont maintenant ajouté directement au framework une solution maison pour faire ça.

    On est pas encore allé très loin dans le développement, mais ça nous a semblé être le moyen le plus robuste aujourd’hui pour se lancer là-dedans en ayant une culture plutôt Web et pas du tout Mac…

    Est-ce que tu as regardé de ce côté ? Adobe Air te semble apporter des choses en plus ?

    Répondre
  • 21 novembre 2011 à 15 h 28 min
    Permalink

    J’avais testé ExtJS sur du Adobe AIR Desktop. J’ai été très déçu:
    – Le Framework est très propre
    – Mais le coût est très élevé
    – Dans mon contexte « ultra minimaliste » j’ai trouvé que ExtJS ramait beaucoup.

    Dans le cas de notre appli iPhone (web) on utilise Webapp.net. J’ai un peu regardé jQuery Mobile que je le trouve bien mais très pauvre.

    Sinon,
    – Adobe AIR sur mobile me permet de coder sous windows
    – Adobe AIR desktop permet de faire une petite appli desktop simplement
    Dans les 2 cas c’est du HTML/CSS/JS

    Après si tu connais des gens à l’aise sous XCode sur Mac PhoneGAP doit bien marcher (Je trouve que c’est l’usine pour pas grand chose).

    Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *