Programmation iPhone en ActionScript

segaoufsegaouf Membre
18:31 modifié dans Actualités #1
Et voila qu'Adobe propose lui aussi une solution pour se passer d'objective-c (et meme de Mac) afin de sortir une application Iphone :
http://www.macgeneration.com/unes/voir/127337/flash-sur-iphone-comment-ca-marche

Apple devrait reagir un peu, il va perdre le controle de son environnement ... Mais es-ce possible de reagir pour Apple ?

Réponses

  • muqaddarmuqaddar Administrateur
    18:31 modifié #2
    J'ai séparé ton post pour créer un nouveau sujet. ;)

    Oui j'ai vu ça !
    Je trouve cela dingue quand même.

    Je ne sais pas comment Adobe arrive à  transformer son code ActionScript en executable .ipa. Les ingénieurs ont dû se casser la tête !

    Bon, il paraà®t que les quelques applis sorties sont assez lentes...
  • DrakenDraken Membre
    18:31 modifié #3
    Un jour on pourra programmer directement sur iPhone/iPod Touch, sans passer par un Mac ou un Pc, un jour.. mais pas demain, ni après demain !



  • AliGatorAliGator Membre, Modérateur
    18:31 modifié #4
    C'est simple, ils embarquent un RunTime flash. Enfin j'imagine, je vois pas d'autre solution en fait.
    Ils encapsulent dans un IPA leur Runtime flash et le contenu flash qui y sera joué, et ce de manière indissociable.
    Un peu comme si on embarquait le player en plus du stage flash dans un même exécutable.

    - Avantage, Apple peut maintenant valider (ou pas) ces applications, contrairement à  un player flash qui se situerai au même rang qu'un émulateur (genre émulateur SNES ou autre console) en rajoutant une couche d'interprétation avec du contenu interprété et variable (genre script).

    - Inconvénient, chaque appli générée ainsi inclus un Runtime flash à  chaque fois.
    - Inconvénient du côté de l'utilisateur : applis plus grosses, j'imagine une consommation CPU (et donc batterie aussi) comme Adobe les aime (no comment)
    - Inconvénient du côté des pratiques programmeur : les devs qui vont utiliser cette solution vont prendre leur code ActionScript tel quel, et ne sans doute pas prendre l'habitude des contraintes de développement mobile : (1) ActionScript étant basé sur un modèle mémoire à  base de Garbage Collector, déjà  je vous laisse imaginer les perfs en terme de gestion mémoire sur un mobile et (2) les devs ne vont pas, à  mon avis, penser leur appli façon mobile ou optimiser leur version pour mobile (en terme de patterns et architecture de programmation j'entend, genre pour limiter l'utilisation des ressources, gérer les cas de batterie, de dispo réseau, d'optimisation de bande passante, de possibilité d'un coup de fil en cours d'appli, et j'en passe), mais plutôt se dire "ah c'est cool j'avais une appli Flash qui fonctionnait sur ordi de bureau, j'ai qu'à  la recompiler pour iPhone et basta... comme si ça suffisait (ce qu'il va malheureusement croire d'ailleurs et c'est tout le souci à  mon sens).
  • sekaijinsekaijin Membre
    octobre 2009 modifié #5
    en fait le dev kit pour Iphone est basé sur le LLVM
    Low Level Virtual Machine.

    en gros le compilateur va produire du code pour cette machine virtuelle. puis il sera optimisé pour le processeur cible.

    cette structure de compilateur permet plus facilement d'écrire des compilateurs de divers langage car toute la partie finale est commune à  tous les langage

    si on regarde de près flash player est lui aussi une machine virtuelle. pour adobe donc pas d'analyseur syntaxique et tout le tointoin à  faire vue qu'ils l'ont pour le Flash Player
    reste le générateur de code cible. avec la LLVM la cible est très souple c'est un peut comme si tu avait un processeur qui possède autant de registres qu'en veut le développer et tout un tas d'autre caractéristique qui normalement sont des contraintes et là  ne le sont plus.

    bref dans tous les composant qui forme un compilateur seule cette partie de génération de code était à  écrire.

    le compilateur lui-même était donc pas facile mais accessible.

    restait à  porteur les librairies internes du flash player sur cette plate-forme
    et ça c'est je pense ce qui leur a sûrement donné le plus de travail car les primives de l'iphone sont fondamentalement différentes de celle de flash.

    j'avais oublié une petite info
    lors de la LLVM 2008 conférence Adobe en la personne Scott Petersen à  présenté un compilateur C vers flash
    Flash C Compiler: Compiling C code to the Adobe Flash Virtual Machine.

    on peut donc en conclure qu'adobe à  une expérience déjà  bien avancé dans la maà®trise de la LLVM

    je rappelle au passage que ActionScript est un langage compilé tout comme Java il ne l'est pas pour la machine cible mais la machine virtuelle.

    il y a bien longtemps que la très grande majorité des langage interprété sont passé à  des machine virtuelle et des compilateur généralement JIT


    A+JYT
Connectez-vous ou Inscrivez-vous pour répondre.