iphone

iPhone OS 4.0 : Vent de panique pour les SDK alternatifs

par Arnauld de La Grandière le 09.04.2010 à 13:17
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.

|  |  

Découvrez le nouvel iPad sur l'Apple Store
4
3
2
1
Vos réactions (49 réactions)
HAL-9000 [09/04/2010 14:32]

Apple distibue les cartes et annonce les blindes. Les joueurs autour de la table se couchent ou suivent...

Bon WE !
fransik [09/04/2010 14:47]

…la juste contrepartie de l'ouverture du multi-tâche aux applications tierces.
dagui [09/04/2010 14:49]

En même temps, si ces dévellopeurs ont tenté leur coup avec leur propres kit de devs, ils devaient bien avoir conscience du côté bancal de leur projets. Sinon ils sont bien naïfs, rien qu'à voir le jeu du chat et de la souris pour le jailbreak.

Contourner les règles fixés par n'importe quelle entreprise lorsqu'on bosse avec elle, c'est courir le risque qu'elle cesse de passer outre et qu'elle commence à serrer la vis.
Psylo [09/04/2010 14:56]

C'est une politique contestable qui a longtemps été reproché a Microsoft. Le manque d'interopérabilité avait failli tuer le mac dans les années 90. Attention au retour de pelle.
minus [09/04/2010 15:00]

Cette politique me parait risquée. Certains développeurs risquent d'en avoir marre d'Apple et de sa politique et vont se rediriger vers Android. Quand je lis qu'avec l'OS4, "apple veut maintenir son avance", je constate surtout qu'elle essaye de rattraper son retard sur Android. (multitask, folders...). Si l'interface d'android est d'une laideur à toute épreuve, le boulot fait par HTC est superbe. Je reste fidèle à l'iPhone pour le moment mais cet été, je regarderai la concurrence avant d'acheter. Idem pour une éventuelle tablette.
shenmue [09/04/2010 15:04]

@Hal-9000:"Les joueurs autour de la table se couchent ou suivent..."

Ah ah. Ce qu'on constate surtout c'est qu'ils veulent suivre...contrairement à Brewenn ou Lossendae qui annonçaient des défections devant de nouvelles conditions plus drastiques.
C'est que ça rapport tout ça l'Appstore.... ;)


@Minus:"Cette politique me parait risquée. Certains développeurs risquent d'en avoir marre d'Apple et de sa politique et vont se rediriger vers Android."

Bizarre, ce n'est pas ce qui ressort de ces premières réactions.
shenmue [09/04/2010 15:07]

@Psylo:" Le manque d'interopérabilité avait failli tuer le mac dans les années 90"

C'est sûr, l'interopérabilité des SDK, c'est vraiment crucial...ah ah.
Mais quelle blague...
michaelprovence [09/04/2010 15:08]

A minus : perso j'ai un android et un ipod touch je trouve pas l'android plus môche au niveau de l'inface comme quoi les goûts et les couleurs...
crakou [09/04/2010 15:13] via MacG Mobile

Qu'en est-il de RunRev ?
hok [09/04/2010 15:13]

Apple se rend moins compétitif.
Il est plus dur de développer un jeu en faisait le scriptage en C++ qu'en javascript, et le scriptage des jeux ne joue pas sur les performances quand on a un moteur 3D qui tourne à coté. Il sera plus dur de développer sur iPhone,et les jeux seront moins bien. Tout les jeux utilise le scriptage, apple est folle d'aller contre ca.

Apple chez a enfermer ses développeurs en les obligeant à faire des programmes non multi plateforme.
vintz72 [09/04/2010 15:13]

> Psylo

"attention au retour de pelle".

Je ne connaissais que la version "manivelle". :-)
HAL-9000 [09/04/2010 15:16]

@ Shenmue

Je pense que pas mal d'entre eux (voir la quasi totalité) suivront effectivement, vu le pot à rafler...
oomu [09/04/2010 15:16]

c'est bien.

je n'apprécie pas ces environnements multi-plateformes commodisés qui sont natifs nul part

cela va des applications java à QT ou mono/.net ou autre.

c'est aussi une manière de dévoyer Cocoa et XCode en faisant des logiciels une fois pour android/winmo/iphone, mais ils ne seront nul part des logiciels qui exploitent aux mieux les choix de chaque plateforme.


le blougi-boulga, c'est l'une des raisons qui expliquent pourquoi sous linux y a pas _1_ GRAND environnement à apprendre pour faire de BEAUX logiciels mais 30 000 bricolages + ou - complets et des docs à moitié complètes

j'exagère ? allez lire gtk-ruby ou les docs bindings python pour gnome. et bien entendu compiler un logiciel mono/.net avec winforms (fonctionnel sur windows donc) ne permet pas d'utiliser les aspects les plus modernes de Gnome (ubuntu si vous préférez)

mais vous me direz tout le monde s'en moque.

-
Windows. Ha mais je m'excuse, mais faire du delphi, du visual basic, du MFC ou du win32 en C, puis maintenant .net ou les milliards d'outils alternatifs pour pondre un programme windows + ou - intégré c'est ce qui a donné la bouillie informe que sont les logiciels windows.

Même au sein de microsoft, selon le kit qu'ils ont utilisé (.NET n'est _PAS_ MFC ) ca donne des choses différentes, qui ont accès à + ou - ce que le dernier windows offre.

Cela dilue la qualité et cohérence de la plateforme au final.

-
alors oui encore une fois, je l'assume, j'aime la radicalité d'Apple. c'est la radicalité que j'espérais dans le monde linux ou que j'aurais aimé que Microsoft impose (oui impose, genre MS Visual studio dev 2012 fournisse que .NET pour faire des logiciels modernes) avec la modernité de .NET/C#. Mais non ce n'est pas le cas. le blougi-boulga contiinue, et seul Apple tente de cadrer les développements sur sa plateforme.


Peu m'importe la motivation derrière (argent, pouvoir, sex.), quand l'outil est BON et MARCHE.
Nesus [09/04/2010 15:18] via MacG Mobile

Je suis pas venu ici depuis un moment et je vois que ça ne change pas. On n'a toujours les même acteurs avec les même phrases de mise en garde, limite menace , contre la politique d'Apple. Ça fait des mois que vous nous la ressasser et qu'elle n'a aucune application. Bien au contraire puisque le nombres d'applications ne cesse d'augmenter. Ça doit vraiment vous empêche de dormir. Enfin on est pas inquiet on sait que ça fonctionne parce que nous ne sommes que des moutons. Vous avez jamais penser que dans le brouhaha de l'informatique et du net ou la filouterie et la feignatise pouvait exasperer plus d'une personne ?
Apple mets de l'ordre dans son jardin fermé. Personne ne vous à obligé a rentrer dedans. C'est pas parce que ça vous déplait que c'est de même pour nous. Il y aura toujours des utilisateurs mac quoique vous en dites ou pensiez. Apple le sait très bien et continue sur sa lancée. Peut importe que le reste ne comprennent pas.
oomu [09/04/2010 15:28]

On parle ici de SDK

d'outils d"ingénierie, pas d'interopérabilité pour lire des documents ou communiquer en réseau.

pourquoi les developpeurs sont venus par légions, parce que la plateforme est solide (fiable, complète, fonctionnelle) et l'environnement cocoa est ultra-complet

y a une classe pour quasi tout.

En concurrent, je ne vois que Java Enterprise pour être encore + complet (mais infiniment + mal fichu).

De fait, dans le cadre de cocoa, vous avez tout qui est déjà étudié et qui profite de près de 20 ans de maturation. Et apple s'en sert pour promouvoir ses choix d'interfaces, ses innovations ou ce qui différencie l'iphone de la concurrence.

C'est donc très important que les développeurs utilisent le cadre officiel pour que leur programme soit très "'iphonesque" (ou ipadesque ou mac-esque ), cela renforce la différenciation et l'intégration verticale des logiciels et de la plateforme qui est la principale qualité des solutions Apple.

Sans cela, si tous les programmes étaient plus ou moins bricolés pour marcher sur iphone, mais aussi semblable qu'un programme windows du jour, que pourrait apporter une solution apple ? un appareil en alu ? ce n'est PAS suffisant !

L'intégration logiciel-matériel est la grande force d'apple pour justifier son commerce.

et on y gagne : L'outil de développement est bon, les logiciels sont de qualité, il est très cohérent et bien documenté. Apple est encouragé à développer continuellement sa plateforme et la moderniser.


On y perd python et sa jungle ou ruby et sa steppe chaotique ? tant mieux. Sinon, y a Android et ses javaseries. On pourra faire de la cross-compilation Haskell-C-java dessus... youhou... via un script bash/cygwin trouvé dans un forum obscure.

-
On a beau dire, mais les développeurs vont vers Cocoa et qu'ils aient des regrets de pas pouvoir utiliser python comme Joe Hewitt ne change rien : le cadre de développement est tellement bon et complet qu'il éclipse tous les pleurs des passionnés de langage
4
3
2
1



Réagir

Cinq consignes avant de réagir :
  1. Rester dans le cadre de la dépêche. Pour des discussions plus générales, vous pouvez utiliser nos forums.
  2. Développer son argumentation. Les messages dont le seul but est de mettre de l'huile sur le feu seront modifiés ou effacés sans préavis par la rédaction.
  3. Respecter les acteurs de l'informatique et les autres lecteurs. Les messages agressifs, vulgaires, haineux, etc. seront modifiés ou effacés sans préavis par la rédaction.
  4. Pour toute remarque concernant le contenu de l'article, pour nous signaler une erreur, une faute d'orthographe, une omission, merci de nous contacter exclusivement par e-mail.
  5. Relisez-vous, et pour les utilisateurs de Safari profitez de l'aide du navigateur : activez le menu édition > Orthographe > Vérifier l'orthographe lors de la frappe.