Tous les navigateurs web sur iOS doivent-ils obligatoirement utiliser le noyau WebKit ?


Techniquement, l'environnement peut prendre en charge n'importe quel navigateur. Apple exige toutefois que tout navigateur qui rend le contenu sur l'appareil soit de la variété Webkit (afin de contrôler l'exécution de code téléchargé/non original).

Notez qu'il ne s'agit pas seulement d'un wrapper de Safari natif (un point important !) car Safari a quelques améliorations au moteur Javascript qui compile essentiellement JIT JS en code natif et a donc de meilleures performances. En raison du fait que ce code compilé serait natif (et aurait donc potentiellement des implications en matière de sécurité, et serait équivalent à du code téléchargé/non original aux yeux d'Apple), aucun autre navigateur ne reçoit ces améliorations - seulement Safari. (Même les applications enregistrées sur l'écran d'accueil ne reçoivent pas ces améliorations.)


Opera Mini et iSwifter contournent ces problèmes en rendant essentiellement le contenu sur leurs propres serveurs, puis en envoyant une image à l'iDevice. Cela signifie qu'il n'y a pas d'exécution de code téléchargé sur l'appareil, et donc pas de restriction d'Apple. Des deux, iSwifter est le plus intéressant en ce qui concerne qu'il est construit pour rendre flash, et il semble qu'il le fait en rendant l'écran d'un navigateur distant basé sur Gecko (à mes yeux, en tout cas).

Ce qui m'intéresse, cependant, c'est le fait qu'il ne semble pas'tre une alternative viable à Safari/Webkit dans le monde Jailbroken non plus. Il n'est pas impossible de porter Firefox ou un autre navigateur, mais je n'ai jamais vu une telle version se concrétiser. Peut-être que la valeur d'un navigateur alternatif pour iOS n'est pas considérée comme suffisamment élevée, puisqu'il ne fonctionnerait que sur les appareils jailbreakés et que Webkit (en tant que moteur) est plus que suffisant pour rendre la plupart des pages. (S'il s'agissait d'un autre appareil avec un navigateur horrible, comme les anciens téléphones, alors cela pourrait être plus critique.)