Me resulta bastante extraño que para actualizar una aplicación en Android (o incluso iOS) se descargue la aplicación completa en lugar de solo las "Actualizaciones" reales.
La razón por la que encuentro esto extraño es porque en Windows al actualizar una aplicación, solo se descargan los archivos de actualización, no toda la aplicación, lo cual es más práctico ya que ahorra tiempo y uso de datos.
Esto parecería trivial para la mayoría, pero cuando necesita descargar una gran aplicación solo por una pequeña adición de características / corrección de errores, se convierte en una verdadera PITA.
¿Alguien tiene una explicación de por qué se implementó este modelo?
Como desarrollador de Android, pensé lo mismo, fue frustrante por decir lo menos porque una vez olvidé cambiar una línea de código, y salió con esa línea incorrecta, lo que provocó que la aplicación escupiera declaraciones de registro a la izquierda y Derecha.
Esta pregunta se ha formulado en SO, pero también es sobre el tema aquí y creo que esta pregunta debería quedarse.
Pregunta SO: /programming/18045290/for-mobile-app-updates-why-does-the-entire-app-need-to-be-downloaded-again
Como desarrollador de Android, creo que 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 utilizados para que la aplicación funcione. Es un poco difícil actualizar solo una parte de un archivo, especialmente cuando está comprimido y si el desarrollador tiene características de seguridad habilitadas 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 parches. Los parches de código tienden a dejar agujeros de seguridad y vulnerabilidades imprevistos.
fuente
.apk
también podría simplemente descomprimirse en los servidores de Google para comparar entre versiones y crear los deltas necesarios. Aunque no sé cómo se hace realmente.Básicamente, el archivo del paquete de la aplicación de Android (* .apk) se crea después de que el código de la aplicación está listo para su publicación. Este archivo se crea después de la compilación y construcción y del proceso de conversión DALVIK,
Este archivo contiene todos los recursos, es decir, sus imágenes, audio, diseños, clases,
Y en lo que respecta a Windows, el framework .NET y el framework Linux funcionan de manera diferente ...
Si desea reemplazar solo cierto código, puede hacerlo en Android, pero por seguridad necesita firmar esa aplicación nuevamente.
Lo que DALVIK hace es un proceso irreversible, por lo que si se agrega una nueva función, ¿cómo accederá la versión anterior sin saberlo?
Es por eso que requiere actualizar toda la aplicación para que pueda funcionar y funcionar correctamente.
fuente