독립적인 JavaScript 라이브러리
자세한 설치 및 파일 다운로드는 배포 및 설치 가이드를 참고하세요.
Native WebView용 - 13KB
네이티브 앱 내부에서 실행될 때 사용하는 경량 라이브러리
Web Browser용 - 50KB+
일반 웹 브라우저에서 실행될 때 사용하는 FCM 내장 라이브러리
TypeScript 타입 정의 - 5KB
완벽한 TypeScript 지원과 자동완성
배포 가이드에서 환경에 맞는 라이브러리를 설치하세요.
// ES6 / TypeScript
import { getBridge } from '@nativebridge/core';
const bridge = getBridge();
const bridge = new WebBridge({
debug: true, // 디버그 로그 출력
timeout: 10000, // 타임아웃 (밀리초)
retries: 3 // 재시도 횟수
});
// main.js 또는 App.vue
import WebBridge from './utils/web-bridge';
const bridge = new WebBridge({ debug: true });
// 전역으로 제공
app.provide('bridge', bridge);
// useBridge.js
import { useState } from 'react';
import WebBridge from './utils/web-bridge';
const bridge = new WebBridge({ debug: true });
export function useBridge() {
return bridge;
}
// bridge.service.ts
import { Injectable } from '@angular/core';
import { getBridge } from '@nativebridge/core';
@Injectable({ providedIn: 'root' })
export class BridgeService {
private bridge = getBridge();
async getLocation() {
return await this.bridge.getLocation();
}
}
라이브러리 파일들은 lib/ 폴더에 있습니다:
lib/
├── web-bridge.js # Native WebView용
├── native-bridge-fcm.js # Web Browser용
├── native-bridge.d.ts # TypeScript 타입
├── package.json # NPM 설정
├── README.md # 라이브러리 문서
└── examples/ # 예제 파일들
├── vanilla-js.html
├── vue3-cdn.html
├── react-cdn.html
├── angular-cdn.html
└── svelte-cdn.html
각 프레임워크별 완전한 예제가 제공됩니다:
전체 API 목록은 API 문서를 참고하세요.
주요 메서드:
getLocation() - GPS 위치takePhoto() - 사진 촬영showNotification() - 푸시 알림saveData() / loadData() - 스토리지getDeviceInfo() - 디바이스 정보vibrate() - 진동