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

Post on 08-Jul-2015

551 Views

Category:

Software

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

서주영 (삼성전자)

2

발표자 소개

• 서주영

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

• juyung.seo@samsung.com

• 닉네임 • 천재태지, 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회)

3

목차

• TIZEN

• 특징

• 애플리케이션 개발

• 플랫폼 개발

TIZEN

5

Tizen

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

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

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

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

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

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

6

Tizen

7

다양한 플랫폼

8

Tizen 기반 제품

• 카메라 NX300, NX300M, NX1

9

Tizen 기반 제품

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

10

Tizen 기반 테스트 폰

• RD-210, RD-PQ

11

Samsung Z

• 미출시

12

Tizen 기반 SDK

• 모바일 • 2.2.1 SDK

• 웨어러블 • 1.0.0 SDK

• TV • 1.0 베타 SDK

• IVI • 3.0 알파 4 SDK

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

13

역사

• 전신

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

• 타이젠

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

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

15

역사

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

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

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

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

• 2013년 11월 : 2.2.1 배포

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

17

SDK

• 구성요소

• IDE

• Emulator

• Web Simulator

• Dynamic Analyzer

• Native UI Builder

• Native Effect Builder

• Tools

특징

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

코어 애플리케이션

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

웹 애플리케이션

네이티브 애플리케이션

21

크로스 카테고리

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

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

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

22

크로스 카테고리

TV

모바일

IVI

프린터

PC

카메라

세탁기

23

다양한 프로파일 지원

• The OS of Everything

24

다양한 종류 애플리케이션

• HTML5 기반 웹 애플리케이션

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

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

25

높은 HTML5 호환성 및 성능

• HTML5 호환성 테스트 결과

• html5test.com

• 부드러운 반응성

• 빠른 웹기반 3D 앱

WebGL 3D (HelloRacer.com)

26

가볍고 우수한 성능

• 적은 메모리 사용

• 우수한 성능

• 적은 배터리 소모

• 빠른 부팅

• 빠른 애플리케이션 시작

27

개방형

• 누구나 개발에 참여 가능

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

28

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

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

• 다양한 운영체제 지원

29

기타

• WebGL

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

• 라이선스

• 보안 - SMACK

• 확장성(Scalability)

• 강력한 멀티태스킹

• 등등 Multi-Window

애플리케이션 개발

31

앱 개발 모델

• 구 네이티브 앱: C++

• 웹 앱: HTML5, CSS, JavaScript, jQuery

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

모바일 기어 카메라

구 네이티브 O X X

웹 O O X

네이티브 O O O

32

웹 애플리케이션

Other Platforms

TV

Phone / PC

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

• 초기 진입 용이

• HTML5, CSS, JavaScript, jQuery, …

33

웹 애플리케이션 아키텍처

Webkit Device API

Tizen Framework / Kernel

Web Runtime

WebApplication

Tizen Web UI Framewok

34

디바이스 API

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

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

• Category

- Tizen common

- Application

- Communication

- Content

- Input/Output

- Social

- System

- User Interface

35

웹 런타임?

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

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

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

• 애플리케이션 관리

• Profile, Life cycle…

• API 서포트 • W3C, Device

• 보안, 프라이버시

• Profile, Source code…

36

네이티브 프레임워크

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

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

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

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

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

37

네이티브앱

플랫폼 개발

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

• 기타 등등

40

오픈 소스 (2)

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

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

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 등

42

오픈소스 개발 모델

Reviewers

Maintainers

[Integrators]

Architects

TSG

Developers TSG = Technical Steering Group

43

웹사이트

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

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

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

44

소스코드

• 소스코드 공개

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

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

45

메일링 리스트

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

• dev 구독 추천

46

메일링 리스트

47

IRC

• irc.freenode.net/6667, #tizen

48

포럼

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

49

위키

• http://wiki.tizen.org/

50

Jira

• http://bugs.tizen.org

51

컨트리뷰션

• Git/Gerrit 사용

• 순서

• 1. 코드 작성

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

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

마무리

53

Tizen

• 새로운 플랫폼

• 오픈소스

• 개발자에게 새로운 기회

• 사용자에게 새로운 경험

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

• 학생들에게 배움의 장

감사합니다.

top related