Apple se la joue à huis clos
Si cette nouvelle avait éclaté une semaine plus tôt, je l'aurai volontiers pris comme un poisson d'Avril. Mais non, la dernière prouesse d'Apple n'est pas une blague, et cela va sûrement faire pleurer pas mal de développeurs.
Pour la sortie prochaine de leur iPhone SDK 4.0, Apple a décidé de mettre à jour leurs Terms of Service. D'habitude, c'est la partie où l'on clique "I agree > Next" sans trop y réflechir mais voilà ce que les nouveaux ToS stipulent:
3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).
Pour le coup des APIs private/public c'était déjà le cas, pas de changement de ce côté-là. Au passage, ce n'était pas super non plus pour les développeurs qui n'avaient pas accès à certaines fonctionnalités dont leurs applications avaient besoin. Par exemple, si vous faites une application permettant de lire un livre sur votre iPhone, vous souhaiteriez peut-être jour avec la luminosité de l'écran. Pourtant, si vous faîtes cela, vous êtes en dehors des régulations d'Apple et votre application ne sera jamais acceptée sur le AppStore par Apple. Ah oui et l'application officielle d'Apple (iBooks je crois) peut le faire. Vos applications seront donc toujours des applications de second rang par rapport à celles d'Apple. Cool, non?
Là où il y a un vrai changement, c'est sur la seconde partie. Celle-ci vous interdit d'utiliser une couche de compatibilité ou un outil permettant de créer des applications iPhone, vous devez obligatoirement l'écrire en C/C++/Objective-C directement. Si on suit ces instructions à la lettre, cela signifie que si vous utilisez un outil "Code Once, Deploy Everywhere" tels que Titanium (JavaScript vers applications mobiles natives) ou OpenPlug (Flex/AS vers applications mobiles natives), vos applications ne passeront pas la barrière de l'AppStore.
Encore mieux, vous savez sûrement qu'Adobe va sortir sa CS5 dans 3 jours. Dans cette nouvelle mouture de la Creative Suite, il y a le très attendu Flash Pro CS5 et son packager iPhone, vous permettant d'exporter vos "applications Flash" en applications iPhone ou iPad. Il y a bien sûr d'autres fonctionnalités mais celle-ci était de loin, la plus attendue. Et bien le packager pour iPhone de Flash CS5 tombe sous le coup de cette nouvelle régulation.
Adobe a répondu par son twitter de manière concise (pas trop le choix sur twitter héhé):
We are looking into the new SDK language. We continue to develop Packager for iPhone OS which will debut in Flash #CS5
Bref, à quelques jours de la sortie, cela doit être un peu la panique chez Adobe, on verra s'ils arriveront à contourner le problème d'une certaine manière. Certains diront que c'était un peu jouer avec le feu de sortir ce package pour iPhone OS et qu'Adobe se brûle maintenant les doigts. Certains parlent de poursuites en justice, d'autres espèrent voir Steve Jobs en prison. Bref, ça fuse dans tous les sens ^^
Adobe n'est pas le seul à avoir peur
On y voit clairement une attaque directe d'Apple sur Adobe mais puisque les ToS sont généralisés et pas spécifiques à Adobe, les autres se font aussi du souci sur leur futur:
- Titanium: iPhone OS 4.0 Announcement and Our Commitment to You
- Unity 3D: iPhone OS4 Today
- PhoneGap
- MonoTouch: MonoTouch Not Supported on iPhone OS 4.0
- OpenPlug
Certains sont "petits", d'autres sont là depuis longtemps. Tous proposent des outils permettant d'une certaine manière, de générer des applications iPhone/iPad. Certains comme Unity 3D proposent des outils qui ne sont pas disponibles de base avec XCode et ont permis à des développeurs de mettre leur application sur l'AppStore depuis des mois. Que va-t-il donc arriver à ses applications qui ont été sur l'AppStore avant ce changement de régulation? Suppression lors de la prochaine update de l'iPhone OS? Un coup de Jailbreak pour tout le monde?
Personne du côté d'Apple ne semble donner de réponse sur ces points plutôt critiques et tous semblent un peu être dans l'attente. Toutes ces entreprises se trouvent dos au mur. Si Apple décide vraiment de bannir ces outils, la plupart peuvent mettre la clé sous la porte.
Ce qu'il vous faut pour faire des applications iPhone / iPad
Prenez votre livre de recette. Pour faire une application pour iPhone, il faut:
- Apprendre le language d'Apple, l'Objective-C, qui ne vous servira qu'à cela d'ailleurs
- Travailler avec XCode, jetez votre IDE favori par la fenêtre
- Acheter un Mac, sinon vous ne pourrez jamais publier votre application sur l'AppStore
- Payer pour pouvoir être présent dans l'AppStore
- Développer sans utiliser de Runtime ou d'API qui ne soit pas public
- Croiser les doigts pour que votre application ne soit pas rejetée à l'entrée de l'AppStore
- Serrer les fesses pour qu'elle ne se fasse pas jeter de l'AppStore dans les prochains mois car Apple à changé ses règles en cours de route
- Subir les prochaines restrictions qu'Apple va vous infliger (nouveau système de publicité etc.)
Point de vue personnel
J'ai été très déçu de voir cette nouvelle ce matin dans mes feeds. Très déçu aussi de voir que personne ne sait à quoi s'en tenir et que tout le monde attend une réponse de la part d'Apple (qui arrivera on ne sait quand).
Dans l'entreprise dans laquelle je travaille, nous sommes une vingtaine. La plupart sont des développeurs sur différentes technologies: Java, .Net, HTML/JS, Flex. Personne ne connait comment développer en Objective-C et pourtant le sujet de la mobilité est très intéressant pour nous. Nous n'avons pas les moyens de créer une "cellule mobile" pour la création d'application mobiles (iPhone, Android, Windows Mobile & Co).
Si nous voulions pouvoir créer des applications mobiles pour toutes ces plates-formes, un outil "Code Once, Deploy Everywhere" était donc la clé du succès, même s'il on devait toujours passer par l'étape du "Store". En prenant en compte cette nouvelle, cela voudrait dire qu'il nous faudrait au moins un ressource supplémentaire pour faire de l'Objective-C à plein temps si on ne veut pas passer à côté de la grosse part de marché que représente l'iPhone. L"outil "Code Once, Deploy Everywhere" deviendrait donc peu intéressant. Bref, retour à la case départ.
Je peux "presque" comprendre ce move d'Apple. Apple souhaite qu'on utilise son language sur son unique outil, sur son hardware. Apple est ainsi sûr que la qualité des applications présentes sur le Store ne peut pas être amoindrie par des outils externes qu'ils ne contrôlent pas. Mais dans ce cas, pourquoi faire ce move maintenant, et pas au départ ou lors du développement d'outils tierces? Apple devrait plutôt vérifier la qualité finale des applications et pas comment elles ont été créées.
Beaucoup se plaignent de l'aspect "propriétaire" de ce que fait Microsoft mais beaucoup sont aussi très content des outils (multiples) mis à leur disposition en tant que développeurs. Ici Apple va bien plus loin en voulant contrôler toute la chaîne de développement. Certains bloggers parlent de dictature ou de radicalisme et je crois que l'on s'en rapproche de plus en plus. Apple parle toujours des Open Web Standard (HTML5 & co) comme étant l'avenir mais ils sont en train de créer la plate-forme de développement la plus fermée qui soit.
Je n'ai aucun matériel Apple (pas de Mac, d'iPod, d'iPhone et je ne compte pas acheter un iPad) et je commence à être plutôt content de ce choix. Je voulais vraiment pouvoir faire du développement pour plate-forme mobile, et pas seulement parce que c'est "tendance". Cette nouvelle va peut-être me faire attendre les plate-formes ouvertes supportant Flash Player et Air 2 (Android par exemple ou les tablettes Dell/HP).
[Hors-Sujet] – Une vidéo vraiment excellente
Absolument rien à voir mais si vous avez lu jusque-là, cela fait office de récompense. Voici une vidéo vraiment excellente que j'ai trouvé ce matin sur Mediabox: Pixels
PIXELS by PATRICK JEAN.
envoyé par onemoreprod. – Films courts et animations.
Articles similaires
- Adobe se moque (pas très) subtilement de l'iPad avec l'HP Slate
- AIR pour iPhone, iPad – Optimisation des performances
- Flash sur iPhone annoncé à Adobe MAX pour Flash CS5
- Sortie de l'update Flash Builder 4.5.1 – Développement iOS, Android et Playbook avec Flex
- OpenPlug publie sa liste de tarifs pour la version finale






9 avril 2010
Utilisateur Mac (comblé) de la première heure j'ai toujours essayé d'avoir un oeil critique sur à la firme à la pomme (et oui j'y ai laissé pas mal d'argent).
), il ferait bien de se souvenir du temps ou Apple allait mal et où la communauté Adobe était là pour soutenir la firme de Cupertino.
Depuis quelque temps les déceptions s'accumulent même si je pense que les produits Apple sont bien pensés. La plus grosse déception étant la facture de 600€ d'une carte mère d'un MacBook de 16 mois, ce qui indique à mon avis que la qualité commence à baisser… Les décisions de Steve Jobs sont gouruesques (terme inventé right now
Développeur Flash et maintenant Flex je me suis mis à l'Objective-C avant de me raviser quand j'ai eu vent de Flash CS5.
Et maintenant que vais-je faire?
Je dois dire que j'ai un doute sur la capacité de Flash CS5 à rivaliser avec Obj-C, possibilités restreintes, applications générées lourdes,…
Je pense donc me concentrer sur les plateformes mobiles supportant Flash Player, me mettre à jour sur FlashBuilder 4, apprendre le prometteur Adobe Slider, éventuellemnt s'il me reste du temps reprendre Objective-C (peu probable sauf si les journées passent à 48 heures)
D'ici là je rêve qu'Adobe soit capable de générer depuis ses outils du HTML5 (soyons fous!).
Je suis surtout équipé Mac en perso (et Windows en pro), je ne pense pas m'équiper d'un iPad, et je vais bien réfléchir à quoi acheter lors d'un rééquipement…
Et surtout je vais continuer à lire cet excellent blog!
10 avril 2010
Je suis aussi utilisateur Mac et très satisfait! J'ai personnellement un iMac, un MacBook et un iPhone (et bientôt iPad) et professionnellement je travaille dans un boite ou il faut lutté pour trouver un PC même notre serveur est un Mac … Mais je suis de plus en plus déçus de la politique d'Apple software et hardware. Quand à chaque mise à jour de matos on change les cablés (connecteur d'écran) et qu'on les revends super chère. Le nouvelle OS Snow Léopard n'apporte rien et je ne vois pas la différence de performance. Je comprends l'appStore avec ces restrictions qui valorise vraiment les appli, il suffit de voir les applis sur Android … Mais là ils ont vraiment dépassé les bornes! Les iAd avec lesquelles on va se faire taxé 40% en plus de 30% pour les appli et les 99€ par an … Et à côté Adobe qui mets vraiment de la bonne volonté en cherchant à faire des appli iPhone ou l'on ne voit même pas que c'est du flash!
J'espère vraiment qu'ils vont se prendre une grose claque (et je serais forcément touché) comme une recrudescence de virus, un boudage de leur produit ou même l'ultime retrait d'Adobe de ça plate-forme !
12 avril 2010
* Apprendre le language d'Apple, l'Objective-C, qui ne vous servira qu'à cela d'ailleurs
> Ca reste tout de même du C en apprenant Objective-C j'apprends le C (l'inverse n'est pas vrai)
> Personnellement je n'ai jamais utilisé ActionScript ailleurs que dans du Flash !
* Travailler avec XCode, jetez votre IDE favori par la fenêtre
> Pas faux, mais on peut également adresser ce genre de reproche a Visual Studio.
* Acheter un Mac, sinon vous ne pourrez jamais publier votre application sur l'AppStore
> Pour le prix d'une license Creative Suite je peux m'acheter 2 macbook
* Payer pour pouvoir être présent dans l'AppStore
> Pas faux
* Croiser les doigts pour que votre application ne soit pas rejetée à l'entrée de l'AppStore
> Pas faux
* Serrer les fesses pour qu'elle ne se fasse pas jeter de l'AppStore dans les prochains mois car Apple à changé ses règles en cours de route
> Pas faux
* Subir les prochaines restrictions qu'Apple va vous infliger (nouveau système de publicité etc.)
> Pas faux, iAd ne vas pas être obligatoire (ou pas ?)
12 avril 2010
@Olivier
Tu aurais pu utiliser de l'ActionScript pour faire des applications iPhone et peut être des applications Android mais aussi des applications bureautiques (Air)
Pour iAd, je ne pense pas qu'il y ait d'obligations, en fait j'en sais même rien mais cela m'étonnerais qu'ils imposent leur plate-forme publicitaire en plus
Fabien
16 avril 2010
@Olivier
"Pour le prix d'une license Creative Suite je peux m'acheter 2 macbook"
Si tu veux faire du flash ou du flex tu n'es pas obligé d'acheter la CS entière tu sais
Perso, quand je suis sur un PC, j'utilise FlashDevelop + SDK + inkscape pour mes projets Flex et hoooo, tout est gratos !
Ce genre de comparaison ne rime à rien, pourquoi ne pas avoir choisi de comparer avec un mac pro desktop à 2 999 € ? ou un mac book air ?
Je suis sur mac et heureux de l'être mais je rejoins l'avis de fnicollet, plutôt que de regarder comment c'est fait, mieux vaut regarder si ça fonctionne bien
Je ne connais pas objectiv-c mais je pense que même avec ce langage on peut produire des applications consommatrices de ressources
"Personnellement je n'ai jamais utilisé ActionScript ailleurs que dans du Flash"
Oui mais on peut développer en actionscript sur les 3 plateformes (linux, apple, windows) et déployer pour le web, le desktop et le mobile.
Sauf erreur, objectiv-c ne propose pas la même chose à ce jour
16 avril 2010
Pour ceux qui écrivaient sur les forum "chouette, grâce à Apple, flash va disparaitre et avec lui, la pub envahissante".
En dehors du fait que personne n'a besoin de flash pour faire de la pub envahissante, voilà ce que je viens de lire :
"Apple a donné un aperçu de la nouvelle évolution majeure d' iPhone OS, disponible à partir de l'été. Parmi les nouveautés, il y en avait une de taille : l'annonce de la régie publicitaire iAd, qui mène Apple sur les terres de Google, à savoir les revenus publicitaires."
Et oui, vive la pub sur iPad et iPhone !
16 avril 2010
Oui, ils vont proposer une meilleurs intégration de leurs pub (utilisant les natives iPhone OS) mais les publicitaires se demandent maintenant comment ils vont faire pour coder ces publicités natives. Alors Apple va même proposer au premier de coder leurs publicités:
[Source] http://www.penn-olson.com/2010/04/14/apple-to-help-early-iad-adopters-kick-start/
Bref, ils vont contrôler vraiment toute la chaîne ^^
Fabien