Saltar al contenido principal
Volver a plugins
@capacitor-plus/core
Tutoriales
por github.com/Cap-go

Capacitor+ Core

Capacitor+ es una bifurcación automática y siempre sincronizada de Capacitor con PRs de la comunidad fusionados y lanzamientos rápidos

Guía

Tutorial sobre Capacitor+ Core

Usando Capacitor+ (@capacitor-plus) Paquetes

Capacitor+ es una bifurcación automática y siempre sincronizada de Capacitor mantenido por Capgo. Ofrece una sustitución de código de bajo nivel para los paquetes oficiales de Capacitor con una ventaja clave: Las PRs y correcciones de la comunidad se integran más rápido.

¿Por qué existe Capacitor+?

El equipo de Ionic mantiene Capacitor con sus propias prioridades y calendario de lanzamiento. Esto significa que las contribuciones de la comunidad - correcciones de errores, mejoras y características - pueden esperar meses o incluso años para ser fusionadas. Algunas nunca llegan a hacerlo.

Capacitor+ resuelve este problema de la siguiente manera:

  1. Merging PRs desde Forks - Los PRs valiosos que están atascados en la cola de upstream se fusionan activamente
  2. Sincronización Continua - Cada cambio de upstream Capacitor se extrae automáticamente, se prueba y se verifica
  3. Lanzamientos Rápidos - Cuando los cambios pasan por CI, se publican automáticamente en npm bajo el @capacitor-plus scope
  4. Comunidad en Primera Lugar - Sus contribuciones importan y se priorizan
  5. Revisado por la Seguridad - Cada cambio se analiza con IA para vulnerabilidades de seguridad, cambios que rompen y riesgos de estabilidad

Paquetes Disponibles

Paquete Descripción
@capacitor-plus/core Biblioteca de tiempo de ejecución central
@capacitor-plus/cli Interfaz de línea de comandos
@capacitor-plus/android Tiempo de ejecución de Android
@capacitor-plus/ios Tiempo de ejecución de iOS

Instalación

Nuevo Proyecto

Para un nuevo proyecto, simplemente utilice los paquetes Capacitor+ en lugar de los oficiales:

npm install @capacitor-plus/core @capacitor-plus/cli
npm install @capacitor-plus/android  # for Android
npm install @capacitor-plus/ios      # for iOS

Luego inicie su proyecto:

npx cap init
npx cap add android
npx cap add ios

Migrando desde Oficial Capacitor

Para migrar un proyecto existente desde oficial Capacitor a Capacitor+:

# Remove official packages
npm uninstall @capacitor/core @capacitor/cli @capacitor/android @capacitor/ios

# Install Capacitor+ packages
npm install @capacitor-plus/core @capacitor-plus/cli
npm install @capacitor-plus/android  # if using Android
npm install @capacitor-plus/ios      # if using iOS

Dado que Capacitor+ es un reemplazo de bajo nivel con el mismo API, no se requieren cambios en code. Sus importaciones permanecen iguales:

// These imports work the same with Capacitor+
import { Capacitor } from '@capacitor/core';
import { registerPlugin } from '@capacitor/core';

Cómo Funciona

┌─────────────────────┐     ┌──────────────────┐     ┌──────────────────┐     ┌─────────────────┐
│  ionic-team/        │     │  CI/CD           │     │  Claude Code     │     │  npm publish    │
│  capacitor          │────▶│  Pipeline        │────▶│  Security Review │────▶│  @capacitor-plus│
│  (upstream)         │     │  (daily sync)    │     │  (AI analysis)   │     │  packages       │
└─────────────────────┘     └──────────────────┘     └──────────────────┘     └─────────────────┘
  1. Sincronización Diaria: Una Acción de GitHub obtiene los últimos cambios desde ionic-team/capacitor
  2. Creación de PR: Los cambios se proponen como solicitudes de cambio a la plus rama
  3. Validación de CI: Se ejecuta el conjunto de pruebas completo (lint, pruebas unitarias, compilación de iOS, compilación de Android)
  4. Revisión de Code de Claude: Análisis de seguridad integral impulsado por inteligencia artificial verifica:
    • Vulnerabilidades de seguridad (inyección, XSS, etc.)
    • Cambios de API que pueden romper la aplicación
    • Riesgos de caída y problemas de estabilidad
    • Preocupaciones de integridad y privacidad de datos
    • Patrones maliciosos de code
  5. Auto-Merge: Solo si CI pasa y Claude aprueba (sin problemas detectados)
  6. Auto-Publish: Una nueva versión se publica en npm bajo @capacitor-plus/*

Revisión de seguridad

Cada sincronización upstream se analiza para:

Verificar Descripción
Seguridad Inyección de comandos, XSS, travesía de directorios, secretos fijos, etc.
Cambios importantes APIs eliminadas/rerenombradas, firmas cambiadas, cambios en el formato de configuración
Estabilidad Dereferencias nulas, excepciones no manejadas, condiciones de carrera, fugas de memoria
Seguridad de datos Escenarios de pérdida de datos, violaciones de privacidad, almacenamiento inseguro
Code Integridad Integridad de code, llamadas de red sospechosas, backdoors

Si se detectan cualquier problema, el PR se marca para revisión manual y NO se fusionará automáticamente.

¿Quieres que se fusionen tus PR?

¿Tienes un PR atascado en el repositorio oficial Capacitor? Aquí te mostramos cómo hacer que se integre en Capacitor+:

  1. Abre una incidencia en el Capacitor+ repo vinculando a tu PR upstream
  2. O envía el PR directamente a la plus rama
  3. El equipo lo revisará, ejecutará CI y lo fusionará si pasa la prueba

De esta manera, tú y otros podrán beneficiarse de tu trabajo de inmediato, sin tener que esperar al ciclo de lanzamiento upstream.

Ventajas

  • PRs Bloqueados Ahora: Se fusionan las correcciones y características de la comunidad que esperan subir a upstream
  • Mantente Actualizado: Recibe correcciones de upstream tan pronto como pasan las pruebas de CI
  • Seguridad Primero: Cada cambio se revisa por vulnerabilidades y riesgos de estabilidad
  • Releases Verificados: Solo se publican cambios que pasan tanto las pruebas de CI como la revisión de seguridad de IA
  • Sustitución de Inserción: Same API as Capacitor, just a different package scope
  • Tu Voz Importa: Envía tus propios PRs o solicita PRs específicos de upstream para que se fusionen

Ejemplo: Usando Capacitor+ con Plugins

Todos los plugins oficiales Capacitor funcionan sin problemas con Capacitor+:

import { Capacitor } from '@capacitor/core';
import { Camera, CameraResultType } from '@capacitor/camera';
import { Geolocation } from '@capacitor/geolocation';

// Everything works exactly the same
const platform = Capacitor.getPlatform();

const photo = await Camera.getPhoto({
  resultType: CameraResultType.Uri
});

const position = await Geolocation.getCurrentPosition();

Los plugins Capgo también funcionan perfectamente con Capacitor+:

import { CapacitorUpdater } from '@capgo/capacitor-updater';
import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';

// Use Capgo plugins with Capacitor+
await CapacitorUpdater.notifyAppReady();
await ScreenOrientation.lock({ orientation: 'portrait' });

¡Eso es todo! Ahora tienes una versión actualizada más rápida de Capacitor con mejoras de la comunidad fusionadas más rápido. Tus aplicaciones se beneficiarán de correcciones de errores y características sin tener que esperar al ciclo de lanzamiento oficial.