메인 콘텐츠로 건너뛰기

Capacitor 플러그인 기여 가이드

Capacitor 플러그인에 대한 효과적인 기여 방법을 알려주는 설정, 코딩 표준, 테스트, 문서화에 대한 포괄적인 가이드.

마틴 도나디유

마틴 도나디유

__CAPGO_KEEP_0__

Capacitor 플러그인 기여 가이드

Capacitor 웹 기술과 네이티브 디바이스 기능을 연결하는 플러그인은 멀티 플랫폼 앱 개발을 가능하게 해줍니다.. 이 가이드는 다음과 같은 것을 도와줍니다.

  • 환경 설정: Node.js와 같은 Xcode, , Android Studio, 그리고 __CAPGO_KEEP_0__ are essential.
  • Code 표준을 따라야 합니다.: 사용 TypeScript, Swift, 그리고 Kotlin 명확한 이름 규칙과 오류 처리를 사용하여.
  • 테스트를 철저히 하세요: JavaScript, iOS, Android를 위한 단위 테스트를 작성하여 신뢰성을 보장하세요.
  • 명확하게 문서화 하세요: JSDoc 및 README 파일을 사용하여 쉽게 수용할 수 있도록 하세요.
  • Pull Request 제출: 높은 품질의 code을 보장하기 위해 테스트 및 문서화가 필요합니다.

오픈 소스에 대한 완전한 가이드 - 기여 방법

개발 환경 설정

적절한 개발 환경을 구축하는 것은 플러그인 개발의 효율성을 위한 것입니다. 잘 준비된 설정은 플러그인 개발, 테스트 및 배포를 위한 smooth한 코딩을 허용합니다.

필요한 도구 및 기술

시작하기 전에 다음 도구가 설치되어 있는지 확인하세요.

분류요구 사항
핵심 도구Node.js (LTS), npm 6+, Git
IDE/EditorsVisual Studio Code 또는 사용자 선호하는 편집기
iOS 개발Xcode, SwiftLint, CocoaPods
Android 개발Android Studio, Android SDK, JDK

iOS 및 Android 개발을 위해 TypeScript, Swift, Java, 또는 Kotlin에 익숙해야 함 [1][2].

설치하기

The Capacitor 플러그인 커뮤니티 표준에 맞춰서 일관성을 유지하기 위해 모노레포 구조를 사용합니다.

  1. __CAPGO_KEEP_0__ 플러그인 저장소에 Fork하고 Clone하세요.
    GitHub에서 Capacitor 플러그인 저장소를 Fork한 후, Fork한 저장소를 Clone하세요.

    git clone https://github.com/your-username/capacitor-plugins.git
    cd capacitor-plugins
    npm install
  2. 설치 및 빌드
    __CAPGO_KEEP_0__ 플러그인에 필요한 모든 것을 설치하고 플러그인을 빌드하려면 다음 명령어를 실행하세요.

    npm run build
  3. 버전 관리 설정
    변경 사항을 feature branch로 관리하고 upstream 저장소와 Fork된 저장소를 동기화하세요.

네이티브 플랫폼 준비

크로스 플랫폼 개발을 위해 iOS와 Android 환경을 구성해야 합니다.

iOS:

  • Mac App Store에서 Xcode를 다운로드하세요.

  • 설치 명령줄 도구를 사용하세요:

    xcode-select --install
  • CocoaPods를 다음 명령어로 설치하세요:

    sudo gem install cocoapods
  • Apple Developer 계정과 필요한 인증서를 설정하세요.

  • SwiftLint (선택 사항)을 사용하여 code 품질을 유지하세요.

Android:

  • Android Studio와 최신 SDK 및 가상 장치를 설치하세요.
  • JDK가 설치되어 있는지 확인하세요.
  • Android SDK을 Android Studio 내에서 올바르게 구성하세요.

이러한 플랫폼을 설정한 후,established coding practices를 따르고 플러그인 개발에 뛰어들 수 있습니다.

Code 표준 가이드

개발 환경을 설정한 후, 다음 지침을 따르세요. 쉽게 유지 관리하고 사용할 수 있는 플러그인을 빌드하세요.

스타일 가이드 준수

The Capacitor 플러그인 생태계 strict한 코딩 표준을 강제하는 도구들인 ESLint, Prettier

SwiftLint이하의 형식에 맞춰 작성해야 합니다.
ComponentdeviceInfo 형식
변수BatteryManager (camelCase) 형식으로 작성합니다. 클래스는 (PascalCase) 형식으로 작성합니다.
메서드getLanguageCode() (camelCase)
상수MAX_RETRY_COUNT (SNAKE_CASE)

플러그인은 TypeScript를 사용하여 더 나은 타입 안전성과 ES6+ 기능을 사용하여야 합니다. 예를 들어, Swift (iOS)와 Kotlin (Android)과 같은 플랫폼에 맞는 코딩 규칙을 따르세요. async/await에러 및 타입 관리

다양한 플랫폼 간에 호환성을 유지하기 위해 일관된 에러 처리가 중요합니다. 예를 들어:

타입 안전성을 위해:

async checkPermissions(): Promise<PermissionStatus> {
  try {
    const result = await this.implementation.checkPermissions();
    return result;
  } catch (error) {
    throw new Error(`Permission check failed: ${error.message}`);
  }
}

특정 사용 사례에 맞춰 설계된 집중된 인터페이스를 사용하세요.

  • 플랫폼에 맞는 변형을 위한 유니온 타입을 적용하세요.
  • __CAPGO_KEEP_0__ 문서

Code Documentation

좋은 문서는 플러그인을 사용하기 쉽고 접근하기 쉬운 것입니다. 다음의 방법을 따르세요:

  1. API 문서: JSDoc 주석을 작성하세요. 예를 들어: @capacitor/docgenREADME 구조
/**
 * @description Get the device's current battery level
 * @returns Promise with the battery level percentage
 */
async getBatteryLevel(): Promise<{ level: number }>;
  1. : 설치 방법, 설정 방법, 플랫폼에 대한 요구 사항, 사용 예제, __CAPGO_KEEP_0__에 대한 자세한 설명을 포함하세요.잘 작성된 문서는 플러그인을 쉽게 사용할 수 있게 해주고 더 넓은 API 커뮤니티에 기여합니다.

Well-written documentation ensures that your plugin is easy to adopt and contributes to the broader Capacitor community.

플러그인 테스트 가이드

__CAPGO_KEEP_0__ 플러그인을 테스트하는 것은 몇 가지 중요한 영역에 집중하여 smooth한 기능성과 신뢰성을 보장하는 것입니다.

Testing Capacitor plugins involves focusing on a few critical areas to ensure smooth functionality and reliability.

네이티브 브리지 테스트는 자바스크립트와 네이티브 __CAPGO_KEEP_0__ 간의 올바른 통신을 보장합니다. 시작하려면 각 플랫폼에 맞는 프레임워크를 사용하여 테스트 환경을 설정하세요.

code

이것은 자바스크립트 측의 예시입니다. Jest iOS의 경우 XCTest를, 안드로이드의 경우 JUnit을 사용하여 네이티브 측 테스트를 진행합니다. 아래는 안드로이드의 예시입니다.

// 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);
  });
});

브릿지 기능이 예상대로 작동하는 것을 확인한 후, 완전한 사용자 워크플로우를 테스트하는 단계로 진행합니다.

@Test
fun testBatteryLevel() {
    val plugin = DeviceInfo()
    val result = plugin.getBatteryLevel()
    assertTrue(result.level in 0..100)
}

플러그인 테스트

플러그인이 다양한 시나리오에서 잘 동작하도록 하기 위해, 다양한 카테고리를 테스트합니다.

테스트 카테고리

중요한 주목점인터그레이션 테스트
다양한 플랫폼에서 동작하는지 테스트합니다.성능 테스트
__CAPGO_KEEP_0__자원 사용량 및 응답 시간
보안 테스트데이터 처리 및 권한 검사

복잡한 기능을 가진 플러그인에 대해 실제 사용자 시나리오를 시뮬레이션하세요. 예를 들어, DeviceInfo 플러그인을 테스트하는 경우 다음을 확인하세요:

  • 다양한 네트워크 조건하에서 성공적인 업로드
  • 정확한 진행률 보고
  • 대용량 파일 전송 중 메모리 사용량

OTA 테스트와 Capgo

Capgo Live Update Dashboard 인터페이스

Capgo의 오픈 소스 도구는 업데이트를 빠르게 배포하고 테스트하는 것을 쉽게 만듭니다. 사용 방법은 다음과 같습니다:

  1. 설정 __CAPGO_KEEP_0__ 채널 개발, 스테이징, 및 운영 채널과 같은.
  2. CI/CD 도구를 사용하여 배포를 자동화합니다.
  3. 업데이트를 즉시 푸시합니다.
  4. __CAPGO_KEEP_0__ 대시보드를 통해 성능 및 문제를 모니터링합니다. Capgo dashboard.

For phased rollouts, Capgo allows you to limit updates to a small percentage of users. For instance, you can roll out a new version to 25% of users every 24 hours:

// Example configuration for staged rollout
{
  "plugin": "camera-plugin",
  "version": "1.2.0",
  "rollout": {
    "percentage": 25,
    "interval": "24h"
  }
}

Pull Request 프로세스

변경 사항을 철저히 테스트한 후 다음 단계를 따라서 Pull Request를 제출하세요.

PR 제출 확인 목록

제출하기 전에 다음 주요 영역을 다루었는지 확인하세요.

Pull Request 제출 확인 목록

분류체크해야 할 사항
Code 품질- Swift/Kotlin 구현이 웹 API과 일치하는지 확인합니다.
테스트- 새로운 기능에 대한 단위 테스트를 추가합니다.
- CI/CD pipeline이 성공적으로 확인되는지 확인합니다.
문서화- README, 인라인 문서, CHANGELOG를 필요에 따라 업데이트합니다.

커뮤니티 가이드라인

협력할 때 다음의最佳 관행을 따릅니다.

  • 리뷰어 피드백에 신속하게 반응합니다.
  • 기술적인 세부 사항에 초점을 맞추어 토론을 유지하십시오.
  • GitHub의 제안 기능을 사용하여 code 개선점을 제안하십시오.
  • 작은 크기의, 초점이 맞춰진 pull request를 제출하여 한 기능 또는 이슈당 한 번씩 처리하십시오.

큰 변경 사항이 있는 경우, 먼저 이슈를 생성하고 접근 방식을 논의하는 것이 좋습니다. Capacitor 팀은 GitHub Actions를 사용하여 자동화된 검사를 의존하고 있으며, 모든 검사가 통과해야만 pull request가 검토될 수 있습니다.

Capgo 통합 안내서

라이브 업데이트가 포함된 플러그인이 있는 경우, Capgo와의 완벽한 연동을 확인한 후에 제출하십시오:

  1. 버전 관리
    플러그인의 버전 관리를 명확한 의미의 버전 관리로 사용하고, 모든 변경 사항을 changelog에 문서화하십시오. Capgo의 시스템은 사용자 기기의 버전 채택을 추적하는 데 도움이 됩니다.

  2. CI/CD 통합
    Capgo를 CI/CD pipeline에 통합하여 업데이트 배포를 자동화하십시오.

  3. 업데이트 모니터링
    배포 성공률을 모니터링하고 앱 스토어 지침에 대한 준수를 확인하십시오.

Summary

Capacitor의 플러그인 개발을 위한 의미 있는 기여를 하기 위해서는, established 프로세스를 따르고 커뮤니티 표준을 충족하는 것이 중요합니다. 이것은 Capacitor의 코딩 가이드라인을 따르고, 철저히 테스트하는 것을 포함합니다.

PR 체크리스트는 높은 품질의 제출이 필요하다는 것을 강조합니다. 만약 플러그인이 실시간 업데이트를 지원한다면, Capgo (이전 설명에서 언급한 것과 같이)와의 통합을 통해 앱 스토어 승인 대기 없이 빠르게 업데이트를 릴리즈할 수 있습니다.

PR이 병합되면, 이슈를 추적하고 버전 업데이트를 릴리즈하는 등 커뮤니티와의 지속적인 상호작용, 일관된 유지보수, __CAPGO_KEEP_0__ 업데이트를 지속적으로 따라가는 것이 플러그인이 유용하고 관련성이 유지되는 것을 보장합니다. keeping up with Capacitor updates __CAPGO_KEEP_0__ 플러그인 기여 가이드에서 계속 진행하세요.

__CAPGO_KEEP_0__ 플러그인 기여 가이드를 사용하여 네이티브 플러그인 작업을 계획하고 있다면, 그것을 __CAPGO_KEEP_0__ 플러그인 디렉토리와 연결하세요.

Capacitor

__CAPGO_KEEP_0__ Capacitor __CAPGO_KEEP_0__ Capgo 제품 워크플로우에 대한 Capgo 플러그인 디렉토리에서 Capacitor 플러그인은 Capgo에 의해 구현 세부 사항에 대한 Capacitor 플러그인은 Capgo에 의해 플러그인 추가 또는 업데이트 구현 세부 사항에 대한 플러그인 추가 또는 업데이트 아이오닉 엔터프라이즈 플러그인 대체 제품 워크플로우에 대한 아이오닉 엔터프라이즈 플러그인 대체 Capgo 네이티브 빌드 제품 워크플로우에 대한 Capgo 네이티브 빌드

Capacitor 앱에 대한 실시간 업데이트

웹 레이어 버그가 활성화되면 Capgo을 통해修정을 배포하는 대신 앱 스토어 승인까지 며칠 기다리지 말고. 사용자는 배경에서 업데이트를 받으면서 네이티브 변경 사항은 일반적인 검토 경로에 남아있다.

Get Started Now

최신 블로그 게시물

Capgo은 전문적인 모바일 앱을 만들기 위해 필요한 최고의洞察력을 제공합니다.