[Mise à jour] Les web apps discriminées par iOS 4.3 ?
Faut il y voir un complot pour dissuader les développeurs de faire des web apps, les "inciter" à faire des applications natives pour les faire passer par l'App Store ?
Ou s'agit-il simplement de bugs ?
Nous avons déjà parlé de Nitro dans le test de Safari sous iOS 4.3, c'est le moteur qui permet de multiplier par plus de 2 la vitesse d'exécution du code JavaScript, améliorant de manière notable l'utilisation de Safari Mobile. Des développeurs se sont rendu compte que le navigateur Apple était seul à profiter de cette vitesse supérieure. Que ce soient les applications natives qui se connectent sur le web, ou les web apps enregistrées sur le Spring Board, elles ont toutes gardé la même vitesse d'exécution qu'avec les versions antérieures d'iOS. Ces applis n'utilisent pas MobileSafari.app pour fonctionner, mais WebSheet.app. Or, pour des raisons de sécurité, l'accès au nouveau moteur JavaScript est réservé à Safari. En effet, Nitro est capable de changer dynamiquement les permissions de certaines zones mémoire. Il peut les modifier du mode "inscriptible" au mode "exécutable". On comprend pourquoi iOS limite son utilisation aux applis Apple.
Des développeurs se sont aussi rendu compte qu'une autre fonctionnalité de WebKit qui permet à Safari de charger des scripts de manière asynchrone n'est pas non plus disponible pour les web apps. Pour les jeux en particulier, ça peut poser des problèmes de performances.
Apple est au courant, des communautés de développeurs en parlent ouvertement mais pour l'instant, pas de réaction officielle.
Stratégie délibérée ou problèmes techniques, les avis sont partagés. Certains sont convaincus d'une manipulation, d'autres comme Miguel de Icaza pensent que c'est du a la jeunesse de l'implémentation de Nitro sur un mobile, et que ces soucis devraient être réglés avec les prochaines versions d'iOS.
[Màj] Apple s'est enfin exprimé sur la question en la personne de Trudy muller une porte parole de la société. Elle a bien confirmé à theregister que les applications natives qui utilisaient l'API UIWebView n'avaient pas accès aux améliorations apportées à Safari dans iOS 4.3. On peut en déduire logiquement que les web apps ne bénéficient pas non plus de ces ajouts, même si elle ne s'est pas exprimée précisemment sur cette question.