Apple et ses développeurs

Avec la version 4.0 du SDK d’Apple vient une nouveauté : le fameux paragraphe 3.3.1 a été reformulé pour interdire selon l’interprétation générale la soumission d’applications dont le code a été généré. Je dis “selon l’interprétation générale” car si vous faites partie du programme de développeur d’Apple vous n’avez pas le droit d’en parler publiquement tant qu’Apple n’a pas levé l’accord de confidentialité. Ce dernier ne facilite pas le dialogue donc car les personnes impactées ne peuvent en discuter sur la place publique.

Qui génère du code ? Les outils de développement comme MonoTouch, Titanium et le futur outil de Adobe pour exporter des applications Flash vers des applications iPhone. Quelles est la raison derrière cette décision ? Il semblerait qu’Apple veuille interdire la standardisation des applications dans le sens où une application générée par ces outils est potentiellement moins performante et tire moins bénéfice de la plate-forme. Côté performance toute personne ayant utilisée l’application du New York Times sait qu’une application “native” peut être pourrie, générée ou pas (il a fallu 3 versions pour que cette dernière se stabilise). Je ne connais pas Titanium mais Monotouch ne vous économise pas de passer par Interface Builder pour construire IHM et l’accès aux API natives est garantie. Je dirai presque qu’une application MonoTouch risque d’être plus performante car le code généré est optimisé.

Les critiques rétorquent que les développeurs n’ont qu’à apprendre le langage. Si ces outils existent ce n’est parce que MonTouch veut remplacer X-Code mais parce qu’il y a une demande. Pourquoi ? Parce qu’Apple avec Objective-C vit encore dans les années 90. Objective-C date de 1986 en est à sa deuxième version alors que C# voit sa quatrième version en 10 ans. Cette question de Stackoverflow résume très bien la perspective de développement pour l’iPhone.

Il semblerait que MonoTouch est une fonctionnalité qui permet d’exporter du code au lieu de générer un binaire directement mais rien ne garantie que cela soit en conformité avec les nouvelles conditions.

billet publié dans les rubriques coding le