HTML5 Device API


외부 세미나 나가계신 팀장님이 갑자기 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

현재 진행상태

사용자 삽입 이미지

브라우저의 지원여부

  • 파이어 폭스는 곧 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 수준으로 올라갈 것이므로 지속적인 관심으로 추이를 지켜봐야합니다.

출처

사용자 삽입 이미지
우와아아아아아악~

 

 

광고

4개의 댓글

    • 정리를 잘하는 편은 아닌데.. 암튼 감사합니다.
      최근 정보가 아니므로 다른 곳의 정보들도 확인해 보시는게 좋을듯합니다. ^^

    • 죄송합니다. 제가 웹 개발자가 아니기 때문에 표준화 과정을 꾸준히 지켜보고 있지는 않습니다. 해당 work group의 최신 자료를 참고하시기 바랍니다.

댓글 남기기