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.
avatar HAL-9000 | 

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

Bon WE !

avatar fransik | 

…la juste contrepartie de l'ouverture du multi-tâche aux applications tierces.

avatar Dagui | 

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.

avatar Psylo | 

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.

avatar 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. 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.

avatar shenmue | 

@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.

avatar shenmue | 

@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...

avatar michaelprovence | 

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...

avatar crakou | 

Qu'en est-il de RunRev ?

avatar hok | 

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.

avatar vintz72 | 

> Psylo

"attention au retour de pelle".

Je ne connaissais que la version "manivelle". :-)

avatar HAL-9000 | 

@ Shenmue

Je pense que pas mal d'entre eux (voir la quasi totalité) suivront effectivement, vu le pot à rafler...

avatar oomu | 

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.

avatar Nesus | 

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.

avatar oomu | 

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

avatar oomu | 

et quand à ceux qui disent que "le manque d'interopérabilité a failli tuer apple", en rappelant le passif de apple avec le Mac.

je tiens à signaler que apple fait avec l'iphone et ipad (et dans une moindre mesure avec le mac _depuis_ mac os X et cocoa) la politique contraire à celle du mac en 1984.

Oui, Apple est radical, et oui ça marche. Ils n'ont jamais eu autant de passions et de gens autour de leur plateforme.

avatar laurent_iMac | 

@ Nesus

Et pan sur le bec, comme sous-titre un certain journal, de certains !
Je te rassure tout de suite, il y a six mois ils râlaient car Apple ne mettait dans dans ces machines des cartes graphiques à la hauteur selon eux !
Il y a un an c'était contre la politique tarifaire des applications et il y a deux ans c'était contre je ne plus quoi !
Et demain cela sera sur le bouton rose bonbon (il faut bien rêver parfois) mis sur la gauche plutôt que sur la droite du nouveau Mac.
Cela me rappelle quand était sorti l'iBook G3. Cela râlait et pas qu'un peu, car le lecteur de disquette n'était pas présent ! Depuis ? ce choix judicieux a donné raison à Apple.
Alors ..... laissons les "coser". Ils s'occupent !

avatar bugman | 

Drôle de politique quand même. Obligé d'utiliser un SDK particulier, payant (abonnement annuel) avec plein de trucs sympa dedans, mais que l'on ne peut pas utiliser comme tu veux ("je te donne un core animation mais t'es gentil tu ne copies pas coverflow). Tu développes ton application mais si j'aime pas, tu vas te gratter pour la voir sur notre store. Et puis t'es gentil, si on te permet de la mettre tu nous donne xx% de ton travail (et demain iAd obligatoire ?) Au fait c'est quoi ton application ? Un browser... Heu, non désolé va te gratter on en a déjà un... suivant...

Génial, la politique Apple, ça donne vraiment envie.

avatar elamapi | 

Encore une fois, je ne vois pas trop ou est le soucis ... il suffit que lesdits SDK ne "compilent" pas eux même le code, mais le génère pour le faire compiler a Xcode.

Que ce soit le SDK toto qui génère le printf "hello world"; ou que ce soit vous qui le tappiez directement, personne ne verra la différence.

Par contre, les optimisations apporté au code compilé par un compilateur unique, dédié et optimisé pour la plate-forme apple, ca, ça va se vois.

avatar Psylo | 

Ok donc si j'ai bien compris tous vos arguments (à part oomu) y'a tout un tas de devs qui sont de gros incompétents, qui utilisent des environnements de développement *sales*, qui n'ont donc de fait aucune raison valable ou légitime de gueuler contre cette nouvelle politique d'Apple.
Vivement le retour de l'Amiga et de l'Atari.

avatar bugman | 

au moins sur amiga on ne me prenait pas le chou parce que j'utilisais K-Seka.

avatar elamapi | 

@psylo, faut pas exagérer non plus, sinon on en serait toujours à coder en assembleur.

Disont qu'il ne faut pas voir tout blanc ou tout noir.

Les SDK pourront toujours exister, faut juste qu'ils ne compilent pas eux même ... c'est pas la mort non plus hein ...

avatar imonamac | 

Sinon faire des appli en HTML/CSS/JAVASCRIPT c'est toujours faisable ou c'est mort ?
J'ai vu des bouquins sur ca a la FNAC, c'est deja "has been" ?

avatar bugman | 

Un SDK c'est avant tout des bibliothèques de fonctions elamapi. (et leurs docs). si quelqu'un sort un compilateur faisant du code plus optimisé que ce que fait apple (= application plus rapide, meilleur gestion de la mémoire) qu'on il le droit de dire ? Demain, pour mon Mac je serais obligé d'acheter des applications de certains éditeurs seulement (suivant le bon vouloir de Jobs) ? On est parti pour... De quel droit ?

avatar HAL-9000 | 

@ imonamac

Si tu veux investir dans l'avenir apprend Perl...

(je blague hein ! :x)

Pages

CONNEXION UTILISATEUR