Saltar al contenido principal
Tutoriales

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

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ápidos

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 cifrado de extremo a extremo opcional.

If you use those together, you get smaller payloads, faster installs, and much less operational mess.

Lean matters even when MAU stays the same

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

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

  • 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 revertidos
  • Radio de explosión más pequeño al probar o estrenar un lanzamiento

Actualizaciones de lean son realmente sobre velocidad, seguridad y disciplina operativa.

1. Por defecto, utiliza actualizaciones Delta

Si haces solo una cosa, haz esto.

Capgo’s Actualizaciones Delta envían solo archivos que cambiaron entre versiones en lugar de descargar nuevamente el paquete web completo. Eso es el mayor beneficio individual 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, 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 a los activos como activos, no como equipaje de JavaScript

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

Some practical rules:

  • No incluir imágenes o medios grandes dentro de JavaScript cuando un archivo de activo normal lo hará.
  • Mantén contenido que cambia con frecuencia en tu propio CDN o API si no necesita vivir dentro del paquete de la aplicación embarcada.
  • Ten cuidado con imágenes de marketing, videos de onboarding y activos de campaña que se reemplazan cada lanzamiento.
  • Deja que los activos estables sigan estables. Con actualizaciones Delta, los archivos inalterados se reutilizan en lugar de descargarse de nuevo.

Esta es una de las formas más fáciles de mantener Capgo rápido a medida que tu 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. Mantén los lanzamientos nativos para cambios reales nativos

Capgo actualiza la capa web: HTML, CSS, JavaScript y activos cargados en tiempo de ejecución.

No es el canal adecuado para:

  • nuevos plugins nativos,
  • cambios de permisos,
  • capacitor.config.ts cambios,
  • cualquier cosa que modifique el estado de 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 de tienda normal.

Vía Capgo

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. Una nueva construcción de tienda incorpora esa nueva línea base, lo que mantiene las diferencias de Capgo futuras más pequeñas.

5. 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 los probadores invitados
  • 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 libre, combina los canales con versión de destino. Eso mantiene alejados los paquetes incompatibles o innecesariamente pesados de las versiones antiguas de binarios.

Para equipos que desean incluso ciclos de revisión más estrechos, Capgo también funciona bien para vistas previas 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

Cuanto más rápido desee que se aplique una actualización, más disciplinado debe ser su camino de arranque.

Capgo’s comportamiento de actualización los docs recomiendan explícitamente emparejar directUpdate con actualizaciones Delta. Eso es el default correcto.

La segunda barandilla 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 __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
  • 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 volver a leer. 6. Utilizar canales de actualización internos en lugar de reconstrucciones nativas innecesarias

Si su aplicación no informa que está lista dentro de la ventana de espera predeterminada de 10 segundos, o dentro de lo que has establecido en tu configuración __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:

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: puede 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 cubre una forma práctica de mantener esto limpio con el tiempo.

7. Mantén separado lo esbelto de lo secreto

Los paquetes pequeños 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:

Eso no hace que el tamaño de la actualización sea irrelevante. Solo significa que deberías optimizar para ambas dimensiones:

  • lean para velocidad,
  • encriptado para control de entrega,
  • canales para control de lanzamiento,
  • deshacer para recuperación.

Un flujo de trabajo práctico “lean Capgo”

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

  1. Mantenga separadas las rutas de lanzamiento nativo y OTA.
  2. Cargue 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 un compilación nativa es innecesaria.
  6. Mantén grandes, frecuentemente cambiantes medios fuera del paquete donde 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 permanece 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 de la carga, 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 actualizaciones Capgo delgadas y rápidas.

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

Actualizaciones en vivo para aplicaciones de Capacitor

Cuando haya un error de 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.

Comience ahora

Últimas noticias de nuestro Blog

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