Net-Actuality

Faut-il être maso pour développer sur iPhone ?

Faut-il être maso pour développer sur iPhone ?

Développeur à mes heures perdues, j'avais envie de voir comment se déroule le développement destiné au système d'exploitation mobile d'Apple : l'occasion de constater l'oppression exercée par la firme de Cupertino sur les développeurs.

Avant de démarrer tout développement, la première étape consiste à trouver et installer le SDK iPhone (Software Development Kit ou Kit de développement). Concrètement, celui-ci regroupe tous les outils nécessaires au développement sur un framework propriétaire (Cocoa Touch) : il est donc plus que conseillé de l'installer. Première surprise : la société à la pomme ne propose aucun outil destiné aux systèmes d'exploitation autres que Mac OS. En d'autres termes, si vous ne possédez-pas de Mac, vous ne pouvez pas développer pour iPhone !

J'effectue donc quelques recherches pour voir s'il n'existe pas de solutions alternatives. J'avoue être rapidement effaré par les remarques de fan boys qui proposent obligent à passer sous Mac ou clament que c'est bien mieux comme ça (ah bon !). Ne roulant pas sur l'or, n'étant pas fan de la politique fermée d'Apple et n'appréciant pas me faire forcer la main, on me susurre de tenter la machine virtuelle de Leopard et d'y installer le SDK... Mouais, pas très légal ça, donc je laisse tomber Et puis, je ne vais tout de même pas implorer Apple de me laisser développer sur sa plateforme !

Bref, vous l'aurez deviné, ma tentative de développement est morte avant même d'avoir commencé. Ce qui ne m'empêche pas de recueillir d'autres impressions de développeurs désabusés par la politique d'Apple et de continuer mes recherches.

- Il faut savoir que le SDK iPhone permet seulement de développer une application et la tester, grâce à un simulateur. Cependant, il n'offre pas la possibilité de proposer au téléchargement son application ni même de l'installer sur un iPhone non jailbreaké. En effet, pour posséder ce droit, il est nécessaire de souscrire au programme de développement iPhone (« Developer Program »), facturé 79 euros.

Il faut donc payer pour pouvoir distribuer son application sur l'iPhone : assez surréaliste, non ? J'en vois déjà venir : « oui, mais Apple permet de mettre en relation les développeurs et utilisateurs ! ». Je répondrai : et si je n'ai pas envie d'être mis en relation et de gérer cela moi-même ?

- A supposer que l'on soit courageux (achat d'un MAC + paiement d'une licence Developer Program), le calvaire n'est pourtant pas fini. En effet, pour proposer une application au téléchargement, celle-ci doit obligatoirement être validée par Apple. Ainsi, celle-ci risque de se voir refusée si elle entre en concurrence avec une application officielle d'Apple (voir cas Google Voice) ou si elle ne répond pas au cahier des charges établi par Apple. Pire encore, Apple peut changer les conditions de développement quand il le souhaite. Ainsi, lors de la dernière Keynote, Apple a interdit le développement avec tout SDK alternatif : toutes les applications proposées ayant été développées avec un SDK autre que l'officiel, comme monotouch par exemple, seront refusées.

Plus récemment, l'EFF a diffusé le contrat liant la firme de Cupertino aux développeurs : on y apprend qu'une application peut être refusée alors qu'elle suit scrupuleusement le cahier des charges imposé par Apple !

- A supposer que le chanceux a vu son application acceptée, il ne percevra que 70% des revenus, Apple touchant une commission de 30% sur le prix de vente de l'application.

Alors on résume :

  • obligation de développer sous MAC avec le SDK Officiel ;
  • obligation de payer pour pouvoir distribuer son application ;
  • obligation de passer par une plateforme contrôlée par la société (AppStore) ;
  • l'application peut être refusée sans aucune raison particulière ;
  • Apple prend sa commission (pourtant le développeur est obligé de passer par cette plateforme) ;
  • j'en ai sûrement oublié.


Des conditions relativement effarantes, et pourtant, beaucoup de développeurs continuent à se ruer vers l'iPhone. Pourquoi ? Car il représente un marché de plus en plus important, en raison du nombre croissant de possesseurs d'iPhones. C'est avant tout l'appât du gain qui a raison de la plupart des développeurs, bercés par les belles histoires de développeurs devenus millionnaires. Sauf qu'avec la multiplicité d'applications, leur visibilité est désormais réduite et les chances de percer sur iPhone s'amenuisent.

Pour ma part, cela est décidé, il neigera en enfer avant que l'on me voit développer pour cette « chose ». Je veux pouvoir développer mon programme d'où je veux, le distribuer où je veux et non via une plateforme contrôlée et fermée, et pourquoi pas réaliser de la merde si je le souhaite, sans craindre de froisser la pomme ! Car, au final, c'est à l'utilisateur de choisir si mon application mérite ou non d'être installée, et non à une tierce de juger ou non du bon goût de mon programme.

Flux RSS des derniers billets publiés.

Ils ont dit...

n°1 - Ecrit par Phil33 (Visiteur), .

Rang : Visiteur

Je trouve cet article vraiment de mauvaise foi.

* obligation de développer sous MAC avec le SDK Officiel ;
Ce n'est pas du tout gênant pour des personnes qui utilisent un Mac, je vois pas où est le problème, il faut acheter un PC alors pour être un développeur. Combien coute Adobe Flash CS5
* obligation de payer pour pouvoir distribuer son application ;
Il ne faut pas payer, c'est n'importe quoi.
* obligation de passer par une plateforme contrôlée par la société (AppStore) ;
En quoi ceci est génant ? Vous décidez bien pour savoir qui va faire paraitre un article sur votre site. Apple a laissé 300 000 applications passées, combien sont sur les autres boutiques.
* l'application peut être refusée sans aucune raison particulière ;
Voir au dessus 300 00 sont passées
* Apple prend sa commission (pourtant le développeur est obligé de passer par cette plateforme) ;
Il faudrait donc que Apple vive d'amour et d'eau fraiche.
* j'en ai sûrement oublié.

En fait on assiste a un lynchage de Apple par des gens qui sont incapable de créer un programme pour iPhone. Faut accepter son incompétence et pas accusé Apple.

n°2 - Ecrit par Gsxfred (Visiteur), .

Rang : Visiteur

Je trouve cet article tout à fait judicieux et correct.

J'utilise Linux sur un portable qui m'a couté 300€, et je n'ai pas les moyens de me payer un Mac à 1500€.

Je trouve que la politique d'Apple, de fournir des machines très fermées, sous prétexte de sécurité, et d'en réalité de faire payer les utilisateurs et les développeurs dommageable.

C'est dommage.

Cela dit, je trouve leur interface assez intéressante.

n°3 - Ecrit par gali (Visiteur), .

Rang : Visiteur

@Gsxfred : Tu sais, un Mac mini suffira, ça coute 500€ (tu peux même an avoir pour 200 ou 300€ en refurb), ça fait tourner Mac OS X, Windows XP, Windows 7, et toutes les distribs GNU/Linux.

Tu ne veux pas t'enfermer ? Alors justement achète un Mac la prochaine fois, on fait pas plus universel.

n°4 - Ecrit par fanboy (Visiteur), .

Rang : Visiteur

gali (visiteur) a dit :

@Gsxfred : Tu sais, un Mac mini suffira, ça coute 500€

Et si je veux du PC évolutif ? Et si je ne veux pas être obligé d'acheter un Mac pour développer ? De toute façon on n'a pas à être obligé à choisir un Mac plutôt qu'un PC !

gali (visiteur) a dit :

ça fait tourner Mac OS X, Windows XP, Windows 7, et toutes les distribs GNU/Linux.

Tu ne veux pas t'enfermer ? Alors justement achète un Mac la prochaine fois, on fait pas plus universel

Et le multiboot sous Windows/Linux, ça n'existe pas ? Certes, il n'y a pas possibilité d'installer du Mac OS, mais c'est uniquement du fait d'Apple.

Phil33 (visiteur) a dit :

* obligation de développer sous MAC avec le SDK Officiel ;
Ce n'est pas du tout gênant pour des personnes qui utilisent un Mac, je vois pas où est le problème, il faut acheter un PC alors pour être un développeur. Combien coute Adobe Flash CS5

C'est sûr, ce n'est pas embêtant pour les possesseurs de Mac. Sauf que marché des PC est équipé à 70% de Windows... !

Phil33 (visiteur) a dit :

* obligation de payer pour pouvoir distribuer son application ;
Il ne faut pas payer, c'est n'importe quoi.

Un peu de bonne fois stp. Vérifie le site d'Apple : il faut bien acheter une licence pour pouvoir distribuer ses app sur l'iphone.

Phil33 (visiteur) a dit :

* obligation de passer par une plateforme contrôlée par la société (AppStore) ;
En quoi ceci est génant ?

Parce qu'on ne peut pas choisir le mode de diffusion de son app, peut-être ?

Phil33 (visiteur) a dit :

* l'application peut être refusée sans aucune raison particulière ;
Voir au dessus 300 00 sont passées

T'as des chiffres officiels sur le nombre de refus ? Apple est tellement transparent qu'on n'en a aucun...

Phil33 (visiteur) a dit :

En fait on assiste a un lynchage de Apple par des gens qui sont incapable de créer un programme pour iPhone. Faut accepter son incompétence et pas accusé Apple.

Tu finis de démontrer ta mauvaise fois avec cette conclusion !

n°5 - Ecrit par Maco (Visiteur), .

Rang : Visiteur

« Et si je veux du PC évolutif ? Et si je ne veux pas être obligé d'acheter un Mac pour développer ? »

ça arrive encore que des gens construisent eux même leur propre machine, dans ce cas, oui, il est impossible de développer sur l'iPhone.
Pour l'achat, de toute façon il faut une machine pour développer. Alors, un mac ou autre chose, je vois pas vraiment le problème non plus.

« * obligation de payer pour pouvoir distribuer son application ;
* obligation de passer par une plateforme contrôlée par la société (AppStore) ;
»
« Apple prend sa commission »
Et ça change quoi des autres plateformes ? Vous avez déjà essayé de développer sur BlackBerry ? Non ? Ah oui c'est vrai, c'est tout pourri, donc ça sert à rien de développer chez eux mais ça se compte en milliers d'euros quand même...
avec WP7, ca marche aussi de cette manière...

Le développement sur mobile, c'est pas du dev web ni du dev PC ou mac. Si tu veux être développeur mobile, tu crées une boîte et tu claques du fric, c'est tout. C'est déjà beau d'avoir accès au SDK gratuitement et que certaines parties soient open-source, c'est pas le cas de tout le monde.

Oui, il existe aussi Androïd mais c'est "à part" dans le sens où c'est open-source (je veux dire autant le l'OS que les outils de dev).

« Parce qu'on ne peut pas choisir le mode de diffusion de son app, peut-être ? »

Bah si, tu peux choisir : le choix c'est de diffuser sur l'iPhone ou pas.

« * l'application peut être refusée sans aucune raison particulière ; »

C'est effectivement un scandale (et c'est le seul à mes yeux). Apple croît savoir mieux que nous (utilisateur de leurs produits) ce qui est bon pour nous, c'est comme pour l'histoire de Flash...

Si on veut consommer plus de batterie, libre à nous, si on veut faire ramer notre machine, libre à nous aussi. Mais pour ça, y a que le jailbreack.

n°6 - Ecrit par Paul Poulet (Visiteur), .

Rang : Visiteur

J'ai lu avec beaucoup d'intérêt cet article et vais clairement dans le sens de l'auteur.

Pour un développeur lambda (personnellement, j'en connais peu qui développe avec un Mac), coder et diffuser une application sous iPhone est coûteux :
acheter un mac ;
payer la licence de diffusion ;
temps d'apprentissage du développement en Objective C.

Franchement, je n'ai rien contre Apple, mais ils ne facilitent pas la vie des développeurs ! Je ne suis pas nécessairement un grand "fan" de Google, mais le développement sous Androïd semble largement plus accessible :
PC sous Linux, PC sous Windows ou Mac OS X : pas de problème, puisqu'on utilise un plugin Eclipse, disponible sur les trois plateformes.
coût de la licence de diffusion inférieur (aux alentours de $25, je crois).
un langage portable, multiplateforme et généralement connu des développeurs : Java.

A mon sens, la politique d'Apple est incompréhensible. Quel est l'intérêt de n'utiliser que du propriétaire ? Les applications Androïd sont-elles de moins bonne qualité que les applications iPhone ? Personnellement, je n'éprouve pas ce sentiment...

---
Paul Poulet

n°7 - Ecrit par Cold (Visiteur), .

Rang : Visiteur

Je suis passé de propriétaire d'iPhone, à développeur sur iphone, à propriétaire de Galaxy S puis développeur Android ... Car là, c'est du foutage de gueule !

Heureusement que Cydia m'a sauvé certaine applications. Ok, Android n'est pas parfait, mais la dernière mise à jour nous a prouvé qu'il dépasse largement Apple. De plus, mon Galaxy S, une fois flashé et rooté, m'offre des performances largement supérieures à un iPhone 4 (que j'ai cassé en 2 semaines...).

Donc si vous manquez de moyens, passez à Android

Je n'ai jamais eu de mac pour développer : j'ai tout fait en Hackintosh, puis un ami distribuait mes applis...

n°8 - Ecrit par NaetoH (Visiteur), .

Rang : Visiteur

Je remonte un ancien post, mais là, j'étais obligé. Une réponse typique du boulet de base.

Je suis un MacFan, et pourtant je suis d'accord avec l'auteur du post.

Imaginez que j'ai envie de créer une application iPhone sur un Windows Seven, que je mette l'application sur mon site Internet en libre distribution pour ceux qui le souhaitent ?

Impossible avec iPhone, possible avec Android. Android commence à ronger Apple aux Etats-unis et cela ne va pas tarder en Europe. En plus, je suis désolé de le dire, mais Apple et Microsoft sont exactement pareils : une politique de business avec un système complètement fermé.

Je récapitule, simplement point de vue financier :
- Développement sur Android, avec un PC équivalent à l'iMac de base, pour 600 euros. SDK Android : gratuit ; Eclipse : gratuit ; diffusion : gratuite. Total : 600€.

- Développement sur iPhone, avec iMac de base, pour 1199 euros. SDK iPhone: gratuit ; xCode : gratuit ; diffusion : payante a 79€. Total : 1278€.

De plus Apple doit vivre d'amour et d'eau fraiche ? Regarde ce que gagne Apple seulement avec iTunes Music et le matériel, et ensuite nous discuterons. Apple a fait plusieurs milliards d'euros de bénéfices, et je ne parle même pas du chiffre d'affaire.

Ensuite, payer pour avoir le droit de développer sur une plateforme ? Et puis quoi encore, c'est plutôt à Apple de nous payer pour que l'on développe sur iPhone. C'est grâce à des gens comme nous que l'iPhone a eu autant de succès.

Arrêtons l'hypocrisie, Apple fait du super matériel, mais a une politique nul à ch...

n°9 - Ecrit par Max (Visiteur), .

Rang : Visiteur

Perso je travaille sur les deux terminaux : iPhone et Android.

Apple cherche toujours à faire différemment des autres afin d'être bien bien propriétaire. Au final, si on y réfléchis bien, on doit travailler sur leur pc, on doit coder sur leur programme, on doit utiliser leur clavier de merde (+ souris), on doit payer leur licence, on doit coder comme ils le souhaitent (sinon refus de l'appli) et au final, le must, on doit leur filer les bénefs d'un travail que l'on a entièrement réalisé.

Comprends pas.

Android c'est java, c'est gratuit, c'est libre et devinez quoi, bizarrement c'est devenu LE numéro 1 du marché mobile (même devant Nokia) en l'espace d'un an et demi. Je dis merci Google, sans qui l'informatique et le développement libre n'avancerait pas bien vite.

n°10 - Ecrit par Fred (Visiteur), .

Rang : Visiteur

Article très instructif. Je ne suis pas un pro ou un anti Mac/Pc, car je trouve que ces guéguerres sont ridicules. Il faut reconnaître qu'Apple présente parfois des idées astucieuses (jamais révolutionnaires, selon moi), mais se tire une balle dans le pied avec sa politique de "rackettage" permanent. Je voulais développer une appli pour l'Apple store, ce sera pour ailleurs, finalement...

J'ai quand même lu quelques réactions d'une redoutable mauvaise foi.

Merci pour l'article.

Flux RSS des derniers commentaires publiés sur le billet.

Ajouter un commentaire

En vous enregistrant en tant que membre, vous vous assurez d'avoir votre propre pseudonyme réservé, tout en n'ayant plus à saisir de code de sécurité ni de pseudo. En postant un message, vous déclarez accepter nos conditions générales d'utilisation.

Captcha :Si vous voyez les champs suivants, veuillez ne surtout PAS LES COMPLETER. Ce test vise à nous protéger des robots spammeurs.
Mémoriser mes identifiants : Sauvegarde votre pseudo et votre adresse e-mail, afin que n'ayez plus à les resaisir ultérieurement.