Dossier sur le SDK de l’iPhone

Christophe Laporte |
Élément clé dans la stratégie d'Apple, le SDK de l'iPhone - son kit de développement - dévoilé en début de mois a fait couler beaucoup d’encre. Afin de vous y retrouver, nous avons fait le point dans ce dossier sur ce qu’est ce SDK, quels en sont les enjeux et les points de divergence entre Apple et les développeurs.


Qu’est-ce qu’un SDK ?
SDK signifie Software Development Kit. En bon français, cela donne kit de développement. L’archive qu’Apple propose gratuitement au téléchargement, fait un peu plus de 2 Go. Elle contient tout ce qu’il faut pour concevoir des applications natives pour iPhone à savoir :
- Xcode, l’environnement de développement bien connu des développeurs Mac
- Interface Builder, l’outil d’Apple pour dessiner des interfaces
- des outils pour analyser et optimiser le fonctionnement de ses applications sur l’iPhone
- de la documentation présentant les interfaces de programmation (API) ainsi que des exemples.
- un simulateur permettant de tester son projet depuis son ordinateur.



Le kit de développement est gratuit, mais ne fonctionne que sous les Mac Intel. Précisons que certains ont toutefois réussi à l’utiliser sur des Mac PowerPC. Pour le récupérer, il suffit de s’inscrire sur le site d’Apple dans la section développeurs.


Qu’est-ce que l’iPhone Developer Program ?
Si le kit de développement est gratuit, Apple a mis en place deux programmes payants pour assister les personnes désireuses de développer pour l’iPhone. Ils sont pour le moment limités à un nombre restreint de développeurs résidant aux États-Unis. Apple prévoit d’enlever ces restrictions lors de la finalisation du kit de développement qui devrait intervenir au mois de juin, en même temps que la sortie de la nouvelle version du système d’exploitation de l’iPhone.

Apple a mis en place deux programmes :
- Standard : 99 $
- Entreprise : 299 $



En plus du SDK, ces deux programmes leur offrent la possibilité de tester leurs projets directement sur un iPhone ou un iPod touch. Apple s’engage également à les assister sur le plan technique. De plus, cette obole leur ouvre les portes de l’App Store, un magasin en ligne spécialisé dans la distribution des applications pour iPhone et iPod touch.

Le programme réservé aux entreprises leur permettra d’avoir un espace privé de distribution des logiciels, uniquement ouvert à leurs clients et/ou employés.

Qu’est-ce que l’App Store ?
L’App Store sera aux logiciels pour iPhone/iPod touch ce que l’iTunes Music Store est à la musique. Il sera possible d’acheter des logiciels aussi bien depuis iTunes que depuis son terminal mobile. A noter que les gratuiciels et les logiciels libres auront également droit de cité sur la plate-forme de distribution d’Apple.

Contrairement aux maisons de disque, les éditeurs auront le choix de fixer librement le prix de leurs logiciels. Outre les 99 $ ouvrant aux développeurs les portes de l’App Store, ils devront reverser 30 % de leurs ventes à Apple.




Existe-t-il d’autres manières de développer des applications pour l’iPhone ?
Il existe à l’heure actuelle deux autres moyens pour développer des solutions pour iPhone / iPod touch :
- les applications web. L’avantage de cette solution est qu’elle nécessite moins de connaissances que pour développer une véritable application pour iPhone. Deux inconvénients majeurs toutefois : elles ne sont pas natives (donc plus lentes) et «victimes» de nombreuses restrictions.
- le kit de développement officieux. Pour utiliser les applications écrites avec ce dernier, il est indispensable d’avoir un appareil jailbreaké (déprotégé).

Quels sont les points de divergence entre Apple et les développeurs ?

À force d’éplucher la documentation incluse avec le SDK, certains développeurs ont fait des découvertes déplaisantes.

- Il leur est interdit de faire fonctionner des applications en tâche de fond

Explications : Ce n’est pas une limitation technique. Certaines applications livrées avec l’iPhone fonctionnent parfaitement en tâche de fond comme Mail. Apple le présente d’ailleurs comme une directive et non une limitation d’ordre technique. D’ailleurs, des développeurs sont parvenus à faire en sorte que leur projet continue à être exécuté après avoir lancé une nouvelle application. Alors, pourquoi une telle demande ?

Même si les outils de développement sont identiques, les problématiques concernant le développement d’applications pour un terminal mobile et un ordinateur sont très différentes. Sur un ordinateur, les éditeurs sont bien moins confrontés à des problèmes de puissance, d’espace disque ou de quantité de mémoire vive, que par le passé.

Sur l’iPhone, tout est différent. Ceux qui possèdent un téléphone sous Windows Mobile ont pu constater que leur appareil ramait de temps à autre. Pourquoi ? Trop d’applications étaient ouvertes en même temps, sollicitaient trop le processeur et consommaient beaucoup de mémoire. C’est très probablement pour éviter ce genre de désagréments qu’Apple a imposé ce genre de restrictions.

Une application mal programmée pourrait avoir de nombreuses répercussions : ralentissement, autonomie en baisse, surchauffe de l’appareil…

Cependant il n’est pas dit que la Pomme n'assouplisse pas sa position dans certains cas de figure. Certaines applications, comme la messagerie instantanée, perdent de leur intérêt si elles n’ont pas accès à ce genre de disposition.


- Permettre aux applications tierces de récupérer des données sur le Mac ou le PC lors de la synchronisation entre l’iPhone et iTunes

Explications : À ne pas en douter, cette fonctionnalité serait très pratique pour les développeurs. Toutefois, il faut ne pas perdre de vue que ce SDK est une version 1.0 et qu’il est amené à être amélioré et complété au fil du temps. En attendant, il ne faut pas oublier non plus que l’iPhone est un appareil connecté, capable par conséquent de récupérer des données à tout moment provenant d’Internet.

- Permettre aux éditeurs de distribuer leurs logiciels par d’autres biais que l’App Store

Explications : on doute fortement qu’Apple accède à cette demande. Pour des raisons de sécurité, elle cherche à garder la mainmise sur l’ensemble de la chaîne. Ne perdons pas de vue également que ce business, s'il rencontre le succès escompté et quoiqu'en dise Steve Jobs, générer rapidement de rondelettes sommes pour Apple.

La direction d’Apple avait tenu un discours similaire au sujet de l’iTunes Music Store à ses débuts. Selon les estimations de Billboard, son disquaire lui aurait rapporté entre 190 et 500 millions de dollars en 2007.

- Donner la possibilité aux applications d’accéder à l’ensemble du système de fichiers de l’iPhone

Explications : Les applications ne peuvent écrire des données que dans un espace qui leur est dédié. Cette restriction a été mise en place pour des raisons de sécurité. En théorie, cela empêche un programme malintentionné de supprimer par exemple le contenu de votre carnet d’adresses. Dans le même genre de limitation, l’accès administrateur est bloqué.

- Permettre aux logiciels d’accéder au connecteur Dock

Explications : Apple n’a publié aucune documentation à ce sujet. Pourquoi ? On ne sait pas si elle se réserve dans un premier temps l’exclusivité de développer des accessoires pouvant se piloter via un logiciel sur ses appareils, si elle réserve cela aux membres du programme «Made for iPhone» ou si tout simplement, elle n’a pas eu le temps ou voulu publier des spécifications sur le sujet. Rappelons encore une fois que c’est une version 1.0.

- L’interdiction pour une application de faire appel à des plug-ins, d’appeler d’autres frameworks ou d’autres API ainsi que de lancer d’autres exécutables

Explications : C’est sans doute le point le plus controversé. C’est ce point qui bloque potentiellement l’arrivée sur l’iPhone de technologies comme AIR, Silverlight ou encore Java. Cela montre bien la volonté d’Apple de tout maîtriser. C’est une manière de contraindre les développeurs à adopter ses technologies, et non d’utiliser les outils d’un concurrent pour concevoir des applications sur l’iPhone. En faisant cela, Apple fait la promotion ‘de manière autoritaire’ de ses outils de développement et s’assure que les applications écrites pour iPhone seront à la hauteur des exigences des utilisateurs.

En attendant, il y aura probablement des discussions à haut niveau pour trouver un accord entre Apple d’une part, Sun, Microsoft et Adobe de l’autre. Peut-être qu’Apple cherche à monnayer l’accès à sa plate-forme, à moins qu’elle souhaite initialement imposer et diffuser ses outils de développement avant de progressivement desserrer l’étau.

Après tout, cette stratégie jusque-là lui a plutôt réussi. Ainsi, YouTube s’est mis au MPEG-4 pour diffuser de la vidéo sur l’iPhone, chose encore impensable quelques mois auparavant.

- L’impossibilité de faire de la voix sur IP sur le réseau des opérateurs

Explications : sur ce point, il n’y pas grand chose à espérer sauf revirement de position des opérateurs de téléphonie mobile. Ce sont eux qui refusent pour le moment de mettre à disposition leurs réseaux pour ce genre d’usage.

Peut-on dire que le SDK d’Apple est d’ores et déjà un succès ?

Oui, sans aucun doute. Le kit de développement a été en l’espace de quatre jours téléchargé plus de 100 000 fois. Et il semble que cela soit plus que de la curiosité. De nombreuses sociétés d’univers très différent ont fait part de leur intention de commercialiser des applications pour iPhone.

On trouve aussi bien des éditeurs fidèles à Apple (The Omni Group, Rogue Amoeba, Ecamm Network), des éditeurs de jeux (Capcom, Sega, Electronic Arts), des sociétés spécialisées dans les logiciels pour terminaux mobiles (Datavitz, Iambic, Ilium Software) que des éditeurs concevant des solutions uniquement pour les professionnels (SAP, NetSuite, SalesForce). L’App Store devrait être assez garni à son ouverture en juin prochain.

Est-ce que l’arrivée du SDK signifie la fin du jailbreaking ?

Probablement pas. Les personnes qui ont mis au point le kit de développement officieux souhaitent continuer et ne s’arrêteront sans doute pas de si tôt. La vraie question est de savoir si dès lors que l’iPhone aura une bibliothèque de logiciels officiels, les utilisateurs continueront oui ou non à jailbreaker leur téléphone.
Accédez aux commentaires de l'article