본문 바로가기

Develop/Android

안드로이드 특징


[안드로이드 특징]
 
- 운영체제의 핵심이라고 할 수 있는 커널은 공개 운영체제인 리눅스에 기반 한다. 즉, 정교한 메모리 관리, 안정적인 멀티 스레드, 보안 등의 고급 기능을 무료로 사용가능하다는 장점이 있다. 단, 모바일 환경에 어울리지 않는 크고 무거운 기능은 제거되었으며 알람, 디버거 등의 기능은 추가되었다. 리눅스를 모바일 환경에 맞게 개조한 것이다.
 
- 공식적으로 자바 언어를 사용한다. 고수준의 언어이므로 생산성이 높으며 하드웨어 추상 층을 제공하므로 전문 지식이 없어도 개발이 가능하다. 하지만 고급 언어이므로 성능이나 섬세함에서는 다소 불이익도 존재한다. C언어로 개발할 수 있는 NDK도 있지만 아직 일반적이지 않다.
 
- 검증된 많은 라이브러리들을 대거 포함하고 있어 웬만한 기능은 별도의 외부 라이브러리를 사용할 필요가 없다. 자바가 언어 차원에서 제공하는 라이브러리들 외에도 OpenGL(2D,3D 그래픽 -> 증감현실 구현), SQLite(모바일 DB), FreeType(C 언어로 작성된 소프트웨어 라이브러리이며 글꼴 래스터라이제이션 엔진을 제공) 등의 써드파티 라이브러리들까지 내장되어 있다. 오픈 소스 중에 쓸 만한 것들을 모두 집대성해 놓은 셈이다.
 
- 플랫폼에 내장된 빌트인 프로그램과 사용자가 만든 프로그램이 동일한 API를 사용하므로 모든 프로그램은 평등하다. 원한다면 기본 제공되는 프로그램들을 사용자가 원하는 것으로 언제든지 교체할 수 있다. 플랫폼을 구성하는 요소들을 자유롭게 선택할 수 있다는 면에서 유연성이 뛰어나다.
 
- 개방된 환경인만큼 개발툴과 관련 문서들이 모두 무료로 제공된다. 심지어 운영체제의 핵심 소스들까지도 대부분 공개되어 있다. 별도의 라이센스 비용이 들지 않으므로 단말기 가격이 저렴해지는 효과가 있으며 대중화에 유리해서 소프트웨어 수요도 많다.
 
 
 
-출처: 안드로이드 프로그래밍 정복

'Develop > Android' 카테고리의 다른 글

eclipse - failed to create the java virtual machine 에러  (0) 2013.04.15
Invalid file name: must contain only [a-z0-9_.]  (0) 2013.04.12
SQLite3 error  (0) 2011.12.14
SQLite3 error  (0) 2011.12.12
안드로이드 구조  (0) 2011.11.22