¿Por qué los sitios web en iOS se cargan más rápido en Safari (la propia implementación de Apple) que cuando se usa software de terceros?

Se trata principalmente de JavaScript (JS).

Safari en iOS utiliza un motor de JavaScript llamado Nitro. Nitro es conocido como un intérprete de código de bytes que compila JavaScript en el código de la máquina para ejecutarse directamente en el procesador. El beneficio de ejecutar código directamente en el procesador es que puede ejecutarse mucho más rápido, un gran beneficio en este día y época en que prácticamente todos los sitios web utilizan algunos o muchos JS. Una desventaja es que pasa por alto las comprobaciones de los sistemas operativos que, potencialmente, podrían usarse para propósitos nefastos.

Las aplicaciones nativas de terceros pueden usar Webkit, el motor de presentación, pero esos controles no usan el motor Nitro JS. Las aplicaciones web, a diferencia de las nativas, usan la aplicación Safari incorporada y, por lo tanto, usan el motor Nitro.

Hay dos teorías sobre por qué Apple no permite Nitro para aplicaciones nativas: debido al mayor riesgo que implica la interpretación de bytecode, un riesgo que no quieren asumir en iOS; y / o porque están tratando de hacer que más personas creen aplicaciones web en su lugar, tratando de forzar el problema al obstaculizar las aplicaciones nativas.

De cualquier manera, por el momento, las aplicaciones que muestran contenido web usando el control WebKit siempre serán más lentas que ver el mismo contenido directamente en Safari.