모바일 애플리케이션 개발의 진화하는 세계에서, 프로그레시브 웹 애플리케이션 (PWA)의 부상은 새로운 플랫폼을 초과하는 런타임을 위한 길을 열었습니다. 이 런타임은 웹 기반 애플리케이션을 앱 스토어에 존재하도록 허용합니다. 이에 따라 native code에만 의존하지 않습니다. 이러한 기술 중 하나가 바로 CapacitorJS입니다. 이 기술은 Android, iOS 및 웹에서 단일 자바스크립트 코드베이스를 사용하여 단순한 웹사이트를 애플리케이션으로 배포할 수 있도록 합니다. 이 접근 방식은 개발 비용을 크게 줄이고 코드 작성 효율성을 크게 향상시킵니다.
이 안내서에서는 pure JavaScript를 사용하여 애플리케이션을 만들고 CapacitorJS를 사용하여 native 플러그인을 활용하는 방법에 대해 다룹니다. 2021년 pure JavaScript 앱 개발에 대한 리소스를 찾는 어려움에도 불구하고, 우리는 pure JavaScript 앱 개발에 대한 전반적인 가이드를 제공하기 위해 있습니다.
‣ 사전 요구 사항
시작하기 전에 다음 도구가 설치되어 있어야 합니다:
- Node.js (v14.16.1) 또는 그 이상
- NPM (v7.6.2) 또는 그 이상
- Android Studio Android 앱 개발을 위해
- Xcode iOS 앱 개발을 위해 (macOS 전용)
주의: iOS 앱 개발은 macOS 기기에서만 가능합니다.
‣ Capacitor 프로젝트 설정
Capacitor 애플리케이션을 만들려면, 원하는 폴더로 이동하여 터미널에서 다음 명령어를 실행하세요:
npm init @capacitor/app
설치 패키지와 프로젝트 설정을 위해 안내를 따라주세요. Capacitor v3에서는 프로젝트 디렉토리가 다음과 같이 보일 것입니다:
www/
css/
style.css
js/
capacitor-welcome.js
index.html
manifest.json
.gitignore
capacitor.config.json
package.json
README.md
초기 설정이 완료되면, 다음 단계로 진행할 준비가 되었습니다.
‣ 프로젝트 구조 변경
Vite를 사용하여 JavaScript 파일을 번들링하기 위해, 프로젝트 구조를 변경해 보겠습니다:
- 메인 디렉토리에 새로운 폴더를 생성하세요. 메인 디렉토리에 새로운 스크립트 파일을 생성하세요.
src‣ __CAPGO_KEEP_0__ 프로젝트 설정 - ‣ __CAPGO_KEEP_0__ 프로젝트 설정 ‣ __CAPGO_KEEP_0__ 프로젝트 설정
index.jsinsrc/. - Create Capgo의 Vite 설정 파일을
vite.config.jsmain 디렉토리에서 - Remove 파일
capacitor-welcome.jsYour new folder structure should resemble:www/js/.
‣ Pure JavaScript로 적응하기
src/
index.js
www/
css/
style.css
js/
index.html
manifest.json
.gitignore
capacitor.config.json
package.json
README.md
vite.config.js
Let’s modify some files to work with pure JavaScript:
www/index.html
script imports를 제거하세요
- Remove the script imports for 아이오닉 PWA 요소 __CAPGO_KEEP_0__
<script type="module" src="https://unpkg.com/@ionic/pwa-elements@latest/dist/ionicpwaelements/ionicpwaelements.esm.js"></script>
<script nomodule src="https://unpkg.com/@ionic/pwa-elements@latest/dist/ionicpwaelements/ionicpwaelements.js"></script>
-
앱을 PWA로 출시하지 않는 경우:
<capacitor-welcome>__CAPGO_KEEP_0__ -
HTML 요소를 <body>에서 삭제하세요.
capacitor.js__CAPGO_KEEP_0__js/main.js스크립트 임포트를 -
__CAPGO_KEEP_0__
js/capacitor-welcome.js에서index.html이것은 우리의 번들된 자바스크립트 파일입니다.
__CAPGO_KEEP_0__
import를 삭제하세요. 이제는 __CAPGO_KEEP_1__가 준비되었습니다. Vite__CAPGO_KEEP_0__ src/index.js 생성된 스크립트의 출력 위치를 지정하는 구성 파일이 필요합니다. 다음 구성은 파일 www/js/main.js:
import { defineConfig } from 'vite';
import path from 'node:path';
export default defineConfig({
build: {
outDir: path.resolve(__dirname, 'www'),
rollupOptions: {
input: './src/index.js',
output: {
format: 'es',
file: path.resolve(__dirname, 'www/js/main.js')
}
}
}
});
capacitor.config.json
__CAPGO_KEEP_0__.config.json capacitor.config.json 파일에서 "bundledWebRuntime": true 속성을 찾고 false으로 변경하세요. 이 조정은 Capacitor이 파일을 번들링하지 않도록 하여 Vite를 사용할 수 있도록 합니다.
Capacitor의 기본 설정이 완료되었으며, pure JavaScript로 앱을 개발하기 위해 개발을 시작할 준비가 되었습니다.
‣ 앱 개발
이제 groundwork가 준비되었습니다. 앱의 로직을 src/index.js 파일에서 작성할 수 있습니다. 여기서 필요한 Node.js 모듈을 import할 수 있으며, 앱의 기능을 정의하고 Capacitor의 네이티브 플러그인을 사용할 수 있습니다.
변경 사항이 있을 때마다 자바스크립트 파일을 번들링하기 위해 Vite의 빌드 명령어를 실행하십시오:
vite build
이 명령어는 main.js 파일을 생성합니다. www/js 디렉토리 내에, index.html 파일이 참조합니다.
‣ 테스트 및 디버깅
Capacitor은 다양한 플랫폼에서 애플리케이션을 테스트하는 편리한 방법을 제공합니다. 다음 명령어를 사용하여 각 플랫폼의 개발 환경에서 앱을 열 수 있습니다:
Android:
npx cap add android
npx cap open android
iOS (macOS 전용):
npx cap add ios
npx cap open ios
Web/PWA:
npx cap serve
이러한 명령어는 Android Studio, Xcode, 또는 웹 브라우저에서 애플리케이션을 실행하여 테스트 및 디버깅할 수 있도록 합니다.
‣ 결론
CapacitorJS를 사용하여 자바스크립트로만 개발하는 다중 플랫폼 앱을 개발하는 것은 단일 코드베이스로 여러 플랫폼에 앱을 만들기 위한 비용 효율적인 방법입니다. 이 안내서를 따르면 프로젝트를 설정하고 Vite를 위한 구조를 재정렬하고 개발을 위해 앱을 준비했습니다. 이 기초 위에서 강력하고 다양한 애플리케이션을 만들기 위해 잘 시작했습니다.
모든 플랫폼에서彻底 테스트하고 Capacitor의 네이티브 플러그인을 사용하여 앱의 기능성을 향상시키지 않으면 안됩니다. 행복한 코딩!
Developing Cross-Platform Apps with CapacitorJS: A Step-by-Step Guide에서 계속하세요.
CapacitorJS를 사용하는 경우 Developing Cross-Platform Apps with CapacitorJS: A Step-by-Step Guide 네이티브 플러그인 작업을 계획하고 연결하려면 __CAPGO_KEEP_0__ Plugin Directory와 연결하세요. Capgo Plugin Directory에서 제품 워크플로우를 위해 Capgo Plugin Directory Capgo Plugins by __CAPGO_KEEP_1__ Capacitor Plugins by Capgo의 구현 세부 정보 for the implementation detail in Capacitor Plugins by Capgo, Adding or Updating Plugins의 구현 세부 정보 __CAPGO_KEEP_0__ Ionic Enterprise Plugin Alternatives Ionic Enterprise Plugin Alternatives 제품 워크플로우를 위한 대안 Capgo 네이티브 빌드 Capgo 네이티브 빌드 제품 워크플로우를 위한 대안