Capacitor Los plugins conectan tecnologías web con características de dispositivos nativos, lo que permite desarrollo de aplicaciones de múltiples plataformas. Esta guía te ayuda:
- Configura tu entorno: Herramientas como Node.js, Xcode, y Android Studio son fundamentales.
- Sigue los estándares de Code: Utiliza TypeScript, Swifty Kotlin con convenciones de nombres consistentes y manejo de errores.
- Prueba exhaustivamenteEscriba pruebas unitarias para JavaScript, iOS y Android para garantizar la confiabilidad.
- Documente claramenteUtilice JSDoc y archivos README para una adopción fácil.
- Realice una solicitud de extracciónAsegúrese de que la calidad sea alta code, la prueba y la documentación antes de contribuir.
Guía completa para Open Source - Cómo contribuir
Configuración del Entorno de Desarrollo
Crear un entorno de desarrollo adecuado es fundamental para el desarrollo eficiente de plugins. Una configuración bien preparada permite una codificación, prueba y despliegue suaves de sus plugins.
Herramientas y Habilidades que Necesitarás
Antes de empezar, asegúrate de tener las siguientes herramientas instaladas:
| Categoría | Requisitos |
|---|---|
| Herramientas Básicas | Node.js (LTS), npm 6+, Git |
| IDE/Editores | Visual Studio Code o tu editor preferido |
| Desarrollo de iOS | Xcode, SwiftLint, CocoaPods |
| Desarrollo de Android | Android Studio, Android SDK, JDK |
Deberías estar también cómodo con TypeScript para el desarrollo web y, por lo tanto, con Swift (para iOS) o Java/Kotlin (para Android) para tareas de desarrollo nativo [1][2].
Configuración de la Repósitorio Monolítico
El Capacitor plugins El ecosistema se basa en una estructura de monorepo. Esta aproximación garantiza que tu trabajo se alinee con los estándares de la comunidad desde el principio.
-
Hacer una Copia y Clonar el Repositorio
Comienza forkeando el repositorio de Capacitor plugins en GitHub. Luego, clona tu repositorio forkeado:git clone https://github.com/your-username/capacitor-plugins.git cd capacitor-plugins npm install -
Instalar Dependencias y Compilar
Ejecuta el siguiente comando para instalar todo lo que necesitas y compilar los plugins:npm run build -
Configurar Control de Versiones
Utiliza ramas de características para tus cambios y mantén sincronizada tu rama con el repositorio upstream.
Preparando Plataformas Nativas
Para el desarrollo de aplicaciones cruzadas, necesitarás configurar tanto el entorno iOS como Android.
Para iOS:
-
Descarga Xcode desde la Tienda de Aplicaciones de Mac.
-
Instala herramientas de línea de comandos con:
xcode-select --install -
Instala CocoaPods con:
sudo gem install cocoapods -
Configura una cuenta de desarrollador de Apple y los certificados necesarios.
-
Utiliza SwiftLint (opcional) para mantener la calidad de code.
For Android:
- Instale Android Studio junto con la última SDK y una dispositivo virtual.
- Asegúrese de tener instalado un JDK.
- Configure correctamente la SDK de Android dentro de Android Studio.
Una vez que estén configurados estos plataformas, estará listo para seguir las prácticas de codificación establecidas y sumergirse en el desarrollo de plugins.
Code Standards Guide
Ahora que su entorno de desarrollo está configurado, siga estas directrices para crear plugins fáciles de mantener y usar.
Style Guide Compliance
La Capacitor plugin ecosystem aplica estrictos estándares de codificación utilizando herramientas como ESLint, Prettier, y SwiftLint. Aquí hay una visión general rápida de la formación requerida:
| Componente | Formato |
|---|---|
| Variables | deviceInfo (camelCase) |
| Clases | BatteryManager (PascalCase) |
| Métodos | getLanguageCode() (camelCase) |
| Constantes | MAX_RETRY_COUNT (SNAKE_CASE) |
Los plugins deben utilizar TypeScript para una mayor seguridad de tipos y características de ES6+ como async/awaitAdemás, sigan las convenciones de codificación específicas de la plataforma para Swift (iOS) y Kotlin (Android).
Gestión de Errores y Tipos
Un manejo de errores consistente es crucial para la compatibilidad entre plataformas. Aquí hay un ejemplo:
async checkPermissions(): Promise<PermissionStatus> {
try {
const result = await this.implementation.checkPermissions();
return result;
} catch (error) {
throw new Error(`Permission check failed: ${error.message}`);
}
}
Para la seguridad de tipos:
- Utilice interfaces enfocadas en casos de uso específicos.
- Aplicar tipos de unión para variaciones específicas de plataforma.
Code Documentación
Una buena documentación es clave para hacer que tu plugin sea accesible y fácil de usar. Sigue estas prácticas:
- API Documentación: Escribe comentarios de JSDoc que funcionen con
@capacitor/docgenPor ejemplo:
/**
* @description Get the device's current battery level
* @returns Promise with the battery level percentage
*/
async getBatteryLevel(): Promise<{ level: number }>;
- Estructura del README: Incluye información esencial como pasos de instalación, instrucciones de configuración, requisitos específicos de plataforma, ejemplos de uso y una referencia detallada API.
La documentación bien escrita garantiza que tu plugin sea fácil de adoptar y contribuye a la comunidad Capacitor más amplia.
sbb-itb-f9944d2
Guía de Pruebas de Plugin
La prueba de los plugins Capacitor implica centrarse en unas pocas áreas críticas para asegurar una funcionalidad suave y confiabilidad.
Pruebas de Puente Nativo
La prueba de puente nativo garantiza una comunicación adecuada entre JavaScript y code. native. Para empezar, configura tu entorno de prueba con marcos adaptados a cada plataforma.
Por ejemplo, aquí está un Jest prueba de unidad para el lado de JavaScript:
// Example of a Jest unit test for the JavaScript bridge
describe('DeviceInfo Plugin', () => {
test('getBatteryLevel returns valid percentage', async () => {
const result = await DeviceInfo.getBatteryLevel();
expect(result.level).toBeGreaterThanOrEqual(0);
expect(result.level).toBeLessThanOrEqual(100);
});
});
Para probar en el lado nativo, utilice XCTest para iOS y JUnit para Android. A continuación, se muestra un ejemplo para Android:
@Test
fun testBatteryLevel() {
val plugin = DeviceInfo()
val result = plugin.getBatteryLevel()
assertTrue(result.level in 0..100)
}
Una vez que hayas confirmado que la funcionalidad del puente básico funciona como se espera, pasa a probar flujos de trabajo de usuario completos.
Pruebas de Plugin Completo
Para asegurarte de que tu plugin se desempeña bien en diferentes escenarios, prueba varias categorías:
| Categoría de Prueba | Áreas de enfoque clave |
|---|---|
| Pruebas de Integración | Funcionalidad cruzada entre plataformas |
| Pruebas de rendimiento | Uso de recursos y tiempos de respuesta |
| Pruebas de seguridad | Manipulación de datos y verificaciones de permisos |
Para plugins con características complejas, simula escenarios de usuario reales. Por ejemplo, si estás probando un plugin de DeviceInfo, verifica:
- Subidas exitosas bajo diferentes condiciones de red
- Información de progreso precisa
- Uso de memoria durante transferencias de archivos grandes
Pruebas de actualización OTA con Capgo

Capgo herramientas de código abierto facilitan la implementación y prueba de actualizaciones de manera rápida. Aquí está cómo utilizarlas:
- Configuración canales de actualización como dev, staging y producción
- Automatizar despliegues con herramientas CI/CD
- Enviar actualizaciones de manera instantánea
- Monitoree el rendimiento y problemas a través de la Capgo tabla de control.
Para lanzamientos en fases, Capgo te permite limitar las actualizaciones a un pequeño porcentaje de usuarios. Por ejemplo, puedes lanzar una nueva versión a un 25% de usuarios cada 24 horas:
// Example configuration for staged rollout
{
"plugin": "camera-plugin",
"version": "1.2.0",
"rollout": {
"percentage": 25,
"interval": "24h"
}
}
Esta aproximación en fases ayuda a identificar problemas temprano aprovechando la retroalimentación de la comunidad antes de un lanzamiento completo.
Proceso de Solicitud de Revisión
Una vez que hayas probado exhaustivamente tus cambios, sigue estos pasos para enviar tu solicitud de revisión:
Lista de Verificación de Solicitud de Revisión
Antes de enviar, asegúrate de haber cubierto estas áreas clave:
| Categoría | ¿Qué verificar? |
|---|---|
| Code Calidad | - Asegúrate de que las implementaciones de Swift/Kotlin se alineen con la web API. |
| Pruebas | - Agrega pruebas unitarias para cualquier nueva funcionalidad. - Confirma que los controles de pipeline CI/CD son exitosos. |
| Documentación | - Actualiza el README, la documentación inline y el CHANGELOG según sea necesario. |
Directrices de la comunidad
Al colaborar, sigue estas mejores prácticas:
- Responde rápidamente a los comentarios de los revisores.
- Mantén las discusiones enfocadas en detalles técnicos.
- Utiliza la función de sugerencias de GitHub para proponer code cambios.
- Envía solicitudes de extracción pequeñas y enfocadas que aborden una característica o problema a la vez.
Para cambios más grandes, es una buena idea crear un problema primero y discutir tu enfoque. El equipo de Capacitor depende de GitHub Actions para verificaciones automatizadas, y todas las verificaciones deben pasar antes de que tu solicitud de extracción pueda ser revisada.
Guía de Integración de Capgo
Si su plugin involucra actualizaciones en vivo, asegúrese de que funcione de manera fluida con Capgo antes de enviarlo:
-
Control de Versión
Utilice una versión semántica clara para su plugin y documente todos los cambios en el changelog. El sistema de Capgo ayuda a rastrear la adopción de versiones en dispositivos de los usuarios. -
Integración CI/CD
Integre Capgo en su pipeline de CI/CD para automatizar los despliegues de actualizaciones. -
Monitoreo de Actualizaciones
Monitoree las tasas de éxito de despliegue y asegúrese de cumplir con las directrices de las tiendas de aplicaciones.
Resumen
Para hacer una contribución significativa con su plugin, es importante seguir el proceso establecido y cumplir con los estándares de la comunidad. Esto incluye adherirse a las directrices de codificación de Capacitor y probar su trabajo exhaustivamente.
La lista de verificación de PR destaca la necesidad de presentaciones de alta calidad. Si su plugin admite actualizaciones en vivo, integrar con Capgo (tal como se mencionó anteriormente) puede ayudarlo a liberar actualizaciones rápidamente sin tener que esperar aprobaciones de las tiendas de aplicaciones.
Una vez que su PR se haya fusionado, manténgase involucrado siguiendo los problemas y liberando actualizaciones de versiones. La interacción regular con la comunidad, la mantenimiento consistente y la manteniendo actualizado Capacitor asegurará que su plugin permanezca útil y relevante.
Preste atención a los comentarios de los usuarios y realice actualizaciones según sea necesario. Este esfuerzo continuo ayuda a mantener la calidad general del ecosistema y mantiene su plugin valioso para los desarrolladores.
Siga adelante desde la Guía de Contribución de Capacitor Plugin
Si está utilizando la Guía de Contribución de Capacitor Plugin para planificar el trabajo de plugin nativo, conecte con el Directorio de Capgo Plugin para el flujo de trabajo del producto en el Directorio de Capgo Plugin, los plugins de Capacitor por Capgo para los detalles de implementación en los plugins de Capacitor por Capgo, Agregar o actualizar plugins para los detalles de implementación en la sección de Agregar o Actualizar Plugins, Alternativas de Plugins de Ionic Enterprise para el flujo de trabajo del producto en Alternativas de Plugins de Ionic Enterprise, y Capgo Compilaciones Nativas para el flujo de trabajo del producto en Capgo Compilaciones Nativas.