Saltar al contenido principal
Tutoriales

Cómo mantener actualizaciones de Capgo ligeros y rápidas

Una guía práctica de Capgo para actualizaciones en vivo más pequeñas y seguras: paquetes delta, despliegue basado en canales, refrescos de línea base nativos, previstas de PR y guarderías de actualizaciones directas.

Martin Donadieu

Martin Donadieu

Gerente de contenido

Cómo mantener actualizaciones de Capgo ligeros y rápidas

The mejor actualización en vivo es la que sus usuarios apenas notan.

Normalmente eso significa tres cosas:

  1. El descarga es pequeña.
  2. La implementación está controlada.
  3. La recuperación es instantánea si algo sale mal.

El mismo consejo de "mantén OTA delgado" que funciona en el territorio de React Native también se aplica a Capgo. La diferencia es que Capgo da a los equipos de Capacitor un par de palancas adicionales: Actualizaciones delta, canales, devoluciones automáticas, objetivos de versióny cifrado de extremo a extremo opcional y opcionalmente cifrado de extremo a extremo.

Si utilizas ambos, obtienes paquetes más pequeños, instalaciones más rápidas y mucho menos desorden operativo.

El ahorro de peso importa incluso cuando el MAU permanece igual

Un detalle útil específico de Capgo: el MAU de Capgo es efectivamente el número de dispositivos activos mensuales que contactaron el servicio de actualización en los últimos 30 días.

Entonces, reducir un paquete no es principalmente una trampa para reducir el conteo de MAU. Importa porque mejora las partes que los usuarios y los equipos sienten realmente:

  • Descargas más rápidas en redes móviles o Wi-Fi débiles
  • Mejor experiencia con actualizaciones directas
  • Menos ancho de banda desperdiciado en lanzamientos fallidos o rechazados
  • Radio de explosión más pequeño al probar o etapa un lanzamiento

Las actualizaciones de ahorro de peso son realmente sobre velocidad, seguridad y disciplina operativa.

1. Establece actualizaciones Delta como predeterminado

Si haces solo una cosa, haz esto.

Capgo’s actualizaciones Delta envía solo archivos que han cambiado entre versiones en lugar de descargar nuevamente el paquete web completo. Eso es el mayor beneficio único para el rendimiento de OTA rutinario.

bun run build
bunx @capgo/cli@latest bundle upload --channel staging --delta

Cuando se complete tu paso de QA:

bunx @capgo/cli@latest bundle upload --channel production --delta

Si deseas que CI se mantenga estricto, utiliza --delta-only para que nadie caiga accidentalmente en subidas de paquetes completos:

bunx @capgo/cli@latest bundle upload --channel production --delta-only

Solo utiliza --delta-only cuando tu flota de producción admite actualizaciones Delta. En versiones de plugins mixtos, los dispositivos más antiguos que no admiten la entrega de delta basada en el manifiesto no podrán descargar esa actualización.

Esto importa aún más si utilizas directUpdate, porque el tiempo entre 'actualización encontrada' y 'aplicación recargada' se vuelve visible para el usuario.

2. Trata los activos como activos, no como equipaje de JavaScript

Los activos grandes son donde los paquetes de OTA se inflan en silencio.

Algunas reglas prácticas:

  • No incluya imágenes o medios grandes dentro de JavaScript cuando un archivo de activo normal será suficiente.
  • Mantenga el contenido que cambia con frecuencia en su propio CDN o API si no necesita vivir dentro del paquete de la aplicación embarcada.
  • Ten cuidado con las imágenes de marketing, los videos de onboarding y los activos de campaña que se reemplazan cada lanzamiento.
  • Deje que los activos estables permanezcan estables. Con las actualizaciones Delta, los archivos inalterados se reutilizan en lugar de descargarse nuevamente.

Esto es una de las formas más fáciles de mantener Capgo rápido a medida que la aplicación crece. El peor patrón es una pequeña corrección de UI que fuerza a los usuarios a descargar una pila de medios no relacionados.

3. Mantenga los lanzamientos nativos para cambios reales nativos

Capgo updates the web layer: HTML, CSS, JavaScript, and assets loaded at runtime.

No es el canal adecuado para:

  • nuevos plugins nativos,
  • cambios de permisos,
  • capacitor.config.ts cambios,
  • cualquier cosa que modifique el estado del proyecto nativo de iOS o Android.

Esa línea también importa para el rendimiento. Si sigue introduciendo cambios estructurales importantes en la vía de actualización OTA, su estrategia de actualización se vuelve más pesada y riesgosa con el tiempo.

Utilice dos vías de liberación con propósito:

Vía nativa

Para cambios de plugins, cambios de permisos y configuración nativa:

bun run build
bunx cap sync

Luego envíe una liberación normal en la tienda.

Capgo vía

Para iteraciones de capa web seguras:

bun run build
bunx @capgo/cli@latest bundle upload --channel production --delta

Refresque también su línea base nativa regularmente si recientemente agregó una gran cantidad de activos de larga duración. Un nuevo paquete de la tienda incorpora esa nueva línea base, lo que mantiene las diferencias futuras de Capgo más pequeñas.

4. Utilice canales para mantener el tamaño de la actualización pequeño

Una ‘actualización ligera’ no solo se trata de megabytes. También se trata de cuántos dispositivos reciben la actualización antes de saber que es buena.

Capgo’s sistema de canal es la forma más limpia de controlar eso:

  • staging para QA
  • beta para invitados de prueba
  • production para todos
  • hotfix para la recuperación de emergencia

Un flujo simple se parece a esto:

  1. Subir a staging.
  2. Validar en dispositivos reales.
  3. Desplegar gradualmente, ya sea a través de canales controlados o de un despliegue porcentual.
  4. Revertir inmediatamente si la salud disminuye.

Si tu aplicación tiene varias bases nativas en el mundo, combina los canales con versión de destino. Eso evita que los paquetes incompatibles o innecesariamente pesados lleguen a versiones antiguas de binarios.

Para equipos que desean incluso ciclos de revisión más estrechos, Capgo también funciona bien para previstas de PR. Eso permite a los productores, QA y partes interesadas probar cambios de JS sin tener que esperar a nuevos TestFlight o Play internos.

5. Si habilita actualizaciones directas, optimice el arranque duro

La velocidad a la que desea que se aplique una actualización, más disciplinado debe ser su camino de arranque.

El comportamiento de actualización de Capgo se recomienda explícitamente en los docs que se combine con actualizaciones Delta. Eso es el default correcto. directUpdate La segunda valla de seguridad es

La segunda barrera de seguridad es notifyAppReady().

import { CapacitorUpdater } from '@capgo/capacitor-updater'

CapacitorUpdater.notifyAppReady()

If su aplicación no informa que está lista dentro de la ventana de espera predeterminada de 10 segundos, o dentro de lo que notifyAppReady() has establecido en tu configuración de __CAPGO_KEEP_0__, __CAPGO_KEEP_1__ puede marcar esa versión de la aplicación como inválida y restaurar la versión anterior buena. Ese comportamiento de rollback es lo que deseas en producción, pero también significa que debes mantener el arranque limpio: appReadyTimeout you set in your Capacitor config, Capgo can mark that bundle invalid and restore the previous good version. That rollback behavior is what you want in production, but it also means you should keep startup clean:

  • en el lugar correcto notifyAppReady() Evitar el trabajo lento en el camino crítico durante el arranque
  • Guardar y restaurar el estado de la aplicación con cuidado si se recarga inmediatamente
  • Probar escenarios de red mala y dispositivos de bajo rendimiento antes de un lanzamiento amplio
  • Si no lo has revisado recientemente, la

guía de notificación de la aplicación lista es digno de relectura. 6. Utilizar canales de actualización internos en lugar de reconstrucciones nativas innecesarias

6. Utilizar canales de actualización internos en lugar de reconstrucciones nativas innecesarias

Muchas veces, los equipos de móviles desperdician tiempo construyendo binarios para cambios que claramente son solo web.

Si el cambio es:

  • copia,
  • mejoras de interfaz de usuario,
  • flujo de onboarding,
  • lógica de pantalla de precios,
  • conexión de análisis,
  • banderas de características,
  • presentación de un mensaje o API respuesta de renderizado,

entonces una Capgo actualización es a menudo el artefacto de revisión más rápido.

Eso significa menos reconstrucciones nativas, menos cambios en TestFlight y un ciclo de retroalimentación más estrecho para el equipo. Es uno de los beneficios menos utilizados de Capgo: puedes mover más trabajo de revisión y QA a la vía de actualización OTA sin romper la frontera nativa/web.

Nuestra guía sobre pruebas con un ID de aplicación móvil aborda una forma práctica de mantener esto limpio con el tiempo.

7. Mantén separado lo esbelto de lo secreto

Los pequeños paquetes y los paquetes seguros resuelven problemas diferentes.

Los canales controlan la elegibilidad. No hacen que un paquete sea confidencial por sí mismos.

Si necesita garantías de entrega más fuertes:

No es que eso haga que el tamaño de la actualización sea irrelevante. Solo significa que deberías optimizar para ambas dimensiones:

  • enfócate en velocidad,
  • cifrado para control de entrega,
  • canales para control de lanzamiento,
  • rollback para recuperación.

Un flujo de trabajo práctico “Capgo”

Si desea un modelo de operación por defecto simple, utilice esto:

  1. Mantenga separadas las rutas de lanzamiento nativo y OTA.
  2. Subir cambios de JS con --delta por defecto.
  3. Utilice staging y beta canales antes production.
  4. Mantén actualiza estadísticas y registros después de la implementación, no solo antes de ella.
  5. Convierte los PRs en previsualizaciones instalables cuando no es necesario una compilación nativa.
  6. Mantén grandes archivos multimedia que cambian con frecuencia fuera del paquete siempre que sea posible.
  7. Refresca la base nativa después de un crecimiento significativo de activos o cambios nativos.
  8. Trata notifyAppReady() y el comportamiento de rollback como parte de la ingeniería de lanzamiento, no como trivia de configuración.

Esa combinación se mantiene rápida mucho más tiempo que el enfoque común “sube solo lo que cambió”.

Pensamiento final

Para Capgo equipos, “delgado y rápido” no es solo un problema de tamaño de paquete.

Es un problema de diseño de lanzamiento.

Utilice actualizaciones Delta para el tamaño del payload, canales para el tamaño de la implementación y reversiones para el tamaño de la falla. Una vez que piense en OTA de esa manera, sus actualizaciones permanecen rápidas incluso a medida que la aplicación, el equipo y la base de usuarios crecen.

Sigue adelante desde Cómo mantener las actualizaciones de Capgo delgadas y rápidas

Si está utilizando Cómo mantener las actualizaciones de Capgo delgadas y rápidas para planificar la ruta de los canales y la implementación de la etapa de lanzamiento, conecte con Canales para los detalles de implementación en Canales, Canales para los detalles de implementación en Canales, Canales para los detalles de implementación en Canales, Solución de Pruebas de Beta para el flujo de trabajo del producto en la Solución de Pruebas Beta, y Solución de Enfoque en Versión para el flujo de trabajo del producto en la Solución de Enfoque en Versión.

Actualizaciones en vivo para aplicaciones Capacitor

Cuando haya un error en la capa web en vivo, envíe la corrección a través de Capgo en lugar de esperar días para la aprobación de la tienda de aplicaciones. Los usuarios obtienen la actualización en segundo plano mientras que los cambios nativos siguen en el camino de revisión normal.

Inicia ahora

Últimas noticias de nuestro Blog

Capgo te da las mejores perspectivas que necesitas para crear una aplicación móvil verdaderamente profesional.