본문 바로가기
@capacitor-plus/core 개발자 도구 오픈 소스

Capacitor+ Core Capacitor 플러그인

Capacitor+는 커뮤니티 PR이 병합되고 릴리스가 빠른, Capacitor의 자동 동기화 포크입니다

설치

bun add @capacitor-plus/core bunx cap sync
npm, pnpm 또는 yarn
  • npm install @capacitor-plus/core
  • pnpm add @capacitor-plus/core
  • yarn add @capacitor-plus/core

가이드

Capacitor에서 Capacitor+ Core 사용법

Capacitor+ (@capacitor-plus) 패키지 사용하기

Capacitor+는 자동화되어 항상 동기화되는 포크입니다 Capacitor 관리: Capgo. Capacitor 공식 패키지를 즉시 대체할 수 있으며, 다음과 같은 핵심적인 장점을 제공합니다: 커뮤니티 PR 및 버그 수정이 더 빠르게 반영됩니다.

Capacitor+가 존재하는 이유

Ionic 팀은 자체적인 우선순위와 릴리스 일정에 따라 Capacitor를 관리합니다. 이로 인해 버그 수정, 개선 사항, 신규 기능과 같은 커뮤니티 기여분이 병합되기까지 수개월 또는 수년이 걸릴 수 있으며, 아예 반영되지 못하는 경우도 있습니다.

Capacitor+는 다음과 같은 방식으로 이 문제를 해결합니다:

  1. Fork된 PR 병합 - 업스트림 대기열에 머물러 있는 가치 있는 PR들을 적극적으로 병합합니다
  2. 지속적인 동기화 - 업스트림 Capacitor의 모든 변경 사항을 자동으로 가져와 테스트하고 검증합니다
  3. 신속한 릴리스 - 변경 사항이 CI를 통과하면 npm의 다음 항목으로 자동 게시됩니다 @capacitor-plus 범위
  4. 커뮤니티 중심 - 여러분의 기여는 중요하며 우선적으로 반영됩니다
  5. 보안 검토 완료 - 모든 변경 사항은 AI를 통해 보안 취약점, breaking changes 및 안정성 리스크를 분석합니다

사용 가능한 패키지

패키지 설명
@capacitor-plus/core 코어 런타임 라이브러리
@capacitor-plus/cli CLI
@capacitor-plus/android Android 런타임
@capacitor-plus/ios iOS 런타임

설치

새 프로젝트

새 프로젝트라면 공식 패키지 대신 Capacitor+ 패키지를 사용하세요:

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

그 다음 프로젝트를 초기화합니다:

npx cap init
npx cap add android
npx cap add ios

공식 Capacitor에서 마이그레이션

기존 프로젝트를 공식 Capacitor에서 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

Capacitor+는 동일한 API를 사용하는 drop-in replacement이므로, code 변경이 필요 없습니다. import 문도 그대로 유지됩니다:

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

작동 원리

┌─────────────────────┐     ┌──────────────────┐     ┌──────────────────┐     ┌─────────────────┐
│  ionic-team/        │     │  CI/CD           │     │  Claude Code     │     │  npm publish    │
│  capacitor          │────▶│  Pipeline        │────▶│  Security Review │────▶│  @capacitor-plus│
│  (upstream)         │     │  (daily sync)    │     │  (AI analysis)   │     │  packages       │
└─────────────────────┘     └──────────────────┘     └──────────────────┘     └─────────────────┘
  1. 일일 동기화: GitHub Action이 다음에서 최신 변경 사항을 가져옵니다: ionic-team/capacitor
  2. PR 생성: 변경 사항이 다음으로 pull request가 제안됩니다: plus 브랜치
  3. CI 검증: 전체 테스트 스위트 실행 (lint, 유닛 테스트, iOS 빌드, Android 빌드)
  4. Claude Code 리뷰: AI 기반 종합 보안 분석 항목:
    • 보안 취약점 (injection, XSS 등)
    • Breaking API 변경 사항
    • 크래시 위험 및 안정성 이슈
    • 데이터 무결성 및 개인정보 보호 문제
    • 악성 code 패턴
  5. 자동 머지: CI 통과 및 Claude 승인 시에만 실행 (이슈 미감지 시)
  6. 자동 배포: npm에 새 버전이 다음 항목과 함께 게시되었습니다. @capacitor-plus/*

보안 검토

모든 업스트림 동기화 시 다음 항목을 분석합니다:

체크 항목 설명
보안 커맨드 인젝션, XSS, 경로 탐색, 하드코딩된 비밀 키 등
주요 변경 사항 삭제/이름 변경된 API, 시그니처 변경, 설정 형식 변경
안정성 널 역참조, 처리되지 않은 예외, 레이스 컨디션, 메모리 누수
데이터 안전성 데이터 손실 시나리오, 개인정보 침해, 보안에 취약한 저장소
Code 무결성 난독화된 code, 의심스러운 네트워크 호출, 백도어

문제가 감지되면 PR은 수동 검토 대상으로 플래그가 지정되며 자동 머지되지 않습니다.

PR을 머지하고 싶으신가요?

공식 Capacitor 레포지토리에서 PR이 멈춰 있나요? Capacitor+에 반영하는 방법은 다음과 같습니다:

  1. Issue 생성 플러그인의 Capacitor+ 레포지토리 업스트림 PR 링크 포함
  2. 또는 PR 직접 제출 로 plus 브랜치
  3. 팀이 검토 및 CI를 실행하며, 통과 시 머지합니다

이렇게 하면 업스트림 릴리스 주기를 기다리지 않고도 작업 결과물을 즉시 공유하고 활용할 수 있습니다.

장점

  • 정체된 PR 해결하기: 업스트림 반영을 기다리는 커뮤니티 수정 사항 및 기능이 머지됩니다
  • 최신 상태 유지: CI를 통과한 업스트림 수정 사항을 즉시 반영합니다
  • 보안 우선: 모든 변경 사항은 취약점 및 안정성 위험을 검토합니다
  • 검증된 릴리스: CI 테스트와 AI 보안 리뷰를 모두 통과한 변경 사항만 게시됩니다
  • 즉시 교체 가능한 대체제: Capacitor와 동일한 API를 사용하며, 패키지 스코프만 다릅니다
  • 여러분의 의견을 들려주세요: 직접 PR을 제출하거나 특정 upstream PR의 머지를 요청할 수 있습니다

예시: Plugins와 Capacitor+ 함께 사용하기

모든 공식 Capacitor 플러그인은 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();

Capgo 플러그인 또한 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' });

끝입니다! 이제 커뮤니티 개선 사항이 더 빠르게 반영된 Capacitor의 빠른 업데이트 버전을 사용할 수 있습니다. 공식 릴리스 주기를 기다릴 필요 없이 버그 수정과 새로운 기능을 앱에 바로 적용하세요.

Capacitor+ (@capacitor-plus) 패키지 사용하기 계속하기

사용 중이라면 Capacitor+ (@capacitor-plus) 패키지 사용하기 네이티브 플러그인 작업을 계획하려면, 이를 다음 항목과 연결하세요: Capacitor+ Capacitor+의 구현 세부 사항에 대해서는, Capgo 플러그인 디렉토리 Capgo Plugin Directory의 제품 워크플로우에 맞춰, Capgo의 Capacitor 플러그인 Capgo의 Capacitor 플러그인 구현 상세 내용에 대해서는, 플러그인 추가 또는 업데이트 플러그인 추가 또는 업데이트 구현 상세 내용에 대해서는, Ionic Enterprise 플러그인 대안 Ionic Enterprise 플러그인 대안의 제품 워크플로우에 대해서는.

자주 묻는 질문

Capacitor+ Core 플러그인 FAQ

Capacitor 앱에 Capacitor+ Core 플러그인을 어떻게 설치하나요?

"bun add @capacitor-plus/core"(또는 "npm install @capacitor-plus/core")를 실행한 다음 "bunx cap sync"를 실행해 iOS와 Android 프로젝트가 네이티브 code를 가져오도록 하세요. 앱 code에서 "@capacitor-plus/core"로 import 하면 됩니다.

@capacitor-plus/core는 React, Vue, Angular와 함께 사용할 수 있나요?

네. Capacitor+ Core는 Capacitor 패키지라서 Ionic, React, Vue, Angular, Svelte는 물론 일반 JavaScript까지 Capacitor 안에서 실행되는 모든 웹 프레임워크에서 동작합니다.

@capacitor-plus/core은 어떤 Capacitor 버전을 지원하나요?

Capgo 플러그인은 Capacitor의 메이저 버전을 따릅니다. 사용 중인 Capacitor 메이저 버전과 일치하는 플러그인 메이저 버전을 사용하세요 (예: Capacitor 8에는 플러그인 v8). 유지 관리되는 버전은 GitHub README의 호환성 표에서 확인할 수 있습니다.

@capacitor-plus/core는 무료이며 오픈 소스인가요?

네. code 소스 코드는 GitHub의 https://github.com/Cap-go/capacitor-plus/에 공개되어 있고, 패키지는 npm에서 무료로 설치할 수 있습니다. 버그 리포트와 pull request는 언제나 환영합니다.

App Store 심사 없이 Capacitor+ Core를 사용하는 code를 업데이트할 수 있나요?

플러그인을 설치하거나 업그레이드하면 네이티브 code가 변경되므로 새로운 스토어 빌드가 필요합니다. 그 이후에는 플러그인을 호출하는 JavaScript, HTML, CSS 변경 사항을 Capgo live updates로 즉시 배포할 수 있습니다.

앱 심사 대기 없이 Capacitor+ Core 변경 사항을 즉시 배포하세요

스토어 빌드에 플러그인이 포함되면, Capgo live updates로 JavaScript, HTML, CSS 변경 사항을 몇 분 만에 사용자에게 푸시할 수 있습니다.

Capgo로 시작하기