Android a bel et bien des API privées

Christophe Laporte |

Dans un entretien récent (lire : Andy Rubin compare plus ou moins Apple à la Corée du Nord), Andy Rubin jurait que contrairement à l’iPhone, Android ne disposait pas d’API privées. On ignore si le responsable d’Android a voulu trop en faire ou s’il a mal exprimé le fond de sa pensée, mais ses déclarations sont tout simplement inexactes : Android possède bel et bien un lot d’API privées.

Sur son blog, Al Sutton, un développeur indépendant, explique que certaines API dans l’Android Market relatives à l’installation de logiciels sont privées. Il indique d’ailleurs que celles-ci étaient publiques dans la version 1.5 d’Android, puis ont été «retirées» dans la version 1.6.

Autre exemple relevé par Tom’s Hardware : dans un billet récent, Tim Bray, un responsable de la division développeur pour Android, a clairement affirmé qu’il y avait bel et bien des API privées qui permettent à Google d‘accéder à des données du système. C’est le cas d’une API qui offre la possibilité de rechercher et afficher l’historique des SMS.

Il déconseille son utilisation, car ces API sont amenés à évoluer et Google ne garantit pas pour l’instant la compatibilité avec les prochaines révisions d’Android. Par contre, contrairement à Apple, Google n’interdira pas sur sa plate-forme de téléchargement une application qui se sert d’API privées. C’est la principale différence entre les approches de Google et d’Apple.

Sur le même sujet :
- iBooks recalé de l'App Store ?

avatar Atmis | 
Google , le plus gros spyware de toute l'histoire de l'informatique.
avatar Rez2a | 
Alors ce sont des API privées, mais Google valide quand même les Apps se servant de ces API ? J'ai pas bien compris là... Pourquoi ne pas les rendre publiques si au final on peut les utiliser ?
avatar xblade42 | 
A mon avis, c'est juste pour se dégager de toute responsabilité si ça ne fonctionne pas avec les prochaines mises à jour de l'OS.
avatar Boubou35 | 
Mais alors là les gars il faut descendre de votre nuage ! Il y a TOUJOURS eu des APIs privées dans Android ! C'est du gros n'importe quoi cet article : en clair c'est un gros troll ! L'intérêt d'une API privée c'est tout simplement de préparer des features qui seront à l'avenir très probablement ouvertes aux développeurs dès que Google sera certain de leur bon fonctionnement ... Le fait que le code soit open-source permet aux développeurs de voir comment accéder à ces APIs privées mais c'est à bien sûr à déconseiller car elles sont en mouvement permanent. L'iPhone OS suit également la même logique et c'est pour cette raison que certaines applications ne sont pas fonctionnelles sur des versions supérieures du système (enfin ça c'était avant qu'Apple mette en place un système d'analyse statique de code dans le processus de validation).
avatar an3k | 
C'est plus compliqué que ce qui est indiqué ici. Il y a des APIs non documentées (mais qu'il est facile de trouver puisque les sources d'Android sont tous disponibles) dans le SDK. Il n'y a rien de caché mais il y a des choses non documentées. Google recommande de ne pas utiliser ces APIs car elles peuvent être modifiées lors d'une évolution de l'OS et rendre les applications inopérantes. Ceci dit, Google ne l'interdit pas et ne bloquera pas les applications qui les utilisent sur le Market. C'est très très différent de la politique Apple en la matière.
avatar Lou117 | 
Oui exactement, les API sont privées dans le sens ou elles ne sont pas documentées et ne sont pas garanties d'êtres disponibles à l'avenir dans les nouvelles versions de l'OS. A l'opposé une API publique restera fonctionnelle dans les versions suivantes. Mais ce n'est pas privé dans le sens "vous ne DEVEZ PAS les utiliser", juste : si vous le faites, c'est à votre risque. Le source est disponible, rien n'est caché, rien n'est réservé à Google. Contrairement à Apple qui limite certaines choses à eux et uniquement à eux...
avatar Rez2a | 
OK. Merci !
avatar boccob | 
Abus de langage. Les API ne sont pas "privées", mais "non documentées et non supportées" par google.
avatar Cratès | 
Mais j'allucine. Google veut faire du démago mais se tire une balle dans le pied. Dixit Google : J'autorise l'utilisation d'un API privé mais je ne le conseille pas. Situation : Je développe une belle application qui fait appel à des API privés. Google met à jour son OS et paf mon appli ne fonctionne pas. On pourrait dire tout simplement : c'est la faute du développement, point barre. Mais, qu'en est il du ressentit de cette nouvelle version : ya plein d'applis que ne marchent plus. Bref, à vouloir faire confiance aux développeurs, on met à mal sa plateforme. A méditer ...
avatar an3k | 
Google ne se tire pas une balle dans le pied, c'est une des conséquences directes du fait qu'Android est open source. Il y a nécessairement des APIs qui sont en cours de gestation et qui seront effectivement disponibles (ou pas d'ailleurs car elles peuvent être abandonnées) dans une future version. Là, tout est ouvert, il suffit de regarder le source pour voir ces APIs non documentées.
avatar Boubou35 | 
Tu ne peux pas interdire l'utilisation d'une API ... donc la technique c'est de la cacher !
avatar an3k | 
Avec un système open source, tu ne peux _rien_ cacher. C'est le principe. Tous les sources sont dispos :)
avatar an3k | 
Oui mais après tu ne peux pas mettre un pistolet sur la tempe du développeur ;) et l'ouverture d'Android facilite grandement l'utilisation des ces APIs non documentées.
avatar Tristoune Baoui | 
Non mais le problème soulevé n'est pas réellement de connaitre ou non l'api, c'est d'etre ou non autorisé à l'utiliser. Google autorise l'utilisation de toutes les apis, Apple limite certaine Api pour garder un avantage (exemple l'api d'acceleration vidéo etc.).

CONNEXION UTILISATEUR