Tras años usando Android, un buen día decides comprarte un iPhone. Uno de los mejores terminales del mercado, diseño exquisito, pura innovación… pero el secreto del éxito de los móviles de Cupertino radica en su interior: hablamos de iOS, la auténtica joya de la corona de Apple. Estabilidad, seguridad, intuitividad… hay que reconocer que no hay nada como iOS.

Tras la euforia inicial y un sin fin de pequeñas y agradables sorpresas en el ecosistema de la manzana mordida, descubres que con iOS cuentas con actualizaciones frecuentes para mantenerte al día una App Store brutal. Pero una nube gris se cierne en el horizonte: el volumen de las apps.

Las apps en iOS (y sus respectivas actualizaciones) pesan más que en Android. Mientras que en el sistema operativo de Google una update de Android apenas ocupa unos pocos megas, en iOS se va prácticamente hasta lo que ocupa la app completa.

Pero además, las apps de Android son más transparentes y te informan antes de que las actualices de su volumen. En iOS solo tienes una orientación muy básica: si la descarga es más de 150 MB solo se actualizará a través del Wi-Fi.

La consecuencia de todo esto es evidente: para usar las mismas apps en iOS, necesitas un iPhone con más capacidad que un terminal de Android.

¿Qué hay detrás de los distintos tamaños de las apps en iOS y Android? Quora

Por qué las apps y actualizaciones de iOS pesan más que las de Android

Seguro que tú también te has hecho esta pregunta alguna vez y de hecho, es la pregunta del millón: en internet puedes encontrar razonamientos de lo más confusos y variopintos. Sin ir más lejos, en un hilo de reddit o Quora donde se intenta arrojar algo de luz a esta cuestión.

Diferente encriptación

Apple diseña sus gadgets pero también es responsable del desarrollo del ecosistema iOS, estableciendo las directrices para los desarrolladores que implementan aplicaciones para la App Store. Una de ellas es la forma de encriptación, que difícilmente permite la compresión al ser compiladas con todo el código, librerías y medios, algo que ya existe en el dispositivo a actualizar.

El modo de ejecución

Las apps de Android se distribuyen como un "bytecode" independiente de la CPU, algo que se convierte al código nativo del dispositivo mientras se ejecuta, algo que lo hace más liviano pero a la vez provoca sobrecargas en la ejecución.

En el caso de iOS, son distribuidos como código nativo que se ejecuta directamente en la CPU, pero claro, hay que recordar que Apple tiene distintas arquitecturas de CPU (si bien recientemente en Cupertino han dicho adiós a la de 32 bits), así que debe incluir copias para cada una de ellas. Incluso cuentan con una versión semi-compilada que la App Store optimiza para dispositivos nuevos.

Así que en este caso, tranquilidad: cada dispositivo Apple descarga la parte que es compatible, aunque el tamaño que aparece en la info de la aplicación en la App Store incluye todas las versiones.

Soporte para todos sus dispositivos

Cuando una app se lanza a la App Store, debe contener archivos y librerías para diferentes resoluciones, después de todo no olvidemos que también los iPad cuentan con iOS. Así, para una app universal en iPhone se requieren tres tamaños de imágenes: 320×480 px, 640×940 px (para retina) y 768 x 1.024 (para iPad).

¡Que una app de terceros se ajuste a todos los dispositivos Android es misión imposible!

Y no solo eso, también se incluye varias versiones diferentes de sus diseños: diseños 2x y 3x, espacios de color sRGB y P3, a veces en versiones separadas de iPhone y iPad. No obstante, cada dispositivo solo descarga los compatibles para su pantalla, pero el tamaño que figura en la App Store incluye todas las versiones.

Android es más eficiente en este sentido, pero no necesariamente es algo bueno. Y es que las apps de Android no suelen tener tantas versiones diferentes del diseño debido a que la gran cantidad y variedad de dispositivos Android que hay en el mercado hacen que los resultados perfectos sean una misión casi imposible.

Cuando se desarrolla una app Android encontramos tres tipos de imágenes: de alta, media y baja calidad o HDPI, MDPI y LDPI, ubicadas todas ellas en distintos ficheros. En el momento en el que queremos instalar una app Android en nuestro terminal, al encontrarse en distintas carpetas, es el propio proceso el que selecciona la app compatible, evitando que se instale información innecesaria.

¿Por qué ocupa más una app en iOS que en Android? Diego Laballos

¡Maldito Apple Watch!

Como sabrás, el Apple Watch se integra a la perfección con el resto de dispositivos de Apple, de hecho podemos encontrar muchas apps que cuando se instalan nuestros terminales iOS, también cuentan con su aplicación en el smartwatch con su propio código, ilustraciones y recursos. Como hemos mencionado anteriormente, solo los dispositivos vinculados a un Apple Watch descargarán la aplicación Watch, pero el tamaño que aparece en la App Store lo incluye también.

Por su parte, las apps de los wearables Android van integradas con las apps instaladas en el dispositivo principal, por lo que aunque sean más ligeras, cada vez que se requiera se debe cargar la app al completo en la escasa memoria flash del wearable.

Código de programación

Uno de los lenguajes de programación que más expectación despierta por su potencial es Swift, el nuevo lenguaje de programación de Apple, pero este todavía está en fase de evolución y está sujeto a cambios. Por ejemplo, las copias de las bibliotecas de soporte de iOS se incluyen en cada app.

Pero este último factor es solo cuestión de tiempo: se espera que las bibliotecas de soporte de Swift se estabilicen en la próxima versión, por lo que esta situación comenzará a resolverse en 2018.

Kotlin es el nuevo lenguaje de programación de Android y funciona de manera diferente: integrándose directamente en la infraestructura existente de Android, por lo que no necesita este tipo de bibliotecas de soporte adicionales. Como hándicap, hace que las apps estén vinculadas a la infraestructura propia del móvil.

Conclusión

Como has podido ver, hay varias razones que justifican el mayor tamaño de las apps de iOS, si bien en muchos casos la información sobre el tamaño de la app no se ajusta al volumen que ocupará en nuestro dispositivo, que suele ser menor. En todo caso, se agradecería más detalles por parte de Apple.

Asimismo, no todo son malas noticias: aunque ocupen algo más, este tamaño repercute en la calidad de la UI y una mayor compatibilidad.