SDK iPhone : Pourquoi Apple a-t-elle changé la donne ?

Arnaud de la Grandière |
La chose aura beaucoup fait parler d'elle : avec iPhone OS 4, Apple interdit le développement d'applications par le biais de SDK alternatifs, au grand dam d'Adobe qui dévoile dans le même temps Flash CS5. À part pour le seul plaisir d'enquiquiner Adobe, pourquoi Apple a-t-elle ajouté cette nouvelle règle ? Après tout, elle aurait tout aussi bien pu voir d'un bon œil que Flash, loin de fragiliser l'App Store comme il aurait pu le faire sous forme de plug-in web, ne faisait qu'apporter de nombreuses applications supplémentaires sur son magasin. (lire : Apple, Adobe et Flash).

Les choses sont moins évidentes qu'elle n'y paraissent : il s'agit pour Apple d'une question de qualité et de stratégie. Pour le cas spécifique de Flash CS5, le logiciel permet la création d'une application directement compilée pour iPhone à l'aide de LLVM. L'approche ne manque pas d'épineux inconvénients : ainsi, il est non seulement impossible de débugger l'application, mais en outre aucun des éléments natifs de l'interface d'iPhone OS ne peuvent être exploités. Ça n'est pas nécessairement problématique pour les jeux, qui souvent contiennent leurs propres univers graphiques, mais les autres types d'applications qui seraient réalisées à l'aide de Flash auraient dû intégrer leurs propres éléments d'interface, comme c'est souvent le cas pour les applications multiplateformes.

Des SDK alternatif pour répondre à des besoins spécifiques

Et bien loin de s'arrêter à Flash, cette nouvelle règle met dans l'embarras une dizaine de SDK alternatifs (lire : iPhone OS 4.0 : Vent de panique pour les SDK alternatifs). La profusion de ces environnements de développement souligne qu'il y a un certain nombre de besoins auxquels Xcode ne satisfait pas à lui seul. On peut souligner deux grandes tendances : le développement multiplateforme, et la facilité d'accès.

Concernant cette dernière, elle consiste en différentes approches : certains SDK proposent un moyen plus simple de réaliser des applications pour les apprentis développeurs (comme c'est le cas de GameSalad qui permet de réaliser des jeux sans la moindre ligne de code), d'autres proposent une réponse simple à un problème compliqué (Unity intègre par exemple un moteur physique pour les jeux 3D), d'autres encore permettent à des développeurs qui maîtrisent déjà un langage de l'utiliser sans avoir à apprendre l'Objective-C.

Les SDK orientés multiplateformes quant à eux permettent de créer un projet qui sera compilé pour différentes machines. Ainsi, un projet réalisé avec Unity permet de créer un jeu qui pourra être exécuté dans un plug-in web, dans une application autonome sur Mac OS X comme sur Windows, de même que sur les consoles de jeux (Xbox 360, Wii, PS3), et enfin sur l'App Store, en limitant les modifications spécifiques à chaque plateforme au maximum.

Ces deux approches sont complémentaires et non-exclusives. On pourrait croire qu'Apple verrait d'un bon œil la manne de nouveaux développeurs que ces environnements de développement apportent, d'autant qu'un certain nombre d'applications réalisées avec ces SDK se sont fort bien vendues. Mais comme chaque pièce a son revers, ces avantages ont un prix qu'Apple ne semble pas disposée à payer.

Des partenaires encombrants

Les environnements de développement multiplateforme posent de nombreux problèmes : avec eux, l'App Store n'est plus qu'une des nombreuses destinations possibles d'un logiciel. Les développeurs ne codent plus pour l'iPhone, ils codent pour l'environnement de développement, qui prend par voie de conséquence tout l'ascendant en terme de plateforme, un ascendant qu'Apple n'est pas disposée à lâcher si facilement. D'autre part, sachant que la philosophie de ces IDE (Integrated Development Environment) se résume à "code once, run anywhere" (programmez une fois, exécutez n'importe où), celle-ci tend à gommer les spécificités de chaque plateforme. Si une fonction n'est pas disponible uniformément, il y a de fortes chances qu'elle ne soit tout simplement pas gérée, ce qui résulte à un nivellement par le bas. D'autre part, sachant que chaque plateforme propose une interface utilisateur qui lui est propre, tant en terme de fonctionnement que d'apparence, il est impossible de réaliser une application qui tire parti de ces spécificités : les boutons n'ont pas la même taille d'un OS à l'autre, on ne peut donc créer de mise en page cohérente et harmonieuse d'une machine à l'autre. Les IDE sont donc contraints d'intégrer leurs propres éléments d'interface qui sont appliqués à tous, ce qui provoque des disparités parfois ennuyeuses.

Tout ceci participe à une dilution de l'influence de l'App Store : en perdant de sa spécificité, il perd de son attractivité. Si les logiciels sont indifféremment distribués sur toutes les plateformes mobiles, il n'y a plus lieu d'en préférer une par rapport à l'autre. Mais John Gruber souligne un autre inconvénient : ces SDK sont un intermédiaire entre Apple et les développeurs. Si un tel SDK devait devenir prédominant, celui-ci pourrait avoir une influence catastrophique pour Apple : il suffirait que celui-ci mette du temps (ou de la mauvaise volonté) à intégrer une nouveauté d'iPhone OS pour que celle-ci soit tout simplement inaccessible aux développeurs qui utilisent ce SDK. Ce qui par voie de conséquence lui donnerait un contrôle sur la plateforme qu'Apple ne peut pas céder.

Steve Jobs n'a d'ailleurs pas manqué de souligner l'article de John Gruber en le qualifiant de "très perspicace". Le patron d'Apple a également souligné que toute couche intermédiaire entre la plateforme et le développeur ne conduit qu'à des réalisations en-deçà de ses critères qualitatifs, et empêche le développement de la plateforme (lire : SDK iPhone : Steve Jobs livre sa réponse). Apple compte donc que l'attractivité de sa plateforme encouragera les développeurs suffisamment motivés à se convertir pleinement à Xcode, même au sacrifice d'une sortie multiplateforme.

Un SDK pour les gouverner tous

L'argument qualitatif est toutefois quelque peu contestable, dans la mesure où une recherche du mot "fart" sur l'App Store rapporte quelques 518 applications, soit 0,3 % de l'App Store, dont l'essentiel consiste à émettre le son d'une flatulence à la pression d'un bouton… Le développement d'une application dans tel ou tel environnement n'est aucunement un gage de qualité : la pire des applications réalisée avec Unity a sans aucun doute une "production value" supérieure au bas du panier produit avec Xcode. Cependant, Apple fait toutefois preuve de cohérence dans la mesure où elle semble avoir décidé de serrer la vis au niveau de la qualité des applications (lire : Une application rejetée… pour cause d'inanité).

Quoi qu'il en soit, cette nouvelle politique met Adobe dans une situation particulièrement inconfortable : jusqu'ici Flash était une réponse universelle, puisque les contenus qui se destinent au plug-in d'Adobe était susceptibles de fonctionner sur n'importe quelle machine. L'arrivée de l'iPhone a remis en question cette hégémonie. Adobe avait trouvé un moyen de contourner cette limitation en offrant la possibilité de créer des applications pour l'iPhone avec Flash CS5, redonnant à sa plateforme un aspect universel bon gré mal gré. Seulement quatre jours avant la sortie de la Creative Suite 5, Apple annihile les efforts d'Adobe : Flash est indésirable y compris sur l'App Store. La réaction épidermique de Lee Brimelow montre bien l'état d'esprit qui doit régner dans les locaux de San Jose (lire : Evangéliste Adobe : « Apple, va te faire… »). De son côté, John Dowdell indique sur Twitter qu'il sait que « nombre de personnes de qualité travaillent chez Apple. S'ils souhaitent travailler pour une société plus soucieuse de l'éthique, Adobe embauche ».

Naturellement les hauts responsables d'Adobe font preuve de plus de retenue. Après avoir donné son sentiment sur son blog (lire : SDK iPhone : le directeur technique d'Adobe relativise), Kevin Lynch souligne dans une interview accordée à All Things Digital qu'il ne s'agit que d'une fonctionnalité parmi tant d'autres de la suite CS5, et que l'iPhone n'est qu'un écran parmi tant d'autres sur lesquels Flash sera bel et bien disponible (lire Vers un procès Apple/Adobe ?).


Apple casse le standard d'Adobe

Adobe a beau jeu de minimiser l'impact de la décision d'Apple, la fonctionnalité en question a été très mise en avant depuis sa révélation début octobre 2009, et on ne doute pas que le revirement d'Apple la met dans l'embarras. Quant au nombre de destinations possibles pour Flash, s'il fait naturellement partie des avantages indéniables du logiciel de création, c'est bien seulement l'iPhone qui était jusqu'ici mis en avant par Adobe, et non un nombre de plateformes qui vient de baisser d'une unité. Car l'App Store a un pouvoir d'attraction très conséquent, et fait beaucoup parler de lui. Les retombées média d'une application pour McDonald's ont une portée conséquente pour un investissement bien moindre à une campagne publicitaire. Non seulement cette nouvelle politique détruit les efforts d'Adobe pour intégrer cette fonctionnalité à Flash CS5, mais en outre elle met à mal Adobe qui s'est plue jusqu'ici à vanter les mérites "d'un web unique, sur n'importe quel écran", il lui faudra dorénavant modérer ses ambitions.



D'aucuns voient dans ce funeste retournement de situation un juste retour de bâton pour Adobe : en 1996, alors qu'Apple était au plus bas, Adobe a décidé de faire de Windows sa plateforme de prédilection, réévaluant au cas par cas la sortie de ses nouveaux logiciels sur Mac OS X, et interrompant même la publication de logiciels précédemment sortis sur Mac. À l'époque, c'était Apple qui était en demande, et c'était à Adobe d'évaluer s'il était justifié ou non d'ouvrir son catalogue aux machines d'Apple. La situation est aujourd'hui inversée, et c'est Adobe qui se trouve en situation de demande, et qui dépend du seul bon vouloir d'Apple. Un coup du sort bien cruel et ironique, mais ne nous y leurrons pas : seule la stratégie et les réalités économiques prévalent sur ce type de décision, et non les quelconques amertumes et ressentiments nourris au fil des ans. Apple ne s'encombrerait nullement de telles considérations si là était son propre intérêt. Adobe n'a d'ailleurs pas la moindre intention de lui rendre la pareille et exclut toute velléité de laisser tomber Mac OS X en guise de mesure coercitive : elle aurait bien plus à y perdre qu'à y gagner.

Tabula rasa ?

Même si elle est manifestement la première visée, Adobe est cependant loin d'être la seule concernée par la nouvelle règle. Comble de l'ironie, alors qu'Ansca Mobile soulignait que, contrairement à son SDK Corona, Flash était susceptible de violer les précédentes conditions d'utilisation de l'App Store (lire : Et si Apple refusait les applications Flash ?), ce sont tous les SDK alternatifs qui pourraient bien se voir refuser l'entrée de l'App Store (lire : iPhone OS 4.0 : Vent de panique pour les SDK alternatifs). Quand bien même ceux-ci parviendraient-ils à contourner cette limitation, comme ils sont nombreux à l'annoncer, le mal est fait : pour les utilisateurs de ces SDK, Apple sera toujours susceptible de modifier à nouveau ses règles et anéantir leurs investissements. Le seul moyen d'avoir toutes ses chances pour faire valider son application sera donc d'en passer par les outils qui ont reçu la bénédiction officielle d'Apple. Il faudra donc dorénavant être un développeur es qualité en Objective-C, ou du moins C/C++, pour créer des applications pour l'App Store.

On se doute néanmoins qu'Apple fera preuve de magnanimité concernant certaines applications. La plupart des jeux basés sur un moteur ouvert, tels que l'Unreal Engine par exemple, sont personnalisés à l'aide de scripts écrits avec LUA, un langage dédié (d'ailleurs utilisé par Corona). On peut les considérer comme des "super" fichiers de paramètres, permettant de personnaliser un moteur de jeu à d'autres couleurs, mais ceux-ci permettent également de définir le comportement même du moteur de jeu, et à ce titre sont en plein dans le domaine de la programmation à proprement parler. Apple ne peut décemment pas claquer la porte à certains titres sous prétexte que ses règles ne sont pas en adéquation avec les standards de l'industrie, comme le souligne le développeur Louis Gerbarg sur son blog.

Le délicat équilibre entre créativité et professionnalisme

Apple se trouve en fait face à un paradoxe épineux : avec un ticket d'entrée à $99 par an, l'App Store est potentiellement ouvert à tous les budgets. Cet état de fait offre à l'App Store du sang neuf avec nombre de productions indépendantes qui sortent des sentiers battus, et favorise l'innovation : il est plus facile de prendre des risques avec des petits budgets, alors que les grosses productions ont tendance à rester dans le sillon des logiciels qui ont déjà fait leurs preuves. L'autre avantage d'un tel tarif c'est qu'il permet d'ouvrir grand les portes de l'App Store et de lui fournir l'impressionnante quantité d'applications qu'on lui connaît (près de 160.000 à ce jour). Mais ces avantages ont également leurs revers : il est plus difficile pour une application de qualité de sortir du lot, et elle peut se voir noyée dans la masse de logiciels de moindre intérêt. D'autre part, certains "petits" développeurs, jusque-là habitués à pouvoir proposer leurs logiciels librement sur ordinateur, ont parfois du mal à tolérer les exigences d'Apple, dont les règles changent régulièrement et se voient inégalement appliquées, ce qui crée des polémiques à répétition.

Un problème que ne connaissent pas les gros éditeurs, habitués depuis des années à se voir soumis à ces conditions dans le monde des consoles, dont le ticket d'entrée est autrement plus élevé. Le SDK de la PS3 coûte $10.250 en Amérique du Nord et 7.500 € en Europe, celui de la Wii se monte aux environs de $2.000. Si le SDK de la Wii reste accessible à certains développeurs indépendants, ces tarifs les mettent hors de portée des amateurs et hobbyistes de tout poil, et garantissent un minimum de sérieux et d'investissement de la part des développeurs. Il faut toutefois noter que ces tarifs n'assurent aucun passe-droit aux éditeurs qui peuvent tout aussi bien se voir recalés par la validation des constructeurs, malgré un investissement autrement plus conséquent que sur l'App Store.

Ajoutons tout de même qu'en dehors du circuit de distribution classique, chacune des consoles offre un magasin en ligne sur lesquels sont distribués démos et jeux indépendants. Le kit de Microsoft pour la Xbox 360 propose une licence qui reprend le schéma de l'App Store. Vendue $99 par an, elle offre aux développeurs indépendants la possibilité de vendre leurs jeux sur le Xbox Live Arcade (Microsoft conserve 30 % de commission). D'autre part, Unity permet justement de créer des jeux pour les trois consoles, à un tarif bien moindre que les kits officiels.

Avec 85 millions d'iPhone et d'iPod touch vendus, l'App Store s'adresse à un marché potentiel supérieur à celui de la GameBoy Advance (81,47 millions de ventes dans le monde), ce qui place la plateforme d'Apple en cinquième position des consoles les plus vendues de tous les temps, juste derrière la première PlayStation et loin devant la Wii (67,45 millions), la PSP (60,2 millions), la Xbox 360 (39 millions), ou la PlayStation 3 (33,5 millions). Parmi les consoles actuellement en exploitation, seule la Nintendo DS fait mieux avec 125,13 millions de ventes. Pourquoi donc ne pas limiter l'accès de l'App Store aux mêmes éditeurs et rester entre gens de bonne compagnie ?

Puisqu'à l'image de TF1 en 1997, Apple semble avoir entamé une "quête de sens" pour son catalogue d'applications, elle pourrait légitimement estimer que sa plateforme a atteint la masse critique qui pourrait justifier de limiter l'accès de son App Store à une élite plus restreinte d'éditeurs et développeurs triés sur le volet, en augmentant le tarif de la licence annuelle. Une telle décision entraînerait de facto la professionnalisation de l'offre, et sa limitation à des investissements plus importants. La qualité générale des applications s'en ressentirait, et cela limiterait les polémiques autour de la validation. Mais ce choix induirait également l'augmentation du prix moyen des applications, la limitation des applications gratuites à celles qui font la promotion des marques, ou du moins à celles qui s'inscriraient dans des solutions dont le modèle économique justifierait cet investissement, et la limitation de la taille du catalogue. À l'heure où c'est la politique actuelle d'Apple qui a donné le la des plateformes mobiles et où la concurrence fait rage, un tel choix pourrait bien se faire à son désavantage.

Mais la sélection naturelle se fera peut-être autrement : avec des exigences changeantes et toujours plus importantes, Apple pourrait décourager les développeurs amateurs, et seuls ceux pour qui l'App Store représente un avantage bien supérieur à ces petites déconvenues pourront se permettre de continuer à investir sur cette plateforme. Apple laisserait à Flash et aux plateformes plus souples le soin d'intégrer les applications de seconde zone, tout en ne leur ayant jamais officiellement claqué la porte au nez.
avatar shenmue | 
"Apple compte donc que l'attractivité de sa plateforme encouragera les développeurs suffisamment motivés à se convertir pleinement à Xcode, même au sacrifice d'une sortie multiplateforme." L'un n'empêche absolument pas l'autre. Il faut juste y mettre plus de moyens. Grubber a bien résumé les risques pour Apple a permettre les outils cross-platform. Plus qu'un risque, ce serait une certitude que les points forts d'OSX mobile ne seraient pris en compte qu'avec du retard ou pas pris en compte du coup (si c'est l'outil d'Adobe qui prend l'ascendant par exemple, ça en est fait d'OSX mobile sur ce plan). Néanmoins, sur le strict plan technique Unity ce n'est pas CS5, tout n'est pas généralisable.
avatar shenmue | 
"L'argument qualitatif est toutefois quelque peu contestable, dans la mesure où une recherche du mot "fart" sur l'App Store rapporte quelques 518 applications, soit 0,3 % de l'App Store, dont l'essentiel consiste à émettre le son d'une flatulence à la pression d'un bouton…" Ce n'est pas dans ce sens qu'il faut le comprendre. Si même quelques applis innovantes et tenant compte des spécificités de l'iPhone ne peuvent plus advenir sur l'appstore à cause de ce genre d'outils cross-platform, cela est bien une perte de qualité bien plus grave que le fait de voir le store pollué par les applis de pets. Car l'essentiel reste bien qu'on trouve AUSSI des applis de grandes qualités.
avatar starbus | 
[quote]"d'un web unique, sur n'importe quel écran"[/quote] Je pense que tout le monde est d'accord mais pas un web flash. Le rêve d'Adobe c'est bien ça, faire un web en total flash.
avatar oxof | 
Merci pour cet excellent résumé. Je suis développeur Flash et je me mets doucement à Xcode. C'est pas super simple...
avatar Dr_cube | 
Excellent article. Je partage les avis développés. En outre : [quote]Parmi les consoles actuellement en exploitation, seule la Nintendo DS fait mieux avec 125,13 millions de ventes. [/quote] Cet état de fait va changer bientôt.. A l'inverse des produits d'Apple, qui évoluent de manière continue, les consoles de jeux évoluent par générations. Cette année Nintendo va introduire une rupture avec la sortie d'une nouvelle console portable : nouveau kit de développement, nouvelles fonctionnalités, pas de compatibilité descendante, et c'est reparti pour 5 ans. Comme à chaque fois, Nintendo va devoir faire ses preuve, aussi bien auprès des studios de développement, des éditeurs de jeux, des joueurs et de la presse spécialisée. Dans une tel contexte, un concurrent aux dents longues pourrait profiter de cet instant de faiblesse du leader pour attaquer.. Fin 2010, Nintendo aura ZERO consoles portables sur le marché, alors qu'Apple en aura plus de 100 millions. Si Apple doit attaquer avec l'iPod touch sur le marché des jeux vidéo, c'est cette année ! D'ailleurs, je pense depuis longtemps que si la mise à jour de l'iPod touch a été si pauvre en nouveautés en 2009, c'est principalement pour pouvoir mettre le paquet en septembre 2010 pour concurrencer la 3DS : caméra, prix bas, meilleur écran, processeur A4, hauts parleurs de qualité... Cette année Apple va certainement sortir le grand jeu. Dans une moindre mesure, c'est ce qu'à fait Sony avec sa PSP il y a cinq ans. Sony a profité du lancement de la GBA pour se lancer. Elle n'aurait eu aucune chance en se lançant quelques mois plus tard. Si Sony, dans toute son incompétence, a réussi à prendre des parts sur le marché que Nintendo domine sans partage depuis qu'il l'a lui-même créé dans les années 80, alors il est évident qu'Apple pourra faire mieux que Sony. Apple est en tout point meilleure que Sony : matériel, système, kit de développement, marketing, logiciels multimédia, services en ligne, écosystème, etc.
avatar shenmue | 
@Starbus:"Le rêve d'Adobe c'est bien ça, faire un web en total flash." C'est bien le gros problème.
avatar shenmue | 
Heu, sinon je ne l'ai pas dit mais excellent article...mes quelques réserves critiques portent sur des points de détail; l'ensemble résume très bien les enjeux.
avatar BioSS | 
Apple est en tout point meilleure que Sony ? C'est une blague ? Est-ce qu'un seul titre iPhone arrive à la cheville des meilleures productions PSP ? Il y a-t-il un Jak & Daxter, un Monster Hunter, un Gran Turismo, un KillZone, un Motorstorm sur iPhone ? Où sont les talentueux studios de développement ? Gameloft est considéré comme le meilleur studio de développement iPhone, et leurs jeux sont des merdes totales pour qui est habitué à jouer chez la concurrence. Soul Calibur > plagiat > Blades of Fury God of War > plagiat > Hero of Sparta Halo > plagiat > Nova et j'en passe… Tous sont moins bons que sur leur plateforme d'origine, c'est une honte. Apple n'a rien compris au marché du jeu vidéo oui. Il faut amener des éditeurs prestigieux à faire autre chose que de sortir des rééditions de jeux sortis en 1990 ou des dérivés 2D comme Doom ou Metal Gear Touch
avatar shenmue | 
@BIOSS: http://itunes.apple.com/nz/app/chaos-rings/id365678365?mt=8 L'Appstore question jeux c'est loin de n'être que Gameloft (qui n'est pas et de loin le meilleur éditeur).
avatar shenmue | 
@Bioss:"Est-ce qu'un seul titre iPhone arrive à la cheville des meilleures productions PSP ?" Oh oui...plein.
avatar Dr_cube | 
[quote]Apple est en tout point meilleure que Sony ? C'est une blague ? Est-ce qu'un seul titre iPhone arrive à la cheville des meilleures productions PSP ?[/quote] Je n'ai évidemment pas parlé des jeux. Je parlais de tout le reste. Pour les jeux c'est un peu délicat de comparer, car les trois constructeurs de consoles portables n'ont pas la même politique : — Nintendo est le principal développeur et éditeur de jeux sur DS. — Sony développe très peu de jeux (5 sur PSP à me connaissance). Sony édite très peu de jeux (32 sur PSP à ma connaissance, et pas parmi les meilleures ventes (sauf Gran Turismo et WipEout)). — Apple ne développe aucun jeu et d'édite aucun jeu. Par contre, en tant que gestionnaire de magasin, Apple fait la promotion de certains jeux lors de ses opérations de communication. Moi je parlais de Nintendo, Sony et Apple en tant que constructeur de consoles portables. Je pense qu'il faut distinguer le marché des consoles portables et le marché des jeux vidéo portables. Pour ce qui concerne la qualité des jeux sur l'App Store : on ne peut pas nier que les choses s'améliorent. Mais là encore il est difficile de comparer des petits jeux à 4€ et des gros jeux à 50€. Le fait est que l'iPod touch permet de jouer et chaque heure passée à jouer sur iPod touch par un joueur est un manque à gagner pour Sony et Nintendo.
avatar hok | 
Ce serait stupide d'augmenter le tiquet d'entrée pour sélectionner les éditeurs. La richesse de l'app store vient aussi des petits dev qui répondent aux besoins locaux, regardez les applications vélib ou autres. Apple devrait faire une catégorie spéciale pour les jeux, un sceaux de qualité, cela impliquerait + de test sur les différents iPhone iTouch, donc plus de fiabilité, et donc plus de confiance des utilisateurs de mettre + cher dans ces jeux.
avatar starbus | 
@arsinoé C'est loin d'être un délire paranoïaque. C'est pas nouveaux que le rêve d'adobe c'est de mettre la main sur le web via un flash omniprésent. De plus la petite vidéo made in adobe le montre bien. Mais ce n'est QUE LE REVE d'Adobe. enfin j'espère .
avatar shenmue | 
@Hok:"Ce serait stupide d'augmenter le tiquet d'entrée pour sélectionner les éditeurs." Cela reste très improbable malgré tout car comme tu le dis la richesse des aplis vient aussi du travail parfois brillant de toutes petites structures (et souvent d'une seule personne) @Starbus: T'es bien trop sympa envers qui tu sais. Le gars t'insulte et tu t'expliques ? Il n'en vaut vraiment pas la peine.
avatar Almux | 
@Arsinoe Les gros mots mis à part, je pense que Shenmue a raison! Désolé pour toi, mais critiquer Adobe et son Flash n'a rien avoir avec de la parano!
avatar shimrode | 
Excellent article. Jusqu'ici, bien qu'essayant d'exercer un œil critique sur ce que fait apple, j'étais plutôt dans la catégorie fan boy. Si je comprend bien la stratégie, je ne la cautionne pas pour autant. Je rejoint largement l'état d'esprit de Lee Brimelow, et laisse aux utilisateurs dont la stratégie "borderline" d'Apple ne dérangent pas le soin de continuer a consommer. Shim'
avatar Goldevil | 
@Starbus:"Le rêve d'Adobe c'est bien ça, faire un web en total flash." Je ne suis pas d'accord. Adobe propose plusieurs logiciels qui sont orientés HTML (Dreamweaver, ColdFusion, Air...). Simplement, il y a les bons langages pour les bonnes applications. HTML a été conçu comme un langage de description de pages sans interactivité et avec assez peu de choses pour la gestion du look. Le langage a évolué chaotiquement et dans la douleur avec son lot de problèmes (compatibilité entre navigateurs, performances Javascript, complexité du langage, batailles sans fin pour la standardisation). Comparativement à ObjC : Programmer des applications interactives est plus compliqué. Il faut être connecté au net pour utiliser les applications. On oublie les fonctions graphiques avancées (gestion des images, 3D...) Il faut jongler avec plusieurs langages du côté du client (HTML, CSS, JavaScript et côté serveur (PHP, SQL, ...) Les formats comme Flash, JavaFx, Silverlight sont là pour combler ces lacunes mais sans se fixer à une plateforme particulière. On se rapproche beaucoup des possibilités du développement natif sans arriver à un optimal . Dire que ces environnement ne supportent que le plus petit dénominateur commun entre les différentes plateformes est ridicule. Flash, comme les autres, supporte les accéléromètres, la caméra ou encore le multitouch s'il est disponible sur la plateforme. Par rapport au "Write Once, Run Anywhere" un peu utopique, les bonnes applications multiplateformes comportent toujours un peu de code spécifique pour s'adapter à chaque plateforme d'exécution. Même principe chez Apple car on n'écrit pas une bonne application pour iPad exactement comme une application iPhone. Mais rien n'empêche d'avoir un seul exécutable qui propose une interface différente selon l'appareil utilisé. Si le développeur peut garder 80 à 90% du code identique il est déjà très content. Par contre développer pour iPhone + autre plateforme nécessite 90% de code différent !
avatar Domsou | 
Excellent article ! Merci.
avatar Vinc | 
Allez une couche de plus : super article de fond ! (la meilleure synthèse sur le sujet que j'ai pu lire)
avatar Halx | 
Apple ne veut pas d'applications mille-feuilles comme Adobe le fait depuis trop longtemps déjà et je ne peux pas lui reprocher de «censurer» ce genre de pratiques. Adobe n'en a plus rien à cirer de l'esprit Apple et n'hésite pas à injecter du Windows dans sa CS pour Mac (regardez les boutons des palettes). Ici Apple met des gardes-fous avant que ce ne soit trop tard pour éviter l'anarchie et une dégradation de la qualité des softs. L'accent est mis sur l'optimisation et l'utilisation des kits fournis. Après tout, Nintendo, Sony ne font pas autre chose avec leurs kits fournis aux développeurs de jeux vidéo. Donc je dis OK tant que cela tire la qualité générale vers le haut. Je ne veux pas que la batterie de mon iPhone soit bouffée par des petits softs hypertrophiés et mal optimisés.
avatar Gr3gZZ | 
Quid de la concurrence qui progresse de plus en plus ?
avatar fcb | 
Très bon article...
avatar GerFaut | 
Excellent article qui explique parfaitement la position d'Apple que je trouve tout à fait compréhensible et logique. Pour reprendre l'habituel exemple automobile, BMW ne laissera jamais construire le moteur ou même l'électronique de ses bagnoles par une tripoté de constructeurs et sans avoir un cahier des charges bétonné. Logique et compréhensible.
avatar Almux | 
@Arsinoe ...Aah, quand on provoque trop...
avatar NicolasO | 
Petit detail : Flash CS5 peut aussi pondre du JS + HTML5 canvas. C'est un de supports autorises par Apple. On va rigoler car pour l'instant c'est 5 fois plus lent que du Flash sur les plate-formes mobiles. Et donc encore pire par rapport au natif que produit Flash CS5. Ce serait une bonne solution pour les devs Flash: sortire le meme jeu en 30FPS sur Android et 5FPS sur iPhone, et attendre la reaction d'Apple.
avatar NicolasO | 
De plus, l'article est faux sur plusieurs points. 1. Lua est interdit par la license. Ce n'est pas un super fichier de parametres, c'est un langage de programmation. 2. Les consoles n'ont jamais appliques ce genre de limite. Une bonne partie des jeux utilisent des langages de scripts pour des tas de choses pas cruciales pour les perfomances. La license d'Apple interdit cela(sauf si langage de script = JS sur Webkit). => C'est bien ce detail qui est tres ennuyeux et revoltent les devs. Un bon dev choisit les bons outils pour arriver a ce qu'il desire. Cette license l'empeche. On me fera pas croire que C, C++, Objective-C est le bon langage pour TOUS les problemes. 3. Les frameworks intermediaires ont en general des styles qui donnent un look natif a l'App. Voir par exemple : http://demo.webapp-net.com/ (L'utilisation de JS+css est d'ailleurs parfaitememt legal, independamment du look n' feel) 4. Pour les features natives, c'est quadruplement faux : * il n'y a peu ou pas de features uniques a l'iphone aujourd'hui. * s'ils y en avaient des importantes non accessibles, les utilisateurs du framework raleraient beaucoup. * On ne choisit pas un framework pour 100 ans, mais plutot pour une ou une serie d'applications. Si le framework ne contient pas les bonnes nouveautes au moment ou on commence une app, on change de framework. * tousles frameworks peuvent appeler du natif. Si on a besoind de qqc en C, on peut le faire.
avatar NoxDiurna | 
C'est pour ce type d'articles que je reviens ici. Excellente synthèse de cet enjeu qui alimente la média IT depuis quelques semaines.
avatar monombidon | 
Hello, Merci pour cet article qui brosse globalement un bon état des lieux. Toutefois, j'aimerais apporter quelques éléments de réflexion. Même si le point de vue d'Apple, qui consiste à contraindre ceux qui souhaitent s'appuyer sur son succès pour réaliser le leur, me parait légitime, il n'en est pas moins discutable, et il reste qu'Apple pourrait bien se retrouver à n'être plus maître en la demeure. Je pense que si Apple conserve son leadership sur le marché des smartphones, elle pourrait bien voir ses décisions stratégiques contestées au nom de la liberté d'entreprendre et de la libre concurrence. Et il se peut fort bien que l'App Store ne demeure pas la seule source de publication des réalisations sur iPhone OS. Des solutions alternatives (telles que Cydia, illégale pour le moment, mais pas forcément longtemps) pourraient très bien s'imposer après un aval juridique. La propriété intellectuelle est aujourd'hui arbitrée par le principe des brevets. Cette orientation fonctionne selon le principe suivant : ok, je cède le savoir sur lequel je m'appuie pour constituer mon avantage, mais je suis rémunéré par tous ceux qui veulent en exploiter l'intérêt. De cette manière, l'invention est rendue publique, et d'autres peuvent aller plus loin dans de nouvelles directions, comme moi je l'ai fait également en m'appuyant sur un savoir antérieur. C'est ce principe de continuité historique qui est perverti quand ceux qui ont su se forger une place de choix en oublient qu'ils n'ont pas constitué leur succès isolément. Je pense qu'aujourd'hui, Apple est entré dans cette tendance déviante, et ça commence à transparaître sur des terrains pour le moins inattendus : http://www.rue89.com/2010/04/18/amoureux-dapple-la-presse-francaise-discrete-sur-sa-censure-147924
avatar beetsy | 
[quote]D'autre part, sachant que chaque plateforme propose une interface utilisateur qui lui est propre, tant en terme de fonctionnement que d'apparence, il est impossible de réaliser une application qui tire parti de ces spécificités : les boutons n'ont pas la même taille d'un OS à l'autre, on ne peut donc créer de mise en page cohérente et harmonieuse d'une machine à l'autre. Les IDE sont donc contraints d'intégrer leurs propres éléments d'interface qui sont appliqués à tous, ce qui provoque des disparités parfois ennuyeuses.[/quote] Vrai en partie mais pas pour Monotouch (qui permet de coder des applis iPhone en c#) car il faut utiliser Interface Builder, donc l'application iPhone codée en Monotouch aura le look and feel de iPhone OS.
avatar Psylo | 
C'est crétin de cité la qualitay des softs. Des toutes façon, à part des machines pets, des sudokus et des tas de merdes.... y'a pas grand chose qui tienne la route sur l'AppStore. La plupart des jeux qui cartonnent et les grosses applis les plus téléchargées n'utiliisaient bizzarement pas le SDK d'Apple.
avatar J-Mac | 
BioSS : En tout cas, j'ai téléchargé Espgaluda II sur iPhone, pour 4€ (7 maintenant), ça explose n'importe quel jeu du genre sur PSP ou DS. En RPG du lourd est aussi en train d'arriver. En FPS, l'iPhone s'en sort pas mal aussi. Bref, à part dans certains registres, l'iPhone commence à être plus que sérieux. Plus ça va, moins j'utilise ma DSi, et c'est la batterie de mon iPhone qui devient la seule limite pour vraiment jouer dessus. Mais par contre, la prochaine PSP sera une concurrente directe de l'iPhone et elle sort cette année. Apparemment Sony va inclure aussi un port sim pour la 3G ainsi que la fonctionnalité tactile et téléphonique. Sony l'a clairement dit, ils veulent marcher sur les platebandes d'Apple et ils vont pas se gêner. Les capacités techniques de la "PSPhone" seront un bon cran au dessus de l'iPhone.
avatar Mabeille | 
@Shenmue [quote] @Starbus: T'es bien trop sympa envers qui tu sais. Le gars t'insulte et tu t'expliques ? Il n'en vaut vraiment pas la peine. [/quote] cool changement d'attitude, tu fais dans la tempérance? Je demande à voir sur le long terme, mais c'est un bon début.
avatar Mabeille | 
On connait assez bien la politique générale d'Apple qui est de garder le controle sur tout. Le nouvel environnement financier d'Apple se base largement sur la vente de biens immatériels comme de la muqisue et des applis. On peut reprocher à SJ bcp de choses comme l'arrogance, la suffisance, irratibilité... mais pas de ne pas savoir faire du fric. C'est un vendeur extraordinaire, il nous tond et bcp adore et en redemande. Il n'y a aucune raison qu'il partage la poule aux oeufs d'or avec qui que se soit ni les dev ni les fournisseurs de solutions ni les clients Apple récents ou de longue date. Il est là pour faire du fric point à la ligne. Le reste c'est un peu pipeau. Je lui accorde aussi une qualité extraordinaire comme nous faire croire qu'un mulet est un pur sang. Même si je trouve ça incroyable, je ne suis pas obliger d'applaudir globalement. Encore des excuses foireuses qui lui permettent surtout de garder le controle sur son joujou. Il n'a jamais partagé pas de raison que ça commence mnt.
avatar Almux | 
Il a eu partagé... avec Bill Gates... et cela ne lui a pas réussi! :(
avatar Mabeille | 
oui et sans doute il y a 30 ans avec un membre de sa famille.... moi aussi on m'a piqué un jouet quand j'étais gosse .... bref soyons sérieux un instant.
avatar Frodon | 
[quote] L'argument qualitatif est toutefois quelque peu contestable, dans la mesure où une recherche du mot "fart" sur l'App Store rapporte quelques 518 applications, soit 0,3 % de l'App Store, dont l'essentiel consiste à émettre le son d'une flatulence à la pression d'un bouton… [/quote] Cela dit je me permet de vous faire remarquer, en tant que développeur, qu'on ne juge pas la qualité de programmation et de compilation (puisque c'est de cette qualité dont il s'agit, et pas d'une autre) d'une application, sur ce qu'elle fait, mais sur sa réactivité, son intégration avec l'OS, et sa stabilité. Bref, vous vous trompez de qualité dans votre argumentaire, car la qualité dont vous parler, ca n'est pas en empêchant tel ou tel outils de faire des applications iPhone que cela l'améliorera, mais c'est plutôt au niveau de la validation de cette applis lors de sa soumission qui joue dans ce cas. Pourtant la réponse de Steve Jobs ne laissait aucun doute sur le type de qualité dont il faisait référence: [quote=Steve Jobs] We've been there before, and intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform [/quote] D'ailleurs d'un point de vue strict, il est exact que rajouter une couche n'est pas ce qu'il y a de mieux, et Apple ne montre d'ailleurs pas l'exemple sur cette question, puisque c'est ce qu'ils font pour leurs applications en version Windows (Quicktime, iTunes, Safari) et on voit bien le résultat. On le voit aussi avec les applications Adobe AIR, c'est certes multiplateforme, mais c'est mal intégré à l'OS notamment. Cela dit, les outils qui sont des wrappers ou des extensions des APIs existante, mais se basent au final sur les outils d'Apple, tel que MonoTouch ou Unity, c'est déjà beaucoup mieux. Je pense qu'Apple vise surtout les surcouche qui offre un environnement de type runtime (donc évidement Flash), plutôt que les outils s'appuyant sur les APIs d'Apple et ne faisant que les compléter et/ou les wrapper.
avatar Brewenn | 
C'est seulement un "bétonnage" de l'éco sytème Apple. Adobe étant un concurrent potentiel sur le marché que vise Apple, tout en rendant captif les développeurs, les éditeurs, les fournisseurs et les clients, Apple prélevant sa taxe sur les quatre. [url=http://www.cnis-mag.com/apple-j’auto-gaffe-nous-autodafons-vous-autodafe.html]Ajouter un comportement "bon père la morale"[/url] et vous avez ce qu'il y a de pire dans une société libérale. Le pire c'est que dans quelques années, les ringards qui défendent cette orientation seront probablement les plus virulents à l'égard d'Apple, prisonnier qu'ils seront d'un tout Apple faisant sa loi.
avatar divoli | 
@ Brewenn; + 1 C'est extrêmement préoccupant. L'aveuglement ou le déni dont font preuve certains face à ce qui est un véritable danger est tout bonnement hallucinant.
avatar Coulonval | 
Bravo pour cet excellent article continuez ainsi ! Cordialement Coulonval
avatar françois bayrou | 
@shenmue "Si même quelques applis innovantes et tenant compte des spécificités de l'iPhone ne peuvent plus advenir sur l'appstore à cause de ce genre d'outils cross-platform ... " Pour que ca arrive il faudrait que le SDK de Apple n'existe plus, ou que les développeurs ne connaissent pas son existence, et s'imaginent qu'on ne peux développer sur iPhone que par le biais de SDK tiers, ce qui n'est pas le cas. Si l'essentiel comme tu dis est qu'on trouve AUSSI des applis de qualité, alors les SDK tiers ne gênent absolument pas. Si l'essentiel est qu'on ne trouve QUE des applis de qualité, alors utiliser le SDK apple n'apporte aucune garantie de ce côté là. On peut voir sur le store des développeurs recréer des boutons tout moches, couleurs hors charte, coins carrés, en utilisant le SDK, alors que ca leur aurait pris moins de temps d'utiliser les boutons prédéfinis. A mon avis - et je me trompe peut être - Apple n'a pas envie que, en deux coups de cuillère à pot, un dev puisse créer une appli disponible sur iphone et android ou autre. Ce qui fait vendre l'iphone aujourd'hui, c'est son catalogue d'applis. ( cf. les pubs iPhone ) Et on verra bien comment Apple réagira quand un petit malin ajoutera 2-3 frameworks à xcode, permettant de publier sur autre chose que de l'iphone, ce qui ne manquera pas d'arriver.
avatar starbus | 
@Shenmue je suis fatigué Et surtout ça les fais jouir quand on s'énerve dessus.
avatar Atlante | 
"Fin 2010, Nintendo aura ZERO consoles portables sur le marché, alors qu'Apple en aura plus de 100 millions. Si Apple doit attaquer avec l'iPod touch sur le marché des jeux vidéo, c'est cette année ! " C'est la phrase la plus conne et la plus infondée que j'ai lus depuis que je fréquente Macgé, Chapeau! xD [quote=Nonoche]Le délicat équilibre entre créativité et professionnalisme[/quote] Ca on le dira jamais assez :)
avatar omega2 | 
"avec des exigences changeantes et toujours plus importantes, Apple pourrait décourager les développeurs amateurs, et seuls ceux pour qui l'App Store représente un avantage bien supérieur à ces petites déconvenues pourront se permettre de continuer à investir sur cette plateforme." Ou a l'inverse faire fuir les professionnels qui ne seront plus près à miser plusieurs mois de travail sur des règles flous et changeante ce qui laissera le champs libre aux applications bas de gamme fait à la vas vite par des amateurs sans expérience et surtout qui n'auront perdu que 99 dollards en cas de refus. Halx > Apple fait exactement pareil. Regarde donc le look d'itunes sous windows? Ca ne ressemble pas du tout au look de windows : c'est purement le look mac. Ca rend le logiciel affreux d'ailleurs sous winfows. (faites ce que je dis, pas ce que je fais) GerFaut > Certe mais BMW ne changerait pas le cahier des charges tous les deux mois et ne fournirait pas un cahier des charges flous et sousmis à interprétation.

CONNEXION UTILISATEUR