외부 세미나 나가계신 팀장님이 갑자기 Device API를 정리해서 보고하라고 하셔서..
급조해서 정리해봤습니다.
급조해서 정리해봤습니다.
HTML5 WorkGroup
- API에 대한 표준은 주로 Web Applications WG에서 개발하는 것으로 되어 있었으나, 개발해야할 스펙이 많아 디바이스의 자원을 접근하는 API 개발은 DAP(Device APIs and Policy WG) WG를 만들어 진행함.
- HTML5는 크게 마크업 표준과 API 표준으로 구성되어 있으며, W3C에서의 WG는 아래와 같습니다.
- HTML WG : HTML5 마크업 관련 표준 개발
- Web Application WG : 웹 애플리케이션 개발에 필요한 웹소켓, 웹워커, IndexedDB, FileAPI 등을 포함하여 HTML5와 관련된 주요 API 표준 개발
- Device APIs and Policy WG : 데스크탑, 랩탑, 모바일 인터넷 단말(MID), 핸드폰 등 다양한 기기의 웹 브라우저에서 일정, 업무, 연락처, 카메라, 메시지, 시스템 정보, 이벤트 등의 다양한 단말 기능을 사용할 수 있도록 하는 API 표준
- Geolocation WG : Geolocation API를 포함하여 가속센서, 방향센서 등 센서에 관련된 표준 개발
- Web Notification WG : 사용자에게 알려주기 위해 필요한 Notification과 관련된 API 표준으로, Notification과 관련하여 사용자 인터액션(Interaction) 관리에 필요한 이벤트에 대한 표준도 포함
- Web Performance WG : 웹 브라우저의 특징들과 API들에 대한 애플리케이션 성능 측정에 대한 표준 개발
- Web Event WG : 모든 디바이스의 멀티터치, 펜-테블릿 입력 등의 사용을 가능하게 하는 방법에 대한 표준 개발
- Web Real-Time Communications WG : 웹 브라우저에서 P2P(Peer to Peer) 오디오, 비디오 등 실시간 통신을 위한 클라이언트 API 표준 개발
Device API 개념
- Device API 표준은 웹 애플리케이션이 디바이스의 자원들 (GPS, 센서, 주소록, 일정, 카메라 제어, 배터리 정보, 갤러리, 파일 시스템 등)을 접근 가능하게 하는 API 표준

Device API 종류
-
Calendar : 디바이스의 일정 정보에 접근하기 위한 API
- Contact : 디바이스의 주소록 정보에 접근하기 위한API
- Media Capture : 디바이스 내 오디오, 이미지, 비디오 기능에 접근하기 위한 API
- Messaging : 디바이스의 SMS, MMS, email 기능에 접근하기 위한 API
- System Information : 디바이스의 기본적인 속성에 대한 API(배터리 용량, 네트워크 대역폭, CPU부하, 저장 용량, 입/출력 기기)
- Gallery : 디바이스 내에 있는 미디어 갤러리(media gallery)에 접근하는 API.
- Powerbox : 사용자 개인 리소스를 브라우저에서 요청하기 위한 웹 기반 전달 방식
- Application Launcher : 디바이스에 인스톨된 어플리케이션(Native Application)에 접근하기 위한 API
현재 진행상태
- http://www.w3.org/2009/dap/
- 대부분 분야에서 Public Working Draft 공표함, Contact는 Last Call 상태

브라우저의 지원여부
-
파이어 폭스는 곧 phone에서 HTML5 기본 기능을 위한 Device API를 제공할 예정
- 안드로이드 3.0 내장 브라우저가 Media Capture API를 지원하기 시작
- WebKit은 2011-05 부터 navigator.getUserMedia()를 지원하기 시작
- Opera Mobile은 2011-08 부터 navigator.getUserMedia()을 지원하기 시작했다
의견
-
아직까지 Standard된 Device API는 없지만, 많은 브라우저에서 (Working Draft를 기준으로?) Device API를 지원하거나 지원 계획을 가지고 있습니다.
- 현재의 Hybrid App에서는 자체적으로 Device API를 정의하여 사용하고 Javascript로 API를 호출하여 사용하고 있습니다.
- Device API를 사용하면 WEB App이 Native App 수준으로 올라갈 것이므로 지속적인 관심으로 추이를 지켜봐야합니다.
출처




어쩜 이렇게 정리를 잘하세요
정리를 잘하는 편은 아닌데.. 암튼 감사합니다.
최근 정보가 아니므로 다른 곳의 정보들도 확인해 보시는게 좋을듯합니다. ^^
수고하십니다. ^^ 그럼 궁금한게 있는데 표준화 과정중에 있다면 지금은 device api를 이용한 개발은 불가능한건지 알고 싶습니다.
죄송합니다. 제가 웹 개발자가 아니기 때문에 표준화 과정을 꾸준히 지켜보고 있지는 않습니다. 해당 work group의 최신 자료를 참고하시기 바랍니다.