Your SlideShare is downloading. ×
The Evolution of Mobile Platform The Evolution of Mobile ...
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

The Evolution of Mobile Platform The Evolution of Mobile ...

5,171
views

Published on


1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total Views
5,171
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
70
Comments
1
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. The Evolution of Mobile Platform and Google Android NIPA 공개/지역SW 팀 박성호 수석연구원
  • 2. ◈ Contents • Overview • Mobile Platform Evolution – Past Platform – Current Platform – Near Future Platform • Android Basic – A d id Overview Android O i – Android Architecture – Android Application pp • Android Commercialization – Android Opportunity – Android Adoption Challenge 2 / 20
  • 3. ◈ Overview (I) • What is Mobile Platform ? – 단말의 하드웨어 기능을 상위 계층에서 사용할 수 있도록 하여주고, 상위 응용 계층의 프로그램을 실행하기 위한 환경을 제공함 • What is difference ? Application Application Application Platform Platform OS OS OS H/W H/W H/W Vanilla Phone Feature Phone Smart Phone 3 / 20
  • 4. ◈ Overview (II) Mobile Platform 필요성 필 성 • Fast application development – Many sophisticated applications are needed – Easy to use application library interface – Application Development in PC environment • One source multi use – Use same source for different model (Time to develop/market) • S/W reliability – Depends on platform reliability 4 / 20
  • 5. ◈ Mobile Platform Evolution (I) • Past Platform – OS Wrapper (OS system call Platform API) – Runtime Environment (for only download application) WIPI Architecture J2ME Architecture 5 / 20
  • 6. ◈ Mobile Platform Evolution (II) • Current Platform – The past + [Event Handling, Memory Management, File System DB ] Handling Management System, DB…] – UI Framework + Widget – Toolkit (Emulator, Debugging Tool, Air Message Tracer, Documentation….) BREW Architecture LiMo Architecture 6 / 20
  • 7. ◈ Mobile Platform Evolution (III) • Near Future Platform – Current platform functionality + Multimedia Enhancement (OpenGL/ES) p y ( p / ) – Openness (Open Platform, Open Application, Open Service…) – Web Service optimized in Mobile iPhone Architecture Android Architecture 7 / 20
  • 8. ◈ Mobile Platform Evolution (IV) 8 / 20
  • 9. ◈ Android Overview (I) • What is Android ? – Android is the first free, open source, and fully customizable mobile plat form. Android offers a full stack: an operating system, middleware, and key mobile applications. It also contains a rich set of APIs that allows th ird-party developers to develop great applications • Where do we start ? – Platform developers can get reference source code (http://source.android.com/download ) – Application de e ope s ca use t e p e bu t SDK pp cat o developers can the pre-built S (http://developer.android.com ) – Device Manufacturers can benefit from the large pool of application (free & paid) available from Android Market (f id) il bl f A d id M k t (http://www.android.com/market ) 9 / 20
  • 10. ◈ Android Overview (II) • Android Feature – Open Platform ◦ 리눅스를 기반으로 하기때문에 다양한 H/W에 이식하거나 새로운 기능을 부여하기 쉽다 – Dalvik VM (Run Time Layer) (Run-Time ◦ 응용 프로그램 실행환경은 자바 가상머신 환경이며 자바언어로 개발된다 – WebKit Engine ◦ 구글의 다양한 인터넷 서비스를 직접 이용할 수 있는 API 를 가지고 있다 10 / 20
  • 11. ◈ Android Architecture (I) Java C C++ C Android Architecture A d id A hit t • Android Application은 Java 로 개발됨 – Install Java SE Development Kit – Install Eclipse for PHP Developer • Android SDK 다운로드 후 Eclipse 에 ADT (Android Development Tool) Plugin 11 / 20
  • 12. ◈ Android Architecture (II) • Applications – Android는 email client, SMS program, calendar, maps, browser, client program calendar maps browser contacts, 그 외 를 포함한 코어 어플리케이션. – 모든 프로그램은 자바로 작성됨. • Application Framework – 개발자는 모든 API를 코어 어플리케이션과 같은 사용방법으로 사용 이 가능 – 간단한 재사용 컴포넌트, 어떤 어플리케이션과도 호환 가능한 호환 성, 컴포넌트를 교환 가능한 매커니즘. 12 / 20
  • 13. ◈ Android Architecture (III) • Libraries – Android System의 다양한 컴포넌트를 사용하는 C/C++ 라이브러리 – Application Framework를 통해 개발자에게 노출됨 • Android Runtime – 코어 라이브러리는 자바 프로그래밍 언어의 코어 라이브러리의 대부분의 기능을 제공 – 안드로이드 어플리케이션은 자기의 프로세스와 그 자신의 Dalvik VM의 인스턴스를 가 짐 – Dalvik VM 실행 파일은 최소한의 메모리에 최적화된 DEX(Dalvik EXecute) 포맷 – Java 언어로 개발된 클래스를 DX툴을 이용하여 DEX파일로 변환 가능 • Dalvik VM – 임베디드 환경에 최적화된 VM (Memory Management, Garbage Collection 등) – Linux Kernel의 기초적 함수에 의지 – Android는 개발환경 및 배포까지 JVM을 이용하지만 구동에는 Dalvik VM을 사용함으 로써 Sun의 라이센스 문제를 피함 13 / 20
  • 14. ◈ Android Application (I) • Kinds of Android Application – Managed Application g pp ◦ 가장 기본적이고 주요한 Dalvik VM 에서 동작하는 순수 자바로만 개발하는 것을 말한다 – Native Application pp ◦ Native 방식은 Dalvik Application으로 실행은 하고 VM 내에서 C/C++ 로 구성 된 동적라이브러리를 Load 하여 JNI (Java Native Interface) 형태로 함수를 호출하는 방식을 말한다. 이러한 방식의 가장 큰 장점은 성능(속도) 개선이 다 CPU 의 다. 의존도가 높은 계산 가 계산프로그램등은 자바언어보다 C 언어가 유리하며 램등은 유리하며, 반응속도가 중요한 입력창의 검색부분이나 하드웨어를 직접 다루는 경우에 는 Native Application 으로 구현하는 것이 유리하다 – Ajax Application ◦ Ajax 방식은 Android Application 이라기 보다는 웹서버에 JavaScript 와 Ajax 등으로 웹페이지를 구성하고 Android Browser를 통해서 수행하는 방식이다. 그러나 Dalvik Application 에 비해 굉장히 느리기 때문에 UI 속도가 중요하지 않고 보다 범용적인 간단하게 만들수 있는 Application 에 적합하다 14 / 20
  • 15. ◈ Android Application (II) • The Structure of Android Application – Android Application 은 apk 라는 패키지 형태로 구성되어 있다 – apk 는 Dalvik이 실행할 수 있는 형태의 dex 파일과 각각의 리소스들을 가진 WbXML 각 컴포넌트들에 대한 기술이 있는 Manifest로 구성되며 WbXML, zip 압축을 통해 apk 파일로 생성되는 형태이다 15 / 20
  • 16. ◈ Android Application (III) • The Role of JNI in Native Application – 미디어 플레이어를 실행할 경우 리눅스커널의 오디오/비디오 드라이버는 Native Code (C언어 코드)인 라이브러리 Libmedia.so를 통해 접근하도록 설계된다. Libmedia.so 같은 코드는 원래 오픈소스로 제공되기보다는 Android 의 JNI 라 이브러리를 구성하기 위해 Java 인터페이스와 짝을 이루는 라이브러리로 설계된 것이다. 이러한 라이브러리는 Libmedia_jni.so와 연결되어 모든 Native 코드가 자바 함수들과 연결된다. 16 / 20
  • 17. ◈ Android Commercialization (I) • Android Opportunity – Android is Real – Sales of phones running the Android stack will grow at 900 percent rate (e WEEK) – Creative and quick adoption to multiple device types – Growing interest to use Android for other embedded devices - MIDs 17 / 20
  • 18. ◈ Android Commercialization (II) • Android Opportunity - OEMs with Android Framework – Product differentiation – Best use of organization resources – Integrated development platform – Reduced time to market 18 / 20
  • 19. ◈ Android Commercialization (III) Android Adoption Challenge !!! • Open Source Software Development – Community Schedule vs Your Product Schedule – Community Best Effort Support vs Product Deadlines – Limited testing or Test environment availability vs Product Quality needs • Commercializing Android – Making a commercial product with Android is estimated to be between 100 to 150 man months – Need to actively follow the Android community – Strong Linux kernel and firmware skills needed – G d understanding of A d id framework required Good d t di f Android f k i d – Well established development process and Test environment required to Va lidate implementation 19 / 20
  • 20. THANK YOU 20 / 20