Aujourd'hui à Adobe Max 2009, Adobe a annoncé la possibilité de créer des applications natives iPhone en utilisant Flash 5. Maintenant, cela a vraiment très peu à voir avec mes diatribes tôt à propos de Flash, car il n'a rien à voir avec le développement Web. Il s'agit de créer des applications natives iPhone en utilisant ActionScript et les outils Flash, qui se compilé en Assemblée ARM. Vous pouvez trouver quelques informations plus techniques sur la façon dont ils le font here et une FAQ here.
C'est un développement intéressant, et je ne suis pas sûr de ce que d'y penser. À première vue, il semble certainement une bonne chose de la part d'Adobe, comme il fera un point de marketing pour leur plateforme de dev. Du point de vue réaliste, cependant, elle ne change pas mon avis que vous devriez éviter les principes de développement marteau et doit choisir les meilleurs outils pour chaque plateforme. Flash a toujours été un compromis qui tient tête considérables pour vous permettre de créer des applications qui peuvent fonctionner sur plusieurs plates-formes tout en se sentant natif sur aucun et obtenir des performances natives sur aucun.
Je pense aussi que l'utilisation de cette technologie comporte des risques importants que la position d'Apple sur, il est précisé. J'ai vu aucune indication que Adobe a travaillé avec Apple sur elle et j'ai vu au moins une allégation qu'il a été fait sans l'implication d'Apple, la connaissance ou consentement. Si c'est vrai, il sera intéressant de voir comment cela se joue, mais je ne conseillerais pas même toucher la technologie que l'opinion d'Apple est connue.
Il existe actuellement plusieurs applications sur l'App Store créé avec la version bêta privée de l'iPhone SDK flash. Par curiosité, j'ai téléchargé plusieurs d'entre eux pour les vérifier.
Première impression: l'utilisateur final est peu probable d'avoir une idée de comment l'application a été créée. Il n'ya rien sur ces applications Flash créés qui crie "Flash". Ils ressemblent à peu près exactement comme toutes les autres applications immersives iPhone. C'est bien.
La prochaine chose que j'ai remarqué, c'est que aucune de ces applications sont des choses particulièrement avancée ou une fonction qui serait l'impôt le matériel ou le besoin d'exploiter le GPU - pas de rendu 3D, aucun montant folle de l'animation, pas de générateurs de particules. Ils semblent avoir une fonctionnalité équivalente à Flash jeux à partir de sept ou huit ans si, pour être juste, ce sont les premières expériences bêta, et je ne devrais pas trop interpréter cela. Mais, ces premiers exemples ne se sentent un peu lent pour ce qu'ils sont.
Les applications sont aussi pléthorique pour ce qu'ils sont. Ce jeu Roach est presque dix Mo. pour un jeu qui vous permet de squash silhouettes gardon. Rouge Capot (Lien App Store), est de douze megs de taille pour un point et jeu, cliquez qui montre deux images statiques et vous devez trouver les différences. C'est un peu plus d'un magazine interactif Highlight sur l'iPhone, avec une meilleure oeuvre d'art. La taille est une chose importante, depuis plus de dix apps megs ne peuvent pas être téléchargés via des connexions sans fil à partir du téléphone et la plupart des gens achètent de plus sans fil. Je serais prêt à parier beaucoup d'argent que ces applications, réécrit comme une application native, serait au moins la moitié de la taille. Lequel, bien sûr, je me demande pourquoi il ya tellement de code supplémentaire s'il n'y a pas un interprète ou compilateur JIT là-dedans. Mais Adobe prétend qu'il n'y a pas et que cela est compatible avec Apple "pas d'interprètes ou le compilateur terme" du SDK. Je ne suis pas sûr que je acheter cela. Je ne suis pas sûr qu'Apple soit. Je soupçonne qu'il y aura beaucoup de contrôle appliquées aux binaires qu'ils produisent, à tout le moins.
Comme je l'ai creusé dans d'autres, j'ai remarqué que tout est compilé dans l'exécutable. Dans un paquet d'application iPhone typique, toutes les images et les fichiers sons sont stockés sous forme de fichiers individuels, séparés de l'exécutable, qui contient à peu près seul le code. Si vous décompressez un fichier Flash généré. IPA, vous ne voyez pas la structure d'application typiques bundle. Autre que l'écran de démarrage et de l'icône, vous ne voyez pas tous les fichiers de ressources à tous, mais le fichier exécutable est énorme parce que toutes les ressources sont à l'intérieur de celui-ci. Ce me fait me demander si ces applications Flash sont générées efficace de la mémoire, qui est très important lors de l'écriture pour les téléphones première et deuxième génération. Il n'est pas impossible qu'ils puissent être, mais cela ne semble pas être la meilleure option de stockage pour une application embarquée.
En fouillant dans encore plus, j'ai remarqué que les images de ces applications sont PNG, tel que recommandé pour le développement iPhone, mais ne sont pas l'ordre des octets aligné avec mémoire vidéo de l'iPhone (GBRA lieu de RGBA). Ainsi, les applications iPhone flash semble avoir tous les inconvénients du format de fichier PNG, comme aucun de compression avec perte, sans les avantages que vous obtenez dans Xcode généré applis iPhone (alignement d'octets pour accélérer blitting).
L'exécutable binaire à l'intérieur de ces applications Flash ne pointent vers un certain nombre de cadres de l'iPhone standard, y compris UIKit (dont les développeurs Flash peuvent pas accéder directement en fonction de la FAQ), des services audio file d'attente, Core Graphics et l'OpenGL ES. Censément ces applications Flash peuvent tirer parti de l'accélération matérielle, dont le liant semble soutenir, même si la performance des applications semble miner.
Certes, de nombreux développeurs d'Adobe Flash / Flex / Air qui sont effrayés par l'Objective-C célébrons aujourd'hui. Je pense que la célébration devrait être tempérée par une note de prudence.
Je suis curieux de voir la réaction d'Apple pour Adobe porte arrière d'insertion des applications Flash dans le magasin avant d'annoncer publiquement la technologie. Ce fut un déménagement marketing intelligent de la part d'Adobe - si Apple ne tirez pas les applications, il valide Flash comme un outil de l'iPhone dev, mais si Apple ne les tirer, ils donnent assloads Adobe de publicité gratuite dans le processus. Brillant ... dans une sorte skeevy de passage.
Bien sûr, puisque Adobe ne semble pas faire cela en partenariat avec Apple, alors il semble incompréhensible que Adobe pourrait avoir accompli cet exploit sans avoir violé l'accord de l'iPhone SDK, en particulier l'article 2.5 qui interdit l'ingénierie inverse ou la redistribution de l'un des composants du SDK ainsi que la création de toute œuvre dérivée. Zut, je pense que vous pourriez prétendre que Flash 5 avec le soutien de l'iPhone IS une œuvre dérivée sous 2.5, et si c'est non, il n'y avait aucune façon, ils pouvaient l'avoir créé sans pièces d'ingénierie inverse sur le SDK.
Ma conjecture est que Apple ne prendra pas de bien vouloir Adobe ingénierie inverse certaines pièces non documentées du SDK. Je suis curieux de savoir si Apple va les confronter, et s'ils le font, si elle sera directement, ou si ils vont simplement faire ce qu'ils faisaient avec les Palm et faire en sorte applications iPhone Flash généré arrêter de travailler. Vu comment les différents faisceaux de l'application sont entre une application Xcode généré et une application iPhone Flash généré, il serait trivial pour Apple de le faire, si elles le voulaient. Heck, il est même possible que ces applications seront pause sur les futures versions du SDK simplement parce que leurs faisceaux sont différentes, même sans rien faire d'Apple intentionnel.
Si j'étais un développeur Flash, je ne serais pas applaudir juste encore. Cela ressemble à une proposition risquée pour moi à présent. Adobe et Apple sont toujours agir de façon antagonique uns envers les autres. Adobe pourrait très bien avoir franchi la ligne d'ici. Il ya deux options juridiques et techniques ouverts à Apple pour empêcher Adobe de faire cela s'ils le désirent. Vont-ils? Honnêtement, je ne sais pas. Apple fait encore de l'argent à partir d'applications qui sont créées avec les outils Flash, donc ils pourraient tout simplement l'ignorer et de prendre leur réduction de 30% tranquillement.
Mais mon instinct dit qu'ils sont probablement pas à le faire. Si je devais parier, je parierais que cela ne va pas bien s'imbriquer avec Apple, et ne va pas à jouer bien pour Adobe. Je pense que je éviter d'utiliser Flash pour créer des applications de l'iPhone jusqu'à et à moins d'Apple donne le processus une sorte de bénédiction. Jusque-là, c'est juste sacrément risqué. Vos applications peuvent simplement arrêter de travailler. Ils pourraient obtenir arrachés. Ils pourraient agir bizarrement avec les futures versions de l'iPhone OS. Je ne dis pas tout cela va se passer, c'est juste que c'est un risque que Adobe ne pas être à l'avant avec les développeurs Flash à propos.
Nous vivons dans une époque intéressante.
C'est un développement intéressant, et je ne suis pas sûr de ce que d'y penser. À première vue, il semble certainement une bonne chose de la part d'Adobe, comme il fera un point de marketing pour leur plateforme de dev. Du point de vue réaliste, cependant, elle ne change pas mon avis que vous devriez éviter les principes de développement marteau et doit choisir les meilleurs outils pour chaque plateforme. Flash a toujours été un compromis qui tient tête considérables pour vous permettre de créer des applications qui peuvent fonctionner sur plusieurs plates-formes tout en se sentant natif sur aucun et obtenir des performances natives sur aucun.
Je pense aussi que l'utilisation de cette technologie comporte des risques importants que la position d'Apple sur, il est précisé. J'ai vu aucune indication que Adobe a travaillé avec Apple sur elle et j'ai vu au moins une allégation qu'il a été fait sans l'implication d'Apple, la connaissance ou consentement. Si c'est vrai, il sera intéressant de voir comment cela se joue, mais je ne conseillerais pas même toucher la technologie que l'opinion d'Apple est connue.
Il existe actuellement plusieurs applications sur l'App Store créé avec la version bêta privée de l'iPhone SDK flash. Par curiosité, j'ai téléchargé plusieurs d'entre eux pour les vérifier.
Première impression: l'utilisateur final est peu probable d'avoir une idée de comment l'application a été créée. Il n'ya rien sur ces applications Flash créés qui crie "Flash". Ils ressemblent à peu près exactement comme toutes les autres applications immersives iPhone. C'est bien.
La prochaine chose que j'ai remarqué, c'est que aucune de ces applications sont des choses particulièrement avancée ou une fonction qui serait l'impôt le matériel ou le besoin d'exploiter le GPU - pas de rendu 3D, aucun montant folle de l'animation, pas de générateurs de particules. Ils semblent avoir une fonctionnalité équivalente à Flash jeux à partir de sept ou huit ans si, pour être juste, ce sont les premières expériences bêta, et je ne devrais pas trop interpréter cela. Mais, ces premiers exemples ne se sentent un peu lent pour ce qu'ils sont.
Les applications sont aussi pléthorique pour ce qu'ils sont. Ce jeu Roach est presque dix Mo. pour un jeu qui vous permet de squash silhouettes gardon. Rouge Capot (Lien App Store), est de douze megs de taille pour un point et jeu, cliquez qui montre deux images statiques et vous devez trouver les différences. C'est un peu plus d'un magazine interactif Highlight sur l'iPhone, avec une meilleure oeuvre d'art. La taille est une chose importante, depuis plus de dix apps megs ne peuvent pas être téléchargés via des connexions sans fil à partir du téléphone et la plupart des gens achètent de plus sans fil. Je serais prêt à parier beaucoup d'argent que ces applications, réécrit comme une application native, serait au moins la moitié de la taille. Lequel, bien sûr, je me demande pourquoi il ya tellement de code supplémentaire s'il n'y a pas un interprète ou compilateur JIT là-dedans. Mais Adobe prétend qu'il n'y a pas et que cela est compatible avec Apple "pas d'interprètes ou le compilateur terme" du SDK. Je ne suis pas sûr que je acheter cela. Je ne suis pas sûr qu'Apple soit. Je soupçonne qu'il y aura beaucoup de contrôle appliquées aux binaires qu'ils produisent, à tout le moins.
Comme je l'ai creusé dans d'autres, j'ai remarqué que tout est compilé dans l'exécutable. Dans un paquet d'application iPhone typique, toutes les images et les fichiers sons sont stockés sous forme de fichiers individuels, séparés de l'exécutable, qui contient à peu près seul le code. Si vous décompressez un fichier Flash généré. IPA, vous ne voyez pas la structure d'application typiques bundle. Autre que l'écran de démarrage et de l'icône, vous ne voyez pas tous les fichiers de ressources à tous, mais le fichier exécutable est énorme parce que toutes les ressources sont à l'intérieur de celui-ci. Ce me fait me demander si ces applications Flash sont générées efficace de la mémoire, qui est très important lors de l'écriture pour les téléphones première et deuxième génération. Il n'est pas impossible qu'ils puissent être, mais cela ne semble pas être la meilleure option de stockage pour une application embarquée.
En fouillant dans encore plus, j'ai remarqué que les images de ces applications sont PNG, tel que recommandé pour le développement iPhone, mais ne sont pas l'ordre des octets aligné avec mémoire vidéo de l'iPhone (GBRA lieu de RGBA). Ainsi, les applications iPhone flash semble avoir tous les inconvénients du format de fichier PNG, comme aucun de compression avec perte, sans les avantages que vous obtenez dans Xcode généré applis iPhone (alignement d'octets pour accélérer blitting).
L'exécutable binaire à l'intérieur de ces applications Flash ne pointent vers un certain nombre de cadres de l'iPhone standard, y compris UIKit (dont les développeurs Flash peuvent pas accéder directement en fonction de la FAQ), des services audio file d'attente, Core Graphics et l'OpenGL ES. Censément ces applications Flash peuvent tirer parti de l'accélération matérielle, dont le liant semble soutenir, même si la performance des applications semble miner.
Certes, de nombreux développeurs d'Adobe Flash / Flex / Air qui sont effrayés par l'Objective-C célébrons aujourd'hui. Je pense que la célébration devrait être tempérée par une note de prudence.
Je suis curieux de voir la réaction d'Apple pour Adobe porte arrière d'insertion des applications Flash dans le magasin avant d'annoncer publiquement la technologie. Ce fut un déménagement marketing intelligent de la part d'Adobe - si Apple ne tirez pas les applications, il valide Flash comme un outil de l'iPhone dev, mais si Apple ne les tirer, ils donnent assloads Adobe de publicité gratuite dans le processus. Brillant ... dans une sorte skeevy de passage.
Bien sûr, puisque Adobe ne semble pas faire cela en partenariat avec Apple, alors il semble incompréhensible que Adobe pourrait avoir accompli cet exploit sans avoir violé l'accord de l'iPhone SDK, en particulier l'article 2.5 qui interdit l'ingénierie inverse ou la redistribution de l'un des composants du SDK ainsi que la création de toute œuvre dérivée. Zut, je pense que vous pourriez prétendre que Flash 5 avec le soutien de l'iPhone IS une œuvre dérivée sous 2.5, et si c'est non, il n'y avait aucune façon, ils pouvaient l'avoir créé sans pièces d'ingénierie inverse sur le SDK.
Ma conjecture est que Apple ne prendra pas de bien vouloir Adobe ingénierie inverse certaines pièces non documentées du SDK. Je suis curieux de savoir si Apple va les confronter, et s'ils le font, si elle sera directement, ou si ils vont simplement faire ce qu'ils faisaient avec les Palm et faire en sorte applications iPhone Flash généré arrêter de travailler. Vu comment les différents faisceaux de l'application sont entre une application Xcode généré et une application iPhone Flash généré, il serait trivial pour Apple de le faire, si elles le voulaient. Heck, il est même possible que ces applications seront pause sur les futures versions du SDK simplement parce que leurs faisceaux sont différentes, même sans rien faire d'Apple intentionnel.
Si j'étais un développeur Flash, je ne serais pas applaudir juste encore. Cela ressemble à une proposition risquée pour moi à présent. Adobe et Apple sont toujours agir de façon antagonique uns envers les autres. Adobe pourrait très bien avoir franchi la ligne d'ici. Il ya deux options juridiques et techniques ouverts à Apple pour empêcher Adobe de faire cela s'ils le désirent. Vont-ils? Honnêtement, je ne sais pas. Apple fait encore de l'argent à partir d'applications qui sont créées avec les outils Flash, donc ils pourraient tout simplement l'ignorer et de prendre leur réduction de 30% tranquillement.
Mais mon instinct dit qu'ils sont probablement pas à le faire. Si je devais parier, je parierais que cela ne va pas bien s'imbriquer avec Apple, et ne va pas à jouer bien pour Adobe. Je pense que je éviter d'utiliser Flash pour créer des applications de l'iPhone jusqu'à et à moins d'Apple donne le processus une sorte de bénédiction. Jusque-là, c'est juste sacrément risqué. Vos applications peuvent simplement arrêter de travailler. Ils pourraient obtenir arrachés. Ils pourraient agir bizarrement avec les futures versions de l'iPhone OS. Je ne dis pas tout cela va se passer, c'est juste que c'est un risque que Adobe ne pas être à l'avant avec les développeurs Flash à propos.
Nous vivons dans une époque intéressante.
Aucun commentaire:
Enregistrer un commentaire