Open Platform Tizen and Web, 오픈 플랫폼 타이젠과 웹

Preview:

DESCRIPTION

FALinux 주최 "개발자가 알아야 하는 WebOS"에서 발표한 "오픈 플랫폼 타이젠과 웹" 발표 자료입니다. http://www.falinux.com/kr/seminar

Citation preview

서주영 ( 삼성전자 )

김현중 (Lateral)

오픈 플랫폼 타이젠과 웹

2

발표자 (1)

• 서주영– 삼성전자 SW 센터– 타이젠 코어프레임워크 유아이 프레임워크 개발– Enlightenment/EFL 오픈소스 커미터– juyung.seo@samsung.com

3

발표자 (2)

• 김현중– LateralSV – 타이젠 웹유아이

프레임워크 개발 참여– Microsoft MVP

2009-2011– raykim@lateralsv.com

4

목차1. 타이젠 플랫폼 소개2. 타이젠 웹 프레임워크3. 타이젠 웹 애플리케이션 개발4. 데모5. 질의 응답

5

시작하기 전에• 발표 자료 요약

– http://hellotizen.org/falinux/• 질문하세요 ~

6

궁금합니다

1. 타이젠 플랫폼 소개

7

8

타이젠은• 리눅스 기반 오픈소스 플랫폼• 리눅스 재단 산하 프로젝트• 2.2.1 버전까지 배포

9

모습 (1)

• 테스트 폰– RD-210– RD-PQ

10

모습 (2)

• 에뮬레이터

11

모습 (3)

• 카메라– NX300M

타이젠 아키텍처

Base/IO/Text/Locales

Graphics/UINet/Telephony/Messaging

UixLocationsSocial/Content Web/XmlMedia

App/Security/System Services

W3C/HTML5 Device APIs

Web Runtime

Video Touch

CSS3 WebGL

Worker

BT Call

LBS NFC

Msg… …

애플리케이션

웹 프레임워크

커널

코어 프레임워크

네이티브 프레임워크

ApplicationFramework

Graphics & UI Multimedia Web Messaging Location

Security System Base Connectivity Telephony PIM

Linux Kernel & device drivers

웹 애플리케이션 네이티브 애플리케이션

Public API

코어 애플리케이션

12

13

역사 (1)

• 전신– 리모 (LiMo) : 리눅스 기반 모바일 플랫폼 ,

삼성리눅스플랫폼 (SLP)

• 타이젠– 2011 년 9 월 : 인텔 합류와 함께 타이젠 명칭

14

역사 (2)

• 타이젠– 2012 년 4 월 : 1.0 배포 (Larkspur)

• 웹 애플리케이션 개발 지원– 2013 년 2 월 : 2.0 배포 (Magnolia)

• 네이티브 애플리케이션 개발 지원– 2013 년 11 월 : 2.2.1 배포

15

특징 - 크로스 카테고리 (1)

• 스마트폰 , 넷북 , 태블릿 , 자동차 인포테인먼트 , TV 등 다양한 기기에 탑재 가능– 한 소프트웨어가 다양한 기기에서 동작– 다양한 기기가 손쉽게 연결

16

특징 - 크로스 카테고리 (2)

TV

모바일

IVI

프린터

PC

카메라

세탁기

17

특징 – 다양한 종류 애플리케이션

• HTML5 기반 웹 애플리케이션• C++ 기반 네이티브 애플리케이션• 하이브리드 애플리케이션• 코어 애플리케이션

18

특징 – 높은 HTML5 호환성• HTML5 호환성 테스트 결과

– html5test.com

19

특징 – 개방형 (1)

• 누구나 개발에 참여 가능• 제조사가 구미에 맞춰 수정 가능

20

특징 – 개방형 (2)

• 소스코드 공개• Git : http://review.tizen.org/git/• Gerrit : http://review.tizen.org/gerrit

21

특징 – 개방형 (3)

• 메일링 리스트– http://www.tizen.org/community/mailing-lists

22

특징 – 개방형 (3)

• 메일링 리스트

23

특징 – 개방형 (4)

• IRC– irc.freenode.net/6667, #tizen

24

특징 – 개방형 (5)

• 포럼– https://developer.tizen.org/forums

25

특징 – 개방형 (6)

• 위키– http://wiki.tizen.org/

26

특징 – 개방형 (7)

• Jira– http://bugs.tizen.org

27

특징 - 기타• WebGL• 크로스 아키텍처 – arm, i586, …• 라이선스• 보안 - SMACK• 확장성 (Scalability)• 등등

28

오픈 소스 (1)• 타이젠이 사용하는 수많은 오픈소스

– X Windows, Cairo, EFL for UI & Graphics– Gstreamer, PulseAudio, OpenAL for Multimedia– Connman, Bluez, libsoup, wpa_supplicant for Connectivity– WebKit2 for Web– SMACK & OpenSSL for Security– Dbus, glibc for Base– Sqlite for Database & PIM– Linux for OS Kernel– Eclipse for Tizen SDK– QEMU, U-Boot for Target Emulator– GCC, llvm, cmake, gbs for build– 기타 등등

29

오픈 소스 (2)

• 타이젠에서 수정한 패치가 해당 오픈소스에도 반영 됨– Linux, WebKit2, EFL, GStreamer, U-Boot, FFMPEG,

GTK+, WebCL, Cairo, Bluez, QEMU, GCC 등

30

오픈 소스 (3)

• 타이젠을 위해 신규 구현한 모듈을 오픈소스로 공개– app-core, app-service, slp-pkgmgr, WRT(Web

RunTime), system-server, sensor-fw, libslp-pm, msg-service, email-service, telephony-daemon, audio-session-manager, contacts-service, slp-calendar, accounts-svc, sync-fw, cert-svc, secure-storage, nfc-manager 등

31

조직 (1)

• 타이젠 기술 운영 그룹– Technical Steering Group– 타이젠 오픈소스 의사 결정 및 커뮤니티 운영 ,

타이젠 플랫폼 배포 담당

32

조직 (2)

• 타이젠 협회– Tizen Association– 삼성 , 인텔 , 화웨이 , 도코모 , 소프트뱅크 등 다양한

제조사 및 통신사로 구성– 타이젠 상품화 주도– 요구 사항 수집 , 서비스 모델 정립 , 마케팅 및 교육 등

담당

33

컨퍼런스 (1)

• 타이젠 개발자 컨퍼런스– 1 회 - 2012 년 5 월– 2 회 – 2013 년 5 월– 미국 캘리포니아주 샌프란시스코

34

컨퍼런스 (2)

• 타이젠 개발자 서밋 코리아– 2013 년 11 월

35

타이젠 앱 개발 대회• 2013 년 7 월 ~ 12 월

– 총 상금 404 만 달러 ( 약 46 억원 )– HTML5 앱의 경우 상위 10 위 앱에 별도로 5 만

달러 지급

2. 타이젠 웹 프레임워크

36

• One source -> Multi platform, multi device

왜 웹 애플리케이션을 제작하는가 ?

Other Platforms

TV

Phone / PC

38

웹 애플리케이션 개발

Webview

ContainerHTML, CSS

DEVICE

Javascript

Native

39

웹애플리케이션 제작 망설이는 이유 ?

• 성능• 디바이스 제어

40

타이젠 웹 애플리케이션 아키텍처

Webkit Device API

Tizen Framework / Kernel

Web Runtime

WebApplication

Tizen Web UI Framewok

41

타이젠 디바이스 API

• 자바스크립트 기반의 디바이스 제어 API• 애플리케이션의 라이프 사이클 , 스케쥴 ,

데이터 싱크 , NFC 등 기존 네이티브 API 와 동등한 수준의 API 를 제공

42

타이젠 디바이스 API

• Category!- Tizen common- Application- Communication- Content- Input/Output- Social- System- User Interface

43

타이젠 디바이스 API - Social

• Bookmark- List, Add, Remove

• Calendar• Call History• Contact• Data Synchronization

- OMA DS 1.2 Protocol

44

타이젠 디바이스 API - 샘플• Content – DownloadRequest

var downloadRequest = new tizen.DownloadRequest( "http://download.tizen.org/tools/README.txt", "documents");

downloadId = tizen.download.start(downloadRequest, listener);

45

타이젠 디바이스 API - MessagePort

• INPUT/ OUTPUT - MessagePort

• 다른 애플리케이션과 통신을 가능케 함• 네이티브 서비스 애플리케이션과 통신할 때

주로 사용

46

성능 ?

• 웹 애플리케이션 성능의 2 가지 병목

• 렌더링- Gecko, Trident, Presto, Webkit, Blink …

• 자바스크립트 - V8, Mozilla, JavascriptCore, Caraken …

47

타이젠 웹 애플리케이션 아키텍처

Webkit Device API

Tizen Framework / Kernel

Web Runtime

WebApplication

Tizen Web UI Framewok

48

웹 런타임 ?

• 웹 애플리케이션을 담고 있는 컨테이너• 웹 애플리케이션을 스탠드얼론으로 설치 ,

구동할 수 있도록 하는 엔진• 웹 애플리케이션을 조금 더 최적화된 형태로

구동할 수 있음

49

웹 런타임• 애플리케이션 관리

- Profile, Life cycle…• API 서포트 - W3C, Device • 보안 , 프라이버시 - Profile, Source code…

3. 타이젠 웹 애플리케이션 개발

50

51

타이젠 웹 애플리케이션 아키텍처

Webkit Device API

Tizen Framework / Kernel

WebApplication

Tizen Web UI Framewok

Web Runtime

타이젠 웹 유아이 프레임워크• 제이쿼리 모바일 기반• 타이젠 UX & 애니메이션• Globalization• 웹 유아이 프레임워크 아키텍쳐

jQuery & jQueryMobile

Tizen Web Theme

Tizen Web Winsets

UTIL

타이젠 웹 유아이 프레임워크• 페이지 레이아웃 , 페이지 단위 라이프사이클

- Header , Content ,Footer

타이젠 웹 유아이 프레임워크• 다양한 위젯 제공

- Autodividers, Button, Checkbox, Popup…

• 기타- 하드웨어 키 제어 , 뷰 모드 관리 , etc…

+) 타이젠 웹 시뮬레이터

+) 타이젠 웹 시뮬레이터

4. 데모

57

58

데모• 타이젠 IDE 이용• 웹 애플리케이션 샘플 제작• 에뮬레이터 , 테스트폰에서 실행

5. 질의 응답

59

60

질의 응답• 무엇이든 물어보세요 .• 대답할 수 있는 것만 답변해드립니다 ^_^

61

웹사이트 및 문서• http://www.tizen.org• http://developer.tizen.org/sdk• http://source.tizen.org/• https://developer.tizen.org/documentation• https://www.tizenassociation.org

Recommended