¿Que es App Thinning?

Que-es-App-Thinning

Una de las cosas que más le están criticando a Apple es la capacidad de almacenamiento de sus dispositivos móviles.

En iPhones e iPads el almacenamiento minimo es 16Gb, y después pasas a 64Gb.

Sin duda 16Gb no son suficientes para casi nadie, y 64Gb quizá puedan ser demasiados.

Supongo que será un estrategia empresarial, o lo que viene a ser lo mismo, una forma fácil de ganar dinero, pues si 16Gb se antojan muy pocos iremos a comprar el modelo de 64Gb, cosa que no ocurriría si Apple tuvieran el almacenamiento mínimo en 32Gb, una capacidad aceptable o incluso buena para la mayoría.

¿Que es App Thinning?

Y en estas llega App Thinning, que demuestra que Apple apuesta fuerte por seguir manteniendo los 16Gb como entrada a la capacidad de almacenamiento.

App Thinning es un mecanismo que permitirá aprovechar más la capacidad de almacenamiento de los dispositivos, más contenido en menos espacio.

¿Cómo funciona App Thinning?

Lo primero que debes saber es que App Thinning sólo funcionará con dispositivos que tengan instalado iOS 9 o posteriores.

Con App Thinning una aplicación de 100 megas, en un iPhone de 16Gb podrá ser instalada con un peso de 40 megas, y en un dispositivo con 128Gb, tener su peso real.

De lo que se trata es de optimizar cada aplicación para que haga un uso de todas las funciones del dispositivo, ocupando el menor espacio posible en disco.

Con esto se consiguen 2 cosas:

  • Descargas más rápidas
  • Mas espacio en disco para almacenar más contenido

Para hacer este «adelgazamiento» de la App, básicamente se hará uso de 3 mecanismos:

  • Slicing
  • BitCode
  • On-Demand Resources.

Slicing

Se trata de crear variantes de una aplicación, de forma que dependiendo del dispositivo, se descargará una variante u otra.

Cada variante tendrá únicamente la arquitectura ejecutable y los recursos necesarios para un dispositivo determinado.

Imágenes, funciones de GPU, cada variante tendrá las suyas, dependiendo del tipo de dispositivo que ejecute la aplicación.

Es decir podremos marcar las librerías que son requeridas u opcionales por tipo de dispositivo.

Que-es-App-Thinning-1

Esto se asemeja a lo que ya existía en la App Store, que si querías descargar una aplicación que estaba optimizada para iOS8, y ya no era compatible con iOS 6 que es el que tu tenías, te aparecía una alerta indicando que esa aplicación ya no era compatible con tu dispositivo, pero te daba la opción de descargar la versión más reciente compatible para tu iOS instalado.

Ahora directamente podrás descargar una aplicación que tendrá las imágenes con la máxima calidad que tu dispositivo soporta, y no con unas «mega-imágenes» especificas para un iPad Pro, que en tu iPhone 4S no tiene ningún sentido visionar, y mucho menos descargar.

BitCode

Básicamente es la representación de un programa compilado, o lo que viene a ser lo mismo, el código binario de la aplicación.

Con esto Apple puede actualizar y optimizar la aplicación sin necesitar de la intervención del desarrollador.

Si saco un rato escribiré una entrada comentando algunas particularidades de esta tecnología, que no se lleva muy bien con CocoaPods 😉

On-Demand Resources

Con este mecanismo se consigue Apps menos pesadas, pues el contenido se sirve bajo demanda, esto que significa, que si por ejemplo tu aplicación reproduce sonidos, estos sonidos no están en la aplicación compilada, no están cuándo descargas la aplicación, sino que están alojados en un servidor de Apple, y son consumidos a petición de la aplicación con el servidor.

Apple en su documentación pone el ejemplo de un juego, se carga un nivel, y sólo cuándo la aplicación detecta que el usuario va a pasar al siguiente nivel, se inicia la descarga de este, todo esto es transparente para el usuario.

Esta opción es compatible con Slicing, mejorando más si cabe la experiencia de usuario que tanto cuida Apple.

Que-es-App-Thinning-2

Por cierto, esta tecnología es la que usará el Apple TV, y que tanta controversia causó para todos, y es que según se entendió, las Apps creadas para este dispositivo tenían un máximo de peso de 200Mb.

En realidad solo se podrán crear aplicaciones que en una primera instalación ocupen un máximo de 200Mb, pero se hará uso de «On-Demand Resources» para cargar funcionalidades más pesadas en aplicaciones, niveles en juegos, o cualquier tipo de recurso que necesitemos.

En esto consiste App Thinning, en crear Apps de calidad, pero que esta calidad no se vea mermada por las limitaciones de un dispositivo.

Experiencia de usuario en estado máximo, que entre otras cosas es a lo que se dedica Apple, y lo hace de forma excelente.

Si tienes alguna duda, o quieres dejarme un comentario, siéntete libre de hacerlo, un poco más abajo 😉

About The Author
iOS Developer & Instructor at CFE Apps. Enseño a crear aplicaciones iOS a todo el que quiera aprender.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.