tizen - a linux based open source platform (제 17회 한국 lug 소프트웨어 테크니컬...

54
- 리눅스 기반 오픈소스 플랫폼 - 서주영 (삼성전자)

Upload: daniel-juyung-seo

Post on 08-Jul-2015

550 views

Category:

Software


5 download

DESCRIPTION

Tizen - A Linux Based Open Source Platform 제 17회 한국 LUG 소프트웨어 테크니컬 세미나 http://onoffmix.com/event/34545

TRANSCRIPT

Page 1: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

- 리눅스 기반 오픈소스 플랫폼 -

서주영 (삼성전자)

Page 2: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

2

발표자 소개

• 서주영

• 삼성전자 SW센터 소속 • 책임 연구원

[email protected]

• 닉네임 • 천재태지, SeoZ

• @seojuyung

• 하는 일/한 일 • Tizen 코어 UIFW EFL 개발자 (2010/01 ~)

• Enlightenment/EFL 오픈소스 커미터 (2011/02 ~)

• TDC 2014, OSCON 2014 EFL의 Scalability 기술 발표

• SOSCON 2014 타이젠 EFL 앱 개발 발표

• 임베디드월드 Tizen 연재 (총 10회 중 8회), 마이크로소프트웨어 EFL 연재 (총 5회 중 2회)

Page 3: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

3

목차

• TIZEN

• 특징

• 애플리케이션 개발

• 플랫폼 개발

Page 4: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

TIZEN

Page 5: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

5

Tizen

• 리눅스 기반 오픈소스 플랫폼

• 리눅스 재단(Linux Foundation) 산하 프로젝트

• 삼성과 인텔 등 다양한 회사 및 개인 개발자 개발 참여

• 크로스 카테고리 플랫폼 • 스마트폰, 넷북, 태블릿, 자동차 인포테인먼트, TV, 카메라 등

• W3C/HTML5와 같은 다양한 표준 준수

• 웹 앱, C/C++ 기반의 네이티브(native) 앱 개발 지원

Page 6: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

6

Tizen

Page 7: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

7

다양한 플랫폼

Page 8: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

8

Tizen 기반 제품

• 카메라 NX300, NX300M, NX1

Page 9: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

9

Tizen 기반 제품

• 웨어러블 Gear 2, Gear 2 Neo, Gear S

Page 10: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

10

Tizen 기반 테스트 폰

• RD-210, RD-PQ

Page 11: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

11

Samsung Z

• 미출시

Page 12: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

12

Tizen 기반 SDK

• 모바일 • 2.2.1 SDK

• 웨어러블 • 1.0.0 SDK

• TV • 1.0 베타 SDK

• IVI • 3.0 알파 4 SDK

• 2.3 베타 SDK • 모바일과 웨어러블 통합

Page 13: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

13

역사

• 전신

• 리모(LiMo) : 리눅스 기반 모바일 플랫폼, 삼성리눅스플랫폼(SLP)

• 타이젠

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

Page 14: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

14

역사

2012 2013 2014

13.5 14.4Q

2.1

13.2

2.0

13.7

2.2 3.0 IVI

2015

1.0

모바일 웨어러블

14.11 15.?

TV, 카메라, 냉장고

플랫폼 배포

프로파일

3.0 Mobile/

TV/Wearable

2.3

13.11

2.2.1

12.4

Page 15: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

15

역사

• 2012년 4월 : 1.0 배포 (Larkspur)

– 웹 애플리케이션 개발 지원

• 2013년 2월 : 2.0 배포 (Magnolia)

– 네이티브 애플리케이션 개발 지원

• 2013년 11월 : 2.2.1 배포

Page 16: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

16

SDK

• Tizen 공식 웹사이트에서 다운로드

• https://developer.tizen.org/downloads/tizen-sdk?#2.2.1

• 지원 OS

• Ubuntu 12.04 ~

• Windows XP, 7

• MacOS 10.7, 10.8

Page 17: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

17

SDK

• 구성요소

• IDE

• Emulator

• Web Simulator

• Dynamic Analyzer

• Native UI Builder

• Native Effect Builder

• Tools

Page 18: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

특징

Page 19: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

19

타이젠 아키텍처 (2.2.1)

Base/IO/Text/Locales

Graphics/UI Net/Telephony/Messaging

Uix Locations Social/Content Web/Xml Media

App/Security/System Services

W3C/HTML5 Device APIs

Web Runtime

Video Touch

CSS3 WebGL

Worker

BT Call

LBS NFC

Msg … …

애플리케이션

웹 프레임워크

커널

코어 프레임워크

네이티브 프레임워크

Application Framework

Graphics & UI Multimedia Web Messaging Location

Security System Base Connectivity Telephony PIM

Linux Kernel & device drivers

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

Public API

코어 애플리케이션

Page 20: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

20

타이젠 아키텍처 (2.3)

W3C/HTML5 Device APIs

Web Runtime

Video Touch

CSS3 WebGL

Worker

BT Call

LBS NFC

Msg … …

웹 프레임워크

커널

네이티브 프레임워크

Application Framework

Graphics & UI Multimedia Web Messaging Location

Security System Base Connectivity Telephony PIM

Linux Kernel & device drivers

웹 애플리케이션

네이티브 애플리케이션

Page 21: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

21

크로스 카테고리

• 스마트폰, 넷북, 태블릿, 자동차 인포테인먼트, TV 등 다양한 기기에 탑재 가능

• 한 소프트웨어가 다양한 기기에서 동작

• 다양한 기기가 손쉽게 연결

Page 22: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

22

크로스 카테고리

TV

모바일

IVI

프린터

PC

카메라

세탁기

Page 23: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

23

다양한 프로파일 지원

• The OS of Everything

Page 24: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

24

다양한 종류 애플리케이션

• HTML5 기반 웹 애플리케이션

• C/C++ 기반 네이티브 애플리케이션

• 하이브리드 애플리케이션

Page 25: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

25

높은 HTML5 호환성 및 성능

• HTML5 호환성 테스트 결과

• html5test.com

• 부드러운 반응성

• 빠른 웹기반 3D 앱

WebGL 3D (HelloRacer.com)

Page 26: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

26

가볍고 우수한 성능

• 적은 메모리 사용

• 우수한 성능

• 적은 배터리 소모

• 빠른 부팅

• 빠른 애플리케이션 시작

Page 27: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

27

개방형

• 누구나 개발에 참여 가능

• 제조사가 구미에 맞춰 수정 가능

Page 28: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

28

한 SDK로 다양한 프로파일 개발

• 한 번 설치 후 다양한 Tizen 기기 개발 가능

• 다양한 운영체제 지원

Page 29: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

29

기타

• WebGL

• 크로스 아키텍처 – arm, i586, …

• 라이선스

• 보안 - SMACK

• 확장성(Scalability)

• 강력한 멀티태스킹

• 등등 Multi-Window

Page 30: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

애플리케이션 개발

Page 31: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

31

앱 개발 모델

• 구 네이티브 앱: C++

• 웹 앱: HTML5, CSS, JavaScript, jQuery

• 네이티브 앱: C, C++

모바일 기어 카메라

구 네이티브 O X X

웹 O O X

네이티브 O O O

Page 32: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

32

웹 애플리케이션

Other Platforms

TV

Phone / PC

• 한번 개발로 다양한 기기 및 플랫폼 지원

• 초기 진입 용이

• HTML5, CSS, JavaScript, jQuery, …

Page 33: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

33

웹 애플리케이션 아키텍처

Webkit Device API

Tizen Framework / Kernel

Web Runtime

WebApplication

Tizen Web UI Framewok

Page 34: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

34

디바이스 API

• 자바스크립트 기반의 디바이스 제어 API

• 애플리케이션의 라이프 사이클, 스케쥴, 데이터 싱크, NFC 등 기존 네이티브 API와 동등한 수준의 API를 제공

• Category

- Tizen common

- Application

- Communication

- Content

- Input/Output

- Social

- System

- User Interface

Page 35: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

35

웹 런타임?

• 웹 애플리케이션을 담고 있는 컨테이너

• 웹 애플리케이션을 스탠드얼론으로 설치, 구동할 수 있도록 하는 엔진

• 웹 애플리케이션을 조금 더 최적화된 형태로 구동할 수 있음

• 애플리케이션 관리

• Profile, Life cycle…

• API 서포트 • W3C, Device

• 보안, 프라이버시

• Profile, Source code…

Page 36: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

36

네이티브 프레임워크

• C/C++로 애플리케이션 개발

• 빠르고 가벼운 라이브러리

• 네이티브 API 및 EFL API로 구성

• 웹 및 구 네이티브 프레임워크의 기반

• NX300 및 기어2의 많은 앱이 EFL로 개발됨

Page 37: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

37

네이티브앱

Page 38: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

플랫폼 개발

Page 39: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

39

오픈 소스 (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

• 기타 등등

Page 40: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

40

오픈 소스 (2)

• 타이젠에서 수정한 패치가 해당 오픈소스에도 반영 됨

• Linux, WebKit2, EFL, GStreamer, U-Boot, FFMPEG, GTK+, WebCL, Cairo, Bluez, QEMU, GCC 등

Page 41: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

41

오픈 소스 (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 등

Page 42: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

42

오픈소스 개발 모델

Reviewers

Maintainers

[Integrators]

Architects

TSG

Developers TSG = Technical Steering Group

Page 43: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

43

웹사이트

• http://www.tizen.org – 메인 웹사이트

• http://developer.tizen.org – 애플리케이션 개발자 용

• http://source.tizen.org – 플랫폼 개발자 용

Page 44: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

44

소스코드

• 소스코드 공개

• Git : http://review.tizen.org/git/

• Gerrit : http://review.tizen.org/gerrit

Page 45: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

45

메일링 리스트

• http://www.tizen.org/community/mailing-lists

• dev 구독 추천

Page 46: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

46

메일링 리스트

Page 47: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

47

IRC

• irc.freenode.net/6667, #tizen

Page 48: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

48

포럼

• https://developer.tizen.org/forums

Page 49: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

49

위키

• http://wiki.tizen.org/

Page 50: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

50

Jira

• http://bugs.tizen.org

Page 51: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

51

컨트리뷰션

• Git/Gerrit 사용

• 순서

• 1. 코드 작성

• 2. Gerrit 시스템에 코드 업로드

• 3. 리뷰어에게 리뷰 받기

Page 52: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

마무리

Page 53: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

53

Tizen

• 새로운 플랫폼

• 오픈소스

• 개발자에게 새로운 기회

• 사용자에게 새로운 경험

• 벤더/사업자에게 새로운 시장

• 학생들에게 배움의 장

Page 54: Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)

감사합니다.