모바일 디바이스 API는 각 플랫폼(Android, iOS) 별 구현환경 위에서 HTML, CSS, JavaScript 로 구성된웹 리소스를 통한 디바이스 하이브리드 어플리케이션 구현을 지원하며 플랫폼 별 SDK를 활용하여 구현된 웹 리소스 내의 JavaScript 형태의 Device API와 각 플랫폼 별 Native Code 가 하이브리드 프레임워크 및 웹 뷰 인터페이스를 통해 연동되어 실제 디바이스의 고유 기능을 호출할 수 있도록 지원한다.
모바일 디바이스 API는 Android, iOS 두 가지의 모바일 플랫폼을 지원한다.
Android | Linux kernel | 하드웨어 드라이버, 프로세스와 메모리 관리, 보안, 네트워크, 전력 관리 등의 핵심 서비스를 담당한다. |
---|---|---|
Libraries | MAndroid libc와 SSL 같은 다양한 C/C++ 코어 라이브러리로서 핸드폰에 사용되는 하드웨어를 지원하기 위해 컴파일되어 핸드폰 공급업체에 의해 핸드폰에 미리 설치된다. | |
Android Runtime | Core Libraries, Dalvik Virtual Machine으로 구성, 커널 위에 존재하며 Dalvik, VM, 코어 라이브러리 등이 포함된다. | |
Application Framework | Android Application을 만드는데 필요한 기능을 지원, App들을 관리하는 역할을 한다. | |
Application | 안드로이드 아키텍처 다이어그램의 최상위 계층, 안드로이드의 특징 중 하나로 모든 어플리케이션이 동일한 수준으로 실행된다. | |
iOS | Kernel | Mac OS X와 같은 Mach에 기초한다. |
Core OS와 Core Services 계층 | 기본적인 iOS의 인터페이스를 가지고 있다. 데이터 타입들, 봉주르 서비스, 네트워크 소켓 등이 있다. | |
Media 계층 |
2D/3D 그리고, 오디오, 비디오 등의 기반 기술을 가지고 있다. OpenGL ES, Quartz Core Audio와 Core Animation이 있다. |
|
Cocoa Touch 계층 | 모든 기술이 Objective-C를 기본으로 하며, 각종 프레임워크로 응용프로그램을 만들 때 가장 기본적인 인프라를 제공한다. |
Contacts | 디바이스의 연락처 데이터 베이스에 접근 (연락처 만들기, 검색 등) |
---|---|
GPS | 디바이스 GPS센서에 접근 (현재 위치 등) |
Accelerometer | 디바이스 모션 센서 접근 (현재 가속도 정보 등) |
Compass | 디바이스 포인팅 방향 정보 처리 |
Camera | 디바이스의 기본 카메라 어플리케이션에 접근 |
Vibrator | 영상 음성, 진동 등을 통한 알림 제공 (alert, confirm, beep, vibrate 등을 발생함) |
Media | 디바이스의 오디오 파일을 저장하고 기록할 수 있는 기능을 제공 |
File Read Write | 파일 시스템 계층의 읽기, 쓰기, 탐색 등의 기능 제공 |
Device | 디바이스 H/W S/W 정보에 접근 (디바이스명, 플랫폼 버전 등) |
Network | 디바이스의 네트워크 정보에 접근 |
PKI | NPKI 모듈과의 연계기능을 제공 |
Interface | 전자정부 표준프레임워크 웹 서버 어플리케이션 연계 기능 제공 |
서비스 그룹 | 서비스 | 오픈소스 | 확장 및 개발 |
---|---|---|---|
UX처리 | UI/UX 라이브러리 | jQuery Mobile | |
디바이스 API 실행환경 | Mobile Hybrid Framework | PhoneGap |