Me parece bastante extraño que para actualizar una aplicación en Android (o incluso en iOS) se descargue toda la aplicación en lugar de sólo las "Actualizaciones" reales.
La razón por la que encuentro esto extraño es porque en Windows mientras se actualiza una aplicación, sólo se descargan los archivos de actualización... no toda la aplicación, lo cual es más práctico ya que ahorra tanto tiempo como uso de datos.
Esto podría parecer trivial para la mayoría, pero cuando tienes que descargar una aplicación enorme sólo para una pequeña adición/corrección de errores, se convierte en una verdadera molestia.
¿Alguien tiene una explicación de por qué se implementó este modelo?
Respuestas
¿Demasiados anuncios?Por lo que sé, sólo descarga las actualizaciones (denominadas "delta") en Jellybean 4.1 y superiores. Obviamente la instalación inicial es la aplicación completa pero las actualizaciones sólo descargan los datos que han cambiado de la versión instalada actual (es decir, el "delta" de la misma). No verás nada diferente cuando actualices la mayoría de las aplicaciones, seguirá pareciendo que está descargando la aplicación completa pero en algunas aplicaciones más grandes verás si "salta" partes de la descarga lo que indica que sólo está recibiendo el delta.
Engadget y AndroidCentral ambos tienen artículos que indican que la tienda de Play proporciona actualizaciones delta
Como desarrollador de Android pensé lo mismo, fue cuanto menos frustrante porque una vez me olvidé de cambiar una línea de código, y salió con esa única línea mal, lo que provocó que la aplicación escupiera declaraciones de registro a diestro y siniestro.
Esta pregunta se ha hecho en el SO, pero también está en el tema aquí y creo que esta pregunta debería quedarse.
Como desarrollador de Android, mi opinión tendría que ser la forma en que se empaqueta el software. Cada aplicación de Android se empaqueta en un archivo comprimido llamado .apk
. Este archivo contiene todo el código, los archivos de diseño y las imágenes utilizadas para que la aplicación funcione. Es un poco difícil actualizar sólo una parte de un archivo, especialmente cuando está comprimido y si el desarrollador tiene activadas características de seguridad como ProGuard, sería casi imposible implementar un parche.
Estoy seguro de que Google también tenía algunas razones de seguridad para no permitir los parches. Los parches de código tienden a dejar agujeros de seguridad y vulnerabilidades imprevistas.
Básicamente, el archivo del paquete de la aplicación Android (*.apk) se crea después de que el código de la aplicación esté listo para ser publicado, Este archivo se crea después de la compilación y construcción y del proceso de conversión de DALVIK,
Este archivo contiene todos los recursos, es decir, las imágenes, el audio, los diseños y las clases,
Y en lo que respecta a Windows, tanto el framework de .NET como el de Linux funcionan de manera diferente...
Si quieres reemplazar solo cierto código del puedes hacerlo en Android pero por seguridad necesitas firmar esa aplicación de nuevo..
Lo que hace DALVIK es un proceso irreversible, por lo que si se añade una nueva función ¿cómo accederá a ella la versión antigua sin saberlo?
Es por eso que se requiere actualizar toda la aplicación para que pueda trabajar y funcionar correctamente..