iPhone OS 4.0 : Vent de panique pour les SDK alternatifs

Arnaud de la Grandière |
Les nouvelles conditions d'utilisations de l'App Store ont beaucoup fait parler d'elles au sujet de Flash CS5 (et à vrai dire les conditions existantes ne lui étaient déjà guère favorables, lire : Et si Apple refusait les applications Flash ?), mais le logiciel d'Adobe est loin d'être le seul moyen alternatif de développer des applications pour iPhone.

Un vent de panique a traversé les forums consacrés aux différents environnements de développement, leurs utilisateurs s'inquiètent de savoir si leurs projets risquent d'être remis en question. Il est en effet difficile de trancher, la formulation d'Apple dans ses nouvelles règles pouvant être sujette à interprétation.

Ce dont on peut être certain, c'est que les environnements de développement qui permettent de créer une application pour iPhone sans passer par un projet Xcode en Objective-C sont désormais interdits par Apple. C'est le cas de Flash CS5, alors qu'Adobe s'apprête à le mettre sur le marché (lire : Flash sur iPhone : comment ça marche ?). Mais qu'en est-il des autres ?

Unity permet de développer des jeux en 3D pour iPhone, et il est possible de programmer en utilisant 3 langages : JavaScript, C# et Boo (une sous-catégorie de Python), qui s'appuient tous trois sur des bibliothèques .NET grâce à Mono. Il faut passer par Xcode pour compiler les applications créées avec cet environnement de développement, mais il faut malgré tout inclure le runtime Mono. Un développeur rapporte sur le forum que lors de la validation d'une application réalisée avec Unity, l'équipe d'Apple lui a indiqué qu'il était recommandé de ne pas utiliser des API externes. Si son application a malgré tout été validée, l'anecdote semble indiquer que Unity est bel et bien concerné par ces changements.

Précisément, Novell propose également un kit de développement Mono dédié à l'iPhone, MonoTouch, qui sans surprise offre le support de C# et des bibliothèques .NET. MonoTouch s'appuie sur Xcode mais en ajoutant un FrameWork C#, qui risque donc de poser problème.

Garage Games propose avec son moteur Torque de créer des jeux pour iPhone. Les sources sont fournies et compilables avec Xcode.

PhoneGap permet de créer des applications en utilisant JavaScript et HTML. La société a réagi sur Twitter : « Que tout le monde se détende au sujet de la nouvelle politique. Les applications PhoneGap sont acceptées par Apple. »


Corona permet de programmer à l'aide du langage script Lua. Son éditeur, Ansca Mobile, indique sur son blog : les applications créées avec Corona sont entièrement traduites en Objective C/C++, il n'y a aucune inquiétude à avoir selon Ansca Mobile.

ShiVa, tout comme Corona, utilise le langage de script Lua pour créer des jeux en 3D. Son éditeur, la société StoneTrip, a simplement répondu de « ne pas s'inquiéter » sur son forum.

Appcelerator Titanium permet d'utiliser les technologie du web (HTML, CSS, JavaScript, Python, Ruby) pour créer des applications pour iPhone. Pour l'heure la société reste quelque peu dans l'expectative, en indiquant que rien n'est encore gravé dans le marbre tant qu'iPhone OS 4.0 n'est pas disponible, et qu'elle compte travailler avec Apple pour s'assurer qu'elle respecte à la lettre ses exigences.

GameSalad est un environnement de développement dédié aux jeux qui ne nécessite pas de programmation. Si le logiciel permettait dans un premier temps de créer un projet Xcode, ça n'est plus le cas depuis la version 0.6.1, qui fournit directement une application compilée sans utiliser Xcode. GameSalad fait donc partie des logiciels directement visés par les nouvelles conditions d'utilisation, mais son éditeur a tenu à rassurer ses utilisateurs sur son forum:

« Nous sommes en train de digérer l'information, mais je tenais à vous faire savoir que nous sommes à l'écoute. Pour le moment nous avons trois choses à dire :

1) Nous sommes en train d'étudier la question
2) Nous ne pensons pas que ça sera un problème
3) Nous sommes futés

Je ne manquerai pas de revenir vers vous pendant que nous nous penchons sur ce problème. »



Les circonstances varient d'un cas à l'autre, et il faudra probablement que certains environnements s'adaptent à cette nouvelle donne, en espérant qu'aucun n'arrive dans une impasse. Ceci étant, en appliquant à la lettre la formulation des termes du contrat, les applications doivent être écrites originellement en Objective-C, C, C++ (le JavaScript est également autorisé mais uniquement s'il est exécuté par le moteur WebKit interne à l'iPhone), et non passer par un "traducteur", ce qui concerne la majeure partie des environnements concernés. Malgré ce que les différents acteurs peuvent en dire, on n'aura de confirmation effective qu'en jugeant sur pièces si Apple valide ou non les applications réalisées avec leurs kits de développement. Quoi qu'il en soit ce sont pour ces outils et leurs utilisateurs des mois de travail qui sont dans la balance.
Accédez aux commentaires de l'article