Actualizaciones rápidas
El sistema de Actualización en Vivo de Capgo puede entregar actualizaciones más rápido y de manera más eficiente enviando solo los archivos modificados, en lugar del paquete JS completo
Esto es especialmente beneficioso para usuarios con conexiones de red más lentas o limitadas, ya que minimiza la cantidad de datos que necesitan descargar
Un segundo beneficio es cuando la aplicación tiene recursos grandes que cambian raramente, como imágenes o videos, en comparación con archivos JS comprimidos que se descargarán solo una vez
Cómo Funcionan las Actualizaciones Diferenciales
Las actualizaciones diferenciales en Capgo son manejadas por el plugin de Capgo instalado en tu aplicación. Cuando subes una nueva versión de tu aplicación usando la bandera --partial
, Capgo hace lo siguiente:
- Cada archivo en tu compilación se sube individualmente
- Se generan checksums para cada archivo
- Se crea un nuevo manifiesto json, listando todos los archivos y sus checksums
- Este manifiesto se sube a la base de datos de Capgo
Cuando un dispositivo ejecutando tu aplicación busca actualizaciones, el plugin de Capgo recibe el nuevo manifiesto del servidor. Compara este manifiesto con el que tiene actualmente, identificando qué archivos han cambiado basándose en los checksums y rutas de archivos
El plugin entonces descarga solo los archivos modificados, en lugar del paquete JS completo. Reconstruye la nueva versión de la aplicación combinando estos archivos descargados con los archivos sin cambios que ya tiene
Habilitando Actualizaciones Diferenciales
Para habilitar actualizaciones diferenciales para tu aplicación Capgo, simplemente usa la bandera --partial
cuando subas una nueva versión:
Forzando Actualizaciones Diferenciales
Si deseas asegurar que todas las subidas sean actualizaciones diferenciales y prevenir cualquier subida accidental del paquete completo, puedes usar la bandera --partial-only
:
npx @capgo/cli@latest upload --partial-only
Cuando se usa --partial-only
, Capgo solo subirá archivos individuales y generará un manifiesto. Cualquier dispositivo que no soporte parcial no podrá descargar la actualización
Podrías querer usar --partial-only
si:
- Siempre quieres usar actualizaciones diferenciales y nunca permitir subidas de paquetes completos
- Estás configurando un pipeline CI/CD y quieres asegurar que todas las subidas automatizadas sean diferenciales
- Tu aplicación es grande y el ancho de banda está limitado, por lo que necesitas minimizar los tamaños de subida/descarga
Si necesitas hacer una subida de paquete completo mientras --partial-only
está configurado, simplemente ejecuta el comando de subida sin --partial-only
. Esto anulará la configuración para esa única subida, permitiéndote enviar un paquete completo cuando sea necesario
Solución de Problemas
Si las actualizaciones diferenciales no parecen estar funcionando (es decir, los dispositivos siempre están descargando el paquete JS completo incluso para cambios pequeños), verifica que:
- Estés usando la bandera
--partial
cada vez que subes una nueva versión - Si usas
--partial-only
, asegúrate de no haber omitido accidentalmente la bandera--partial
- Tu dispositivo esté ejecutando la última versión del plugin de Capgo
- Tu dispositivo tenga una conexión de red estable y pueda alcanzar los servidores de Capgo
También puedes usar la aplicación web de Capgo para verificar los detalles de tu última subida:
- Ve a la webapp
- Haz clic en tu aplicación
- Haz clic en el número de bundles de la barra de estadísticas
- Selecciona el último bundle
- Verifica el campo
Partial
Si continúas teniendo problemas, por favor contacta al soporte de Capgo para más asistencia. Ellos pueden revisar los registros del servidor para confirmar que tus subidas parciales están siendo procesadas correctamente y que los dispositivos están recibiendo los manifiestos actualizados
¡Eso es todo! La bandera --partial
le dice a Capgo que realice las subidas de archivos individuales y la generación de manifiestos necesarios para las actualizaciones diferenciales
Ten en cuenta que necesitas usar --partial
cada vez que subas una nueva versión que quieras que se entregue como una actualización diferencial. Si omites la bandera, Capgo subirá el paquete JS completo como un solo archivo, y los dispositivos descargarán el paquete completo incluso si solo una pequeña parte ha cambiado