본문 바로가기

MSP/Project P

구글의 안드로이드(Android)


사용자 삽입 이미지

드로이드
는 구글(Google)이 휴대전화 제조, 서비스, 칩 제조 등 전세계 34개 업체들과 ‘개방형 휴대전화연맹(OHA-Open Handset Alliance)’을 맺고 리눅스 기반으로 개발한 휴대전화 운영체제(OS)를 포함한 소프트웨어 패키지이다.

구글은 리눅스와 자바 그리고 기타 오픈 소스 소프트웨어들을 선택하였으며 경쟁자들과의 차별화를 위해 채택한 FSF(Free Software Foundation)의 라이센스는 OHA 전략의 핵심으로 볼 수 있다.

안드로이드의 애플리캐이션 프레임 웍은 컴포넌트의 재사용과 교체 기능을 제공하고 WebKit 엔진을 사용한 통합 브라우저는 사용자 인터페이스를 담당하며 SQLite는 구조화된 데이터 스토리지를 제공한다.


기존의 심비안(Symbian), 마이크로소프트사의 윈도 모바일보다 개발 비용 절감 및 개발 기간 단축시킬 수 있는 리눅스기반 플랫폼에 관심이 모아지고 있다.

휴대폰 단말을 위한 리눅스 플랫폼 개발에 주도적인 구글의 안드로이드 이외에도 리모(LiMo), 모토맥스(MOTOMAGX),MaemoTM, ALP, LiPS(Linux Phone Standards), 인텔 센트리노 아톰이 있다.




사용자 삽입 이미지

모바일 운영체제의 포지션



Google Android Introduction (구글 공동창업자인 Sergey Brin )

OHA에는 국내 휴대폰 제조사인 삼성전자, LG전자도 포함되어 있으며, 그 밖에 모토롤라, HTC 등 과 이동통신 서비스 업체인 스프린트, T-모바일,NTT 도코모, KDDI 등과 칩셋 제조업체인 퀄컴, 브로드컴, 인텔, 텍사스인스트루먼트 등의 기업이 참여하고 있다.
구글은 무선인터넷 접속을 편리하게 할 수 있는저가형 휴대전화의 제조를 목적으로 한 안드로이드의 SDK(Software Development Kit)와 동작 샘플, 그리고 ‘안드로돌로지(Androidology)’로 불리는 안드로이드 시스템 구조 및 안드로이드 내장 소프트웨어의 개발 구조를 2007년 11월 12일에 공개하였다.


사용자 삽입 이미지


안드로돌로지(Androidology)


 
Androidology - Google Android Structure



“Open Software, Open Device, Open Ecosystem” 이라는 목적 아래 운영 시스템, 미들웨어,사용자 인터페이스, 응용으로 구성되며 자유로운 형태의 개방형 라이선스도 함께 제공되는 것이 특징이다.
안드로이드에는 리눅스 2.6 기반으로 구현되었으며 자바 기반의 이메일, SMS, 일정관리, 지도, 브라우저 등의 응용 프로그램이 제공될 예정이다. 또한 자바 기반의 핵심 라이브러리와 다양한 컴포넌트에서 사용 가능한 C/C++ 라이브러리를 함께 제공하고 있어서 개발자를 위한 편의성을 지원하고 있다. 모든 안드로이드 응용들은 Dalvik 가상 머신(virtual machine)의 인스턴트로 동작하며 multipleVMs로 동작 가능하다. Dalvik 실행파일 형태(.dex)는 최소의 메모리를 사용하도록 최적화되어 있으며스레드와 low-level 메모리 관리는 리눅스 커널에 기반하고 있다.

MWC 2008(MobileWorld Congress: 2008.2.11.~14. 스페인 바로셀로나)에서 구글폰의 프로토타입을 공개하였다.


사용자 삽입 이미지

구글폰의 프로토타입


 


Google Android Apps SDK


                                                      응용                                                   

안드로이드 응용은 activity, intent receiver,service, content provider라는 4개의 블록을 필요에 따라 조합하여 구성할 수 있다.

Activity : 생명주기(life cycle)를 가진 오브젝트로 필요에 따라 사용자를 위한 UI를 포함할 수 있는 일종의 코드이다. 특히, 개발하는 응용에 접근하는 포인트로써 여러 응용 activities 중 하나를 지정할 수 있다.

Intent Receiver : intent는 사용자에게 무언가를하고 있는 듯이 보이기 위한 메시지 오브젝트이다. 예를 들어, 웹 페이지를 보고 싶을 때 intentinstance는 시스템에 전달하기 전에 URI를 찾고있는 듯 사용자에게 보여주고 해당 시스템에 웹페이지에 대한 요청을 보내게 된다. 또한, 관심있는 이벤트를 시스템에 보여주는 일종의 공지(notification) 메시지로 활용할 수도 있다.

Service : 백그라운드에서 실행되는 코드로서,필요에 따라서 자체 프로세스 또는 다른 응용 프로세스의 컨텍스에서 실행된다. 사용자에 의해 UI 창이 없어져도 여전히 음악이 실행되는 미디어플레이어를 그 예로 들 수 있다.

Content Providers : 장치(device)에 있는 데이터에 접근할 수 있도록 제공해주는 일종의 데이터 보관소로, 특정 응용은 content providers를 통해 미리 공개된 다른 응용에서 사용하는 데이터에 접근할 수 있으며, 사용자 스스로도 공개할데이터를 content providers를 통해 정의할 수있다.


                                                      보안                                                   

안드로이드는 보안을 고려하여 사용자 ID와 파일접근에 대한 접근제어 기능을 제공하고 있다. 그럼에도 불구하고 보안업체인 F-secure의 공식 블로그에서는 안드로이드가 완전 개방적 시스템으로 개발될 경우 악성코드의 잠재적 위험성이 높다고 지적한 바 있다.
개발의 편리성 및 유연성을 위한 개방형 시스템구조와 보안 위험성 간의 어쩔 수 없는 공존이 안드로이드가 해결해 나가야 할 숙제라 할 수 있다




                                                   개발 환경                                             
 
 Eclipse 3.2 이후 버전
 자바 개발 툴(Java Development Tools)
 Android SDK 플러그인
 자바(Java) 및 컴파일러(Javac) 1.5/1.6 
 아파치(Apache Ant)
 통합 개발 환경 및 파이선(Python) 2.2 이후 버전


[ Links ]

Android SDK 다운로드 : http://code.google.com/android/download.html
Android Developer 공식 불로그 : http://android-developers.blogspot.com/


[ 리눅스 기반이 아닌 모바일 운영체제 ]

사용자 삽입 이미지
심비안(Symbian) : 유럽의 주요 단말 제조업체인 노키아, 에릭슨, 파나소닉, 지멘스 등이 공동 투자하여 만든 모바일용 운영체제로서, ARM 프로세서를 기반으로 마이크로 커널 기반의 경량 운영체제 구조를 가지고 있다. 기본 언어로 C++를 사용하며, OPL, Python,J2ME 등의 언어도 지원한다.


사용자 삽입 이미지
윈도 모바일 (Windows Mobile) : Microsoft사의 Windows Mobile은 최근 6.0까지 발표되었으며, C, C++,C#을 지원하며 데스크톱에 탑재되는 Windows와 많은부분 동일한 API와 풍부한 라이브러리, UI를 제공하여개발자로 하여금 쉽고 빠른 개발 환경을 제공한다.


사용자 삽입 이미지

MS. Google. Apple 의 주가 상승률


                                                       전망                                                  
 


현재 단말 제조업체, 칩셋 제조업체, 서비스제공업체 모두 비용 절감과 개발 기간 단축이라는 큰 장점을 가진 리눅스 기반의 휴대단말에 관심을 가지고 있다.
유비쿼터스를 대표하는 키워드 "Mobile" 시장이 앞으로 IT 업계에서 커다란 영향력을 행사할 것이라고 본다. 미래의 거대 시장인 모바일 시장에서 리눅스와 자바를 내세워 승부수를 띄운 구글의 Android와 풍부한 라이브러리와 편리한 개발 환경으로 무장한 MS의 Windows Mobile 간의 한 판 승부에 귀추가 주목되고 있다. 

'MSP > Project P' 카테고리의 다른 글

[나만의 VS] Keynote VS PowerPoint  (1) 2009.03.07
개인화 미디어 포탈  (1) 2009.03.07
차세대 검색 [시멘틱 검색 기술]  (0) 2009.03.07
나는 MSP 2nd 이다!  (2) 2009.02.25
클라우드 컴퓨팅(Cloud Computing)  (0) 2009.01.26