JavaScript Browser APIs란?
JavaScript Browser APIs는 웹 브라우저가 제공하는 프로그래밍 인터페이스로, JavaScript를 통해 브라우저 기능과 하드웨어(카메라, GPS 등)를 제어할 수 있게 합니다.
웹 페이지가 정적인 콘텐츠를 넘어 동적이고 인터랙티브한 경험을 제공할 수 있는 핵심 기술입니다.
📌 주요 Browser APIs 분류
- DOM 조작
document.getElementById(),element.addEventListener()
→ HTML/CSS를 동적으로 수정.
- 통신
fetch(),XMLHttpRequest
→ 서버와 데이터 비동기 통신.
- 저장소
localStorage,IndexedDB
→ 클라이언트 측 데이터 저장.
- 디바이스 접근
navigator.geolocation,MediaDevices.getUserMedia()
→ GPS, 카메라, 마이크 사용.
- 그래픽/애니메이션
Canvas API,WebGL
→ 복잡한 시각적 요소 생성.
- 성능 최적화
Intersection Observer API,requestAnimationFrame()
→ 렌더링 성능 개선.
🌐 핵심 API 예시
1. Geolocation API
navigator.geolocation.getCurrentPosition((position) => {
console.log("위도:", position.coords.latitude);
console.log("경도:", position.coords.longitude);
});
→ 사용자 위치 추적 (지도 앱에 활용).
2. Web Storage API
localStorage.setItem("theme", "dark"); // 저장
const theme = localStorage.getItem("theme"); // 읽기
→ 브라우저에 간단한 데이터 영구 저장.
3. Fetch API
fetch("https://api.example.com/data")
.then(response => response.json())
.then(data => console.log(data));
→ 서버에서 JSON 데이터 비동기 로드.
💡 Browser APIs의 특징
- 브라우저 종속성: Chrome, Firefox마다 지원 범위 다름 (예: IE는 최신 API 미지원).
- 보안 제약: 사용자 권한 필요 (예: 카메라 접근 시
allow팝업 표시). - 이벤트 기반: 대부분의 API는 콜백 또는 Promise 반환.
🚀 현실적 적용 사례
- 드래그 앤 드롭
Drag & Drop API로 파일 업로더 구현.
- 알림 기능
Notification API로 브라우저 알림 표시.
- 오프라인 앱
Service Worker API로 오프라인 캐싱.
🔍 웹 API vs JavaScript 코어
| 구분 | JavaScript (ECMAScript) | Browser APIs |
|---|---|---|
| 정의 | 언어 자체의 문법 (예: Array.map()) |
브라우저가 추가로 제공하는 기능 |
| 실행 환경 | 모든 JS 런타임 (Node.js 포함) | 브라우저 전용 |
| 예시 | Promise, async/await |
document.querySelector() |
✨ 결론
Browser APIs는 웹을 "앱 수준"으로 발전시키는 도구입니다.
최신 API들은 PWA(Progressive Web Apps), 웹 게임, AR/VR까지 가능하게 확장 중입니다!
TIP: MDN Web Docs에서 API 호환성과 사용법을 꼭 확인하세요.
'프로그래머로의 여정' 카테고리의 다른 글
| git log 화면의 index 의 의미 (1) | 2025.08.09 |
|---|---|
| "A가 (B 안에) 있다" 독일어 표현 (0) | 2025.08.08 |
| 소프트웨어 개발 과정에서 툴체인(Toolchain)이란? (2) | 2025.08.07 |
| OpenAI API에서의 choices (0) | 2025.08.07 |
| 자바스크립트에서 Promise란 (2) | 2025.08.05 |