천재태지의 세상 돌려보기

seoz.egloos.com

- About Me... - Enlightenment, EFL - 타이젠 Tizen



[Tizen] 임베디드월드 (2013년 5월호) 잡지 연재 - 1. 타이젠, 리눅스 기반 오픈소스 플랫폼 ├ 타이젠 Tizen

[ 타이젠 게시물 목차 : http://seoz.egloos.com/3872102 ]


안녕하세요? 천재태지 서주영입니다.

지난 5월부터 임베디드월드 잡지[1]타이젠을 주제로 연재를 시작[2]했습니다. 연재는 총 10회 정도 계획하고 있습니다.
물론 제가 글을 다 쓰지는 못할 것 같고 중간 중간 다른 분들의 도움을 받을 예정입니다.

타이젠을 주제로 이런 연재를 하는 것이 아마 전 세계에서 처음이 아닐까 싶은데요 ^^ (제 생각 ㅋ), 그만큼 부담도 큰 건 사실입니다.
일개 개발자가 아직 많이 알려지지도 않은 내용을 다 알 수도 없기 때문에 많은 분들의 도움이 필요합니다 ^^
그래도 시작이 중요하다고 보고 있고, 결국 좋은 내용을 채워 넣을 것이라 생각합니다.

이전에 마소에 글을 연재할 때도 느꼈지만, 글 쓰는건 참 어려운 것 같습니다. 한 문장 가지고 몇 시간을 고민하기도 하게 되네요.
안 그래도 바쁜 탓에 주말이며 평일 새벽에 글을 쓰느라 아내에게 참 미안합니다...

전체 연재 순서는 아래와 같으며 연재 순서는 사정에 따라 변경될 수 있습니다.
< 연재차례 >

1. 타이젠, 리눅스 기반 오픈소스 플랫폼
2. 타이젠 SDK(1)
3. 타이젠 SDK(2)
4. 타이젠 플랫폼의 이해
5. 타이젠 웹 애플리케이션 개발(1)
6. 타이젠 웹 애플리케이션 개발(2)
7. 타이젠 네이티브 애플리케이션 개발(1)
8. 타이젠 네이티브 애플리케이션 개발(2)
9. 타이젠 플랫폼 개발
10. 타이젠 포팅

아래는 임베디드월드 5월호 사진입니다.
전체 페이지가 120 페이지 정도이며 굉장히 얇습니다. 대신 올컬러네요.


내용은 제가 기고한 대로 실렸습니다. 그런데 편집을 예쁘게 해줬네요. 게다가 컬러라서 더욱 마음에 듭니다 :)
그런데 편집 도중 표 하나가 잘못된 부분이 있어서 아쉬움이 남네요 ㅡㅜ

그럼 타이젠 연재의 디딤돌이 될 첫 번째 기고문을 옮겨봅니다. 타이젠을 공부하는 분들이나 타이젠을 알고 싶어하는 분들에게 조금이나마 도움이 되리라 믿습니다.
참고로 제가 글을 쓰긴 했지만... 임베디드월드 잡지 출처를 밝히는 조건으로 제 블로그에 기사를 올려도 된다는 허락을 받았습니다.

                임베디드월드 2013년 5월호 내용 시작                                                                                                        

타이젠, 리눅스 기반 오픈소스 플랫폼
타이젠(Tizen)[1]은 전 세계가 주목하고 있는 리눅스 기반 범용 오픈소스 플랫폼이다. 타이젠은 리눅스 재단(Linux Foundation)[2] 프로젝트 중 하나로 등록되어 있으며 삼성전자와 인텔의 주도 하에 활발하게 개발이 진행되고 있다. 이 연재에서는 앞으로 약 10회에 걸쳐 타이젠을 다양한 측면에서 살펴보겠으며, 빠르게 발전하고 있는 타이젠의 최신 정보를 반영할 예정이다.

연재차례

1. 타이젠, 리눅스 기반 오픈소스 플랫폼
2. 타이젠 SDK(1)
3. 타이젠 SDK(2)
4. 타이젠 플랫폼의 이해
5. 타이젠 웹 애플리케이션 개발(1)
6. 타이젠 웹 애플리케이션 개발(2)
7. 타이젠 네이티브 애플리케이션 개발(1)
8. 타이젠 네이티브 애플리케이션 개발(2)
9. 타이젠 플랫폼 개발
10. 타이젠 포팅
   서주영  seojuyung2@gmail.com

EFL 오픈소스 공식 개발자로 활동하고 있으며 현재 삼성전자 소프트웨어 센터에 재직 중이다. 긍정의 힘을 믿으며 사랑스러운 아내와 귀여운 딸과 함께 행복하게 사는 것이 인생의 목표이다. 프로그래밍을 할 때 기쁨을 느끼며 개발자가 천직이라 생각하는 만년 개발자이다. EFL 및 타이젠 관련 정보를 공유하는 개인 블로그 seoz.egloos.com을 운영하고 있다. 결혼 전까지 모터사이클에 미쳐있던 라이더이기도 하다.

타이젠 등장 

출근 길에 휴대폰을 집에 놓고 와서 당황했던 기억이 있는가? 회의 중에 휴대폰 벨이 울려 민망했던 적이 있는가?
휴대폰을 비롯한 각종 스마트 기기는 우리 생활 깊숙이 들어와 있다. 이제 이들 없이 생활하는 것은 상상할 수도 없다. 길을 가던 중 메일을 확인하고 미국에 있는 친구의 페이스북 타임라인을 보며 집에 있는 에어컨을 원격에서 조절한다. 우리 손에는 다양한 모바일 기기가 들려있고 이 모바일 기기는 냉장고, 에어컨, TV 등 다양한 스마트 기기와 연결되어 있다. 최근에는 구글 글래스나 스마트 워치와 같이 다양한 스펙트럼의 스마트 기기가 등장하고 있다.

이렇게 스마트 기기가 다양한 만큼 이들을 돌아가게 하는 다양한 플랫폼이 존재한다. 그 중 우리의 관심을 끄는 것은 스마트폰, 태블릿 등을 위한 모바일 플랫폼이다. 현재 모바일 플랫폼은 안드로이드(Android)와 iOS라는 절대 강자가 시장의 대부분을 차지하고 있으며 특히 안드로이드의 시장 점유율은 최근 70%를 상회해 당분간 독주가 예상된다.(그림1 참고) 그 외에도 블랙베리(BlackBerry), 바다(bada), 심비안(Symbian), 윈도우폰(Windows Phone) 등이 있지만, 안드로이드와 iOS를 넘어서기에 역부족이다. 이렇게 제3의 모바일 플랫폼 시장은 춘추전국시대를 맞이하고 있는데 이에 도전하는 신규 플랫폼이 등장해 사람들의 눈길을 끌고 있다. 바로 타이젠, 파이어폭스OS, 우분투 모바일이 그 주인공이다. 이들은 모두 오픈소스를 표방하며 춘추전국시대의 지각변동을 예고하고 있다.

제3의 모바일 플랫폼 전쟁에 출사표를 던진 신규 플랫폼 중 삼성전자, 인텔, SK텔레콤, 도코모 등 제조사, 통신사가 공동으로 개발하고 있는 타이젠이 이목을 끌고 있다. 스마트폰 점유율 1위 기업인 삼성전자가 적극적으로 참여하고 있는데다 크로스 카테고리(Cross-Category)를 모토로 스마트폰뿐만 아니라 넷북, 태블릿, 차량용 인포테인먼트(IVI), TV 등 다양한 스마트 기기를 지원할 예정이기 때문이다. 지난 2월 스페인 바르셀로나에서 열린 모바일월드콩그레스(MWC) 2013에서 타이젠 협회(Tizen Association)[3]는 올 하반기에 타이젠폰을 출시할 예정이라고 했다. 특히 다른 신규 경쟁 플랫폼이 저가 시장을 노린 것에 비해 타이젠은 고사양으로 무장한 제품을 준비 중인 것으로 알려졌다.
이 연재에서는 앞으로 약 10회에 걸쳐 타이젠의 이모저모에 대해 알아볼 예정이다. 타이젠은 개발속도가 굉장히 빠르므로 연재를 진행하는 도중 내용이 변경될 수 있으며 가급적 최신 정보를 반영하도록 하겠다.

 
타이젠이란

그림 1.
2012년 4분기 스마트폰 플랫폼 통계 자료 (출처 : IDC 통계 자료)



그림 2.
타이젠의 크로스 카테고리 전략 (출처 : 2012 리눅스 코리아 포럼 타이젠 소개 자료)

타이젠은 리눅스 재단(Linux Foundation) 주관으로 삼성과 인텔 등 다양한 회사가 개발에 참여하고 있는 리눅스 기반 오픈소스 플랫폼이다. 스마트폰, 넷북, 태블릿, 자동차 인포테인먼트, TV 등 다양한 기기에 탑재할 수 있어 크로스 카테고리 플랫폼이라고 불린다. W3C/HTML5와 같은 다양한 표준을 준수하며 HTML5 기반의 웹 애플리케이션 및 C++ 기반의 네이티브(native) 애플리케이션을 지원한다.

타이젠 기술운영그룹(Technical Steering Group, TSG)이 타이젠 오픈소스의 의사 결정 및 커뮤니티 운영, 타이젠 플랫폼 배포를 담당한다. 또한, 삼성, 인텔, 화웨이, KT, SK텔레콤, 도코모, 오렌지, 파나소닉, 스프린트, 후지쯔, NEC, 보다폰 등 다양한 제조사 및 통신사로 구성된 타이젠 협회(Tizen Association)는 타이젠의 상품화를 주도하며 요구 사항 수집, 서비스 모델 정립, 마케팅 및 교육 등을 담당한다.

그림 3.
W3C, HTML5, CSS3 로고 (출처 : 2012 리눅스 코리아 포럼 타이젠 소개 자료)

그림 4.
타이젠 협회(출처 : 타이젠 협회 웹사이트)

타이젠 역사

타이젠은 어느 날 혜성과 같이 나타난 플랫폼이 아니다. 리모(LiMo), 미고(MeeGo) 등 기존에 존재하던 리눅스 기반 모바일 플랫폼 개발 경험과 삼성전자의 바다 플랫폼, 그리고 다양한 오픈소스 기술에 HTML5, CSS3등의 웹 기술까지 접목된 기술의 집약체다.

타이젠의 전신은 리눅스 기반의 오픈소스 모바일 플랫폼인 리모이며 리모는 삼성전자가 리모 재단에 기증한 삼성리눅스플랫폼(SLP)에 기반을 두고 있다. 타이젠이라는 이름은 2011년 9월 인텔이 이 프로젝트에 합류하면서 사용되기 시작하였다. 인텔은 타이젠에 합류하기 전 노키아와 함께 미고 플랫폼을 개발하고 있었으나 노키아가 마이크로소프트와 손을 잡고 윈도우폰 개발에 전념함에 따라 뒤늦게 타이젠 프로젝트에 합류한 것으로 알려져 있다. 이후 화웨이, 도코모 등 다양한 제조사, 통신사가 타이젠 플랫폼 개발 및 상품화에 참여하였다. 리모에 태생을 둔 타이젠은 현재 리눅스 재단의 주관으로 운영되고 있다.

표1과 같이 2011년 인텔의 합류와 함께 공식 출범한 이래 2012년 4월 1.0 정식 버전, 2013년 2월 2.0 정식 버전이 나오면서 빠른 속도로 개발이 진행되고 있다.
타이젠은 1.0 버전에서 웹 애플리케이션을 시작으로 2.0 버전부터는 네이티브 애플리케이션 및 하이브리드(hybrid) 애플리케이션 개발을 지원하기 시작했다. 1.0 버전에서는 데비안 패키징을 사용하다 2.0 버전에서는 RPM 패키징을 사용하였으며 빌드 시스템은 SBS -> OBS -> OBS, GBS를 사용하는 식으로 빠르게 변경되었다.

타이젠 1.0은 코드명으로 Larkspur를 2.0은 Magnolia를 사용했는데 Larkspur는 “참제비고깔”, Magnolia는 “목련”을 의미한다. 1.0, 2.0의 코드 명이 L, M으로 시작하는 꽃말을 사용한 까닭에 3.0의 코드명을 예상해보는 것도 흥미로울 것이다. 그리고 2012년에 이어 2013년에도 미국 샌프란시스코에서 타이젠 개발자 컨퍼런스가 개최될 예정이다.

타이젠 특징

<개방형>
타이젠의 가장 중요한 특징 중 하나는 개방형 오픈소스라는 것이다. 타이젠은 다양한 오픈소스 및 직접 개발된 코드로 이루어져 있으며 타이젠의 소스코드가 모두 공개되어 있다. 누구나 타이젠 프로젝트에 참여할 수 있고 라이선스를 준수한다면 소스코드를 수정 후 재배포할 수 있다. 기기 별로 제공되는 대부분의 기존 플랫폼이 폐쇄적이었던 것에 비해 타이젠의 개방성은 많은 개발자들의 참여를 이끌었다. 실례로 일반 개발자들이 갤럭시 S3, 갤럭시 S2, 넥서스, N9 등의 기기에 타이젠을 포팅했다는 소식이 들려오고 있다. 제조사의 경우 자신의 요구 사항에 맞추어 타이젠을 수정하여 제품을 생산할 수 있다.

타이젠이 사용하는 오픈소스는 리눅스, WebKit, GStreamer, EFL(Enlightenment Foundation Libraries), Smack(Simplified Mandatory Access Control Kernel) 등 굉장히 다양하며 이들 오픈소스의 지원이 없이는 타이젠도 없었을 것이다. 타이젠이 오픈소스의 혜택을 받은 만큼 여러 오픈소스에도 영향을 미치고 있다. 리눅스 커널, WebKit, EFL 등 여러 오픈소스의 메인테이너가 타이젠 프로젝트에 참여하고 있으며 타이젠에서 개발된 코드는 해당 오픈소스에도 반영되는 식으로 공헌이 이루어지고 있다.

<다양한 종류의 애플리케이션 지원>
타이젠은 HTML5 및 자바스크립트, CSS3를 기반으로 하는 웹 애플리케이션뿐만 아니라 C++을 기반으로 하는 네이티브 애플리케이션, 그리고 이 둘을 융합시킨 하이브리드 애플리케이션을 모두 지원한다.
C++ 기반의 네이티브 애플리케이션은 기존의 바다 플랫폼 API와 상당 수준 호환이 가능하며 변환 도구를 이용해 바다 애플리케이션을 타이젠 애플리케이션으로 쉽게 변환이 가능하다. 이를 통해 기존에 존재하는 바다 애플리케이션을 타이젠에 흡수하여 초기 애플리케이션 부족 현상을 극복할 것으로 기대한다.
이렇게 타이젠이 지원하는 다양한 애플리케이션은 타이젠 IDE 및 에뮬레이터, 웹 시뮬레이터 등의 도구를 이용하여 GUI 환경에서 손쉽게 개발할 수 있다.

<높은 HTML5 호환성>
타이젠은 HTML5, CSS5 등 W3C 표준 웹 기술을 최대한 지원하고 있다. 특히 HTML5 호환성 테스트 측정 사이트인 html5test.com의 측정 결과에 의하면 500점 만점에 492점(+보너스 16점)을 받아 모든 상용화 및 개발 중인 브라우저 대비 가장 좋은 HTML5 호환성을 보여주고 있다. HTML5 호환성이 높다는 말은 웹 애플리케이션에서도 많은 기능을 제공한다는 의미로 해석할 수 있다. 높은 HTML5 호환성은 웹 애플리케이션 개발자의 자유도를 높여주고 네이티브 애플리케이션과의 기능 격차를 줄여준다.

<디바이스 API 지원>
기존의 W3C 및 여러 표준 단체에서 지원하지 못하는 기능을 위해 다양한 디바이스 API도 지원하고 있어, 애플리케이션 개발에 불편함이 없도록 하고 있다. 디바이스 API로는 블루투스, PIM(Personal Information Management), NFC(Near Field Communication), 알람, 메시징, 전원 제어 등이 있다.

<WebGL>
타이젠은 WebGL도 제공하고 있어 웹 애플리케이션을 이용하면서도 GL의 성능을 활용할 수 있다. 이는 게임과 같이 성능에 민감한 애플리케이션 개발 등에 사용할 수 있다. 지난 2012년 타이젠 개발자 컨퍼런스에서는 수준 높은 WebGL 애플리케이션 데모를 통해 많은 개발자의 관심을 끌었다.

<크로스 카테고리>
타이젠은 스마트폰, 넷북, 태블릿, 자동차 인포테인먼트, TV 그리고 더 나아가 냉장고, 에어컨, 카메라 등 다양한 기기에서 사용될 수 있다. 기존의 사용자들이 기기 별로 독립된 사용자 경험을 하였지만 타이젠을 통하여 향상되고 통일된 사용자 경험을 할 수 있다. 또한, 서비스 제공자는 높아지는 사용자의 요구 사항을 충족하기 위해 이들 기기 사이의 연동을 통하여 사용자를 만족하게 할 수 있다. 개발자는 기기 별 애플리케이션 호환을 통하여 유연하고 효율적인 개발이 가능하게 되었다. 또한, 타이젠은 개방형이기 때문에 누구나 참여하여 새로운 기기에 타이젠을 활용할 수 있다. 이를 통해 컨버전스 시대를 맞이하는 시기에 소비자와 생산자의 긍정적인 시너지 효과를 불러일으킬 것으로 기대한다. 기존에도 다양한 기기를 지원하는 크로스 카테고리 플랫폼이 있었지만 이를 성공적으로 이끌기는 쉽지 않았다. 하지만 타이젠은 개방형이라는 특징을 가지고 있는데다 다양한 기기를 생산하고 있는 제조사들이 모였다는 사실만으로도 기존 플랫폼이 봉착했던 문제를 미려하게 풀 수 있으리라 기대가 된다.

그림 5.
html5test.com의 호환성 테스트 점수 (출처 : 자체 제작)

<크로스 아키텍처>
타이젠은 X86과 ARM 아키텍처를 모두 지원한다. 현재는 타이젠 에뮬레이터는 X86을 지원하고 테스트용 단말은 ARM을 지원한다. 크로스 아키텍처 구조는 추후에 다양한 기기에 타이젠을 포팅하는데 유용할 거라 기대한다.

<라이선스>
타이젠은 다양한 오픈소스를 사용하고 있기 때문에 복잡한 라이선스 정책의 영향을 받는다. 각 모듈에 따라서 GPLv2, LGPL, Apache, BSD, Flora 라이선스 등의 라이선스 정책에 따르며 SDK의 경우 타이젠 SDK 라이선스라는 별도의 라이선스 정책에 따른다.

<보안>
타이젠은 다음 버전부터 리눅스 커널 단에서 지원하는 Smack을 적용하여 인가되지 않은 데이터나 프로세스 접근을 막아 보안을 강화할 예정이다.


그림 6.
타이젠 아키텍처 (출처 : 타이젠 개발자 사이트 문서)

아키텍처

타이젠의 전반적인 아키텍처는 그림6과 같다.
타이젠은 리눅스 커널 및 디바이스 드라이버에서부터 애플리케이션 프레임워크, 멀티미디어 프레임워크, 웹 프레임워크, 네이티브 프레임워크까지 다양한 프레임워크 및 모듈을 포함하고 있다. 이들 대부분은 오픈소스로 구성되어 있으며 일반적인 리눅스 시스템에 사용되는 모듈뿐만 아니라 모바일에 특화된 위치 기반 서비스(Location Based Service, LBS), 텔레포니(telephony)와 같은 모듈도 포함하고 있다.

<리눅스 커널>
타이젠 아키텍처의 가장 하위 단은 리눅스 커널 및 디바이스 드라이버로 구성되어 있으며 최적화된 타이젠 단말 지원을 위해 커널의 성능 향상 및 개선 작업이 이루어졌다.

<코어 프레임워크>
코어 프레임워크는 웹 프레임워크 및 네이티브 프레임워크에서 공통으로 필요로 하는 기본적인 기능을 제공한다. 코어 프레임워크에서 사용하는 일부 오픈소스는 표2와 같다. 이 외에도 다양한 오픈소스가 사용되었다.

표 2.
타이젠 코어 프레임워크에 사용된 오픈소스

<웹 프레임워크>
웹 애플리케이션을 위한 웹 프레임워크가 있으며 최신 웹 기술을 지원한다. HTML5 API, 비디오, 오디오, 폼, 2D 캔버스, WebGL, CSS3, 웹소켓, 웹 워커 등과 같이 W3C 및 다양한 표준화 단체에서 정의한 표준을 지원한다. 그리고 표준에서 제공하지 못하는 부족한 부분을 채우기 위해 블루투스, NFC, 알람, 메시징 등의 다양한 디바이스 API를 제공하고 있다. 또한 웹 애플리케이션 실행, 라이프 사이클 관리, 접근 제어 등의 역할을 하는 Web Runtime도 제공하고 있다.

<네이티브 프레임워크>
C++ 네이티브 애플리케이션을 위한 네이티브 프레임워크가 있으며 이는 기존의 바다 플랫폼에 해당한다. 1만여 개가 넘는 API를 제공하며 Base, Io, App, Security, Graphics, Ui, Net, Messaging, Social, Locations, Web 등 네이티브 애플리케이션에서 필요로 하는 다양한 기능을 지원한다.

타이젠 SDK

타이젠은 개발자를 위하여 SDK(소프트웨어개발키트, Software Development Kit)를 제공한다. 타이젠에서 개발을 시작하려는 개발자는 반드시 타이젠 SDK를 설치하도록 하자. 타이젠 SDK는 타이젠 공식 웹사이트의 SDK 다운로드 페이지[4] 에서 다운로드 받을 수 있으며 쉽게 설치가 가능하다.

SDK는 웹 및 네이티브 애플리케이션, 그리고 타이젠 플랫폼 개발을 위해 필요한 여러 도구 및 문서를 포함한다. 이클립스로 구성된 통합개발환경(Integrated Development Environment, IDE), 가상으로 타이젠을 실행시킬 수 있는 에뮬레이터(Emulator), 빌드 및 개발을 위한 툴체인(Toolchain), 동적 분석기, 유닛 테스트, 그리고 샘플 코드 및 문서 등으로 구성되어 있다. 타이젠 SDK는 윈도우, 리눅스, 맥 OS X에서 설치 및 사용 가능하며 32비트 및 64비트 시스템을 지원한다. 리눅스는 우분투 배포판을 공식적으로 지원한다.

그림 7.
그림7. 타이젠 IDE (출처 : 자체 제작)
 

 

그림 8.
타이젠 에뮬레이터 (출처 : 자체 제작)

 

그림 9.
타이젠 웹 시뮬레이터 (출처 : 자체 제작)

그림7과 같이 이클립스 기반으로 구성된 타이젠 IDE를 이용하여 손쉽게 웹 및 네이티브 애플리케이션 프로젝트를 생성할 수 있고, GUI 빌더를 통해 GUI 애플리케이션을 간단히 구성할 수 있다. 타이젠 기기가 없는 경우에도 개발이 가능하도록 그림8과 같은 에뮬레이터를 지원하며, 마치 실제 기기를 실행하는 것과 같이 타이젠을 실행하고 애플리케이션을 설치 및 구동할 수 있다. 하드웨어가 가상화를 지원하는 경우 빠른 속도로 에뮬레이터를 사용할 수 있다. 웹 애플리케이션 개발의 경우 에뮬레이터뿐만 아니라 그림9와 같은 시뮬레이터를 제공하여 개발의 속도를 높였다. 웹 시뮬레이터는 구글 크롬 기반으로 실행되며 에뮬레이터를 띄울 필요 없이 간단하고 빠르게 웹 애플리케이션을 실행하고 디버깅할 수 있다.

그림 10.
타이젠 SDK 설치 옵션 (출처 : 자체 제작)

타이젠 SDK를 설치할 때 그림10과 같이 플랫폼 개발 옵션을 선택하면 타이젠 IDE에서 애플리케이션뿐만 아니라 타이젠 플랫폼도 개발할 수 있다. 이를 위해 타이젠 IDE에서 타이젠 플랫폼 프로젝트를 생성하면 기본 템플릿 코드를 활용할 수도 있고 이미 존재하는 GIT에서 프로젝트를 불러들일 수도 있다.

타이젠 SDK는 다양한 웹, 네이티브 애플리케이션 샘플을 제공한다. 타이젠 IDE에서 몇 번의 클릭만으로 샘플 애플리케이션을 만들고 빌드하여 에뮬레이터 및 시뮬레이터, 테스트용 단말에서 애플리케이션을 실행할 수 있다.
그리고 타이젠 SDK를 설치하면 타이젠 IDE를 사용하지 않아도 커맨드라인에서 애플리케이션 및 플랫폼 개발이 가능하도록 GBS(Git Build System)나 SDB(Smart Development Bridge)와 같은 도구를 제공한다. GBS는 GIT을 기준으로 커맨드라인에서 빌드와 패키지 생성을 할 수 있는 도구이고 SDB는 에뮬레이터 및 테스트용 단말과 같은 기기와의 연결을 도와주는 도구이다. SDB를 이용하여 기기에 터미널로 연결해 명령을 내릴 수도 있다.

그림 11.
타이젠 테스트용 단말 RD-210(좌) 및 RD-PQ(우) (출처 : 자체 촬영)

타이젠 테스트용 단말

타이젠은 여러 차례에 걸쳐 테스트용 단말을 배포했다. 아직까지 상용 단말이 출시되지 않은 까닭에 현재 타이젠을 실제 하드웨어에서 실행하려면 테스트용 단말을 이용해야 한다. 테스트용 단말은 레퍼런스 디바이스(Reference Device)라고 불리며 RD-210 및 RD-PQ 두 종류가 있다. RD-210은 갤럭시 S2 기반의 엑시노스 4210 SoC를 사용하며 RD-PQ는 갤럭시 S3 기반의 엑시노스 4412 SoC를 사용한다. 그림11과 같이 RD-210의 경우 투박한 모습을 하고 있으며 2012년 타이젠 개발자 컨퍼런스에서 최초 배포되었다. RD-PQ의 경우 갤럭시 S3와 외관이 매우 유사하며 타이젠 2.0 정식 버전 공개 이후에 배포되고 있다. 타이젠 테스트용 단말은 아직 배포 수량이 많지 않지만, 올해는 다양한 개발자 행사를 비롯하여 웹사이트를 통해서도 배포할 계획이 있다고 하니 관심 있는 독자는 참고하기 바란다.

커뮤니티

타이젠은 일반적인 오픈소스와 마찬가지로 질문/답변, 논의, 버그 리포팅, 정보공유 등을 할 수 있는 커뮤니티[5]를 제공하고 있다. 커뮤니티야말로 오픈소스의 심장이라고 볼 수 있는데, 타이젠 커뮤니티는 시간이 지날수록 많은 사람이 참여하고 있어 점점 활발하게 운영되고 있다. 커뮤니티에 참여할 때는 반드시 타이젠 웹사이트에 명시된 커뮤니티 가이드라인을 숙지해야 한다. 타이젠 커뮤니티는 아래와 같이 구성되어 있다.

그림 12.
타이젠 메일링 리스트 통계 자료(출처 : 타이젠 웹사이트 커뮤니티 통계)

<메일링 리스트>
메일링 리스트는 다수 사용자에게 메일을 전송하는 서비스로 오픈소스 프로젝트에서 의사소통으로 사용되는 중요한 수단이다. 메일링 리스트를 구독하는 다수의 사용자에게 질문을 하고 답변을 얻을 수 있다. 타이젠은 공지, 애플리케이션 개발, 컴플라이언스, 일반, IVI, 제품 개발, 커밋 등 다양한 종류의 메일링 리스트[6]를 제공한다.

<IRC>
IRC(Internet Relay Chat)는 오픈소스에서 흔히 사용하는 채팅 프로토콜이다. 타이젠은 Freenode의IRC 서비스를 이용하고 있으며 IRC 클라이언트 프로그램을 이용해 irc.freenode.net 서버의 6667번 포트로 접속해 #tizen 채널에 들어오면 여러 사람이 대화를 나누는 것을 볼 수 있다. 물론 여러분도 실시간으로 질문 및 답변을 할 수 있다. 하지만 타이젠의 경우 다른 오픈소스에 비해서 아직 IRC가 많이 활성화되어 있지는 않다. IRC는 다양한 종류의 IRC 클라이언트 프로그램을 사용하여 접속할 수 있으며 필자는 리눅스 용은 xchat, 안드로이드 휴대폰은 AndChat 프로그램을 추천한다.

<포럼>
타이젠은 공식 웹사이트에서 질문 및 답변을 위한 포럼[7]을 운영한다. 일반, 웹 애플리케이션 개발, 네이티브 애플리케이션 개발, SDK 및 IDE를 위한 네 가지 종류의 포럼이 운영되고 있으며 사용자가 직접 질문 및 답변을 할 수 있다. 포럼은 비교적 활성화되어 있으며 다른 사람들이 겪고 있는 고민을 나누고 경험을 공유할 수 있는 소중한 곳으로 자주 방문하길 권장한다.

<위키>
타이젠 위키 페이지[8]는 타이젠과 관련된 정보를 정리해놓는 백과사전 역할을 한다. 수많은 정보가 위키 페이지에 집약되어 있다.

<버그 리포팅 및 이슈 관리>
사용자가 주는 버그 리포팅은 오픈소스를 발전시키는데 큰 역할을 한다. 타이젠은 버그 리포팅 및 이슈 관리를 위해 JIRA[9]를 사용한다.

<Gerrit>
타이젠은 개방형 오픈소스이기 때문에 누구나 프로젝트에 참여하고 공헌할 수 있다. 타이젠은 코드 수정 및 패치 관리를 위해 Gerrit[10]을 사용한다. 여러분도 Gerrit을 이용하여 타이젠 플랫폼 개발에 참여할 수 있다.
  
그림 13.
타이젠 개발자 컨퍼런스 2013(출처 : 타이젠 웹사이트)

타이젠 개발자 컨퍼런스

타이젠 개발자 컨퍼런스는 타이젠과 관련된 다양한 주제로 발표가 이루어지는 행사로 플랫폼 개발자, 애플리케이션 개발자, 플랫폼 디자이너, 통신사, OEM, 하드웨어 벤더, 소프트웨어 벤더, 오픈소스 예찬론자 및 타이젠과 관련된 모든 사람을 위한 행사이다. 지난 2012년 5월 7일부터 9일까지 미국 샌프란시스코에서 첫 번째 타이젠 개발자 컨퍼런스가 성대하게 열렸으며 앞으로도 매년 개최될 예정이다. 올해는 5월 22일부터 24일까지 미국 샌프란시스코에서 두 번째 타이젠 개발자 컨퍼런스가 개최될 예정이다.

마치며

타이젠은 아직 상용화가 되지 않아 그 실용성 및 성공 여부는 미지수이다. 하지만 HTML5, CSS3등 다양한 W3C 표준을 준수하는 개방형 오픈소스라는 특징과 함께 여러 제조사 및 통신사의 든든한 지원이 있는 만큼 제 3의 모바일 플랫폼에 지각 변동을 일으킬 것으로 기대가 된다. 타이젠은 이제 시작하는 단계에 있다. 무슨 일이든 초기에 투자하고 뛰어드는 것이 가치가 있듯이 이 글을 읽는 여러분도 타이젠의 미래를 보고 한 번 뛰어들어보길 바라본다.

카이스트의 김진형 교수는 플랫폼을 ‘멍석’에 비유했다. 이미 많은 멍석이 있는 가운데 기존의 멍석과 차별화된 타이젠 위에서 개발자, 제조사, 통신사, 사용자 모두 신명 나게 뛰어 놀 수 있는 그 날이 오기를 기대해본다.
다음 연재에서는 타이젠 플랫폼의 내부에 대해 좀 더 알아보도록 하겠다.
 
참고
[1] https://www.tizen.org/
[2] http://www.linuxfoundation.org/
[3] http://tizenassociation.org
[4] https://developer.tizen.org/downloads/tizen-sdk
[5] https://www.tizen.org/community
[6] https://lists.tizen.org/listinfo
[7] https://developer.tizen.org/forums
[8] https://wiki.tizen.org/wiki/Main_Page
[9] https://bugs.tizen.org/jira
[10] https://review.tizen.org/gerrit

                임베디드월드 2013년 5월호 내용 끝                                                                                                        




[ 타이젠 게시물 목차 : http://seoz.egloos.com/3872102 ]



핑백

  • 천재태지의 세상 돌려보기 : [Tizen] 타이젠이란? 2013-07-30 23:38:11 #

    ... 타이젠 관련해서 연재[1]</a>를 하기 시작했는데요,그 때 적었던 타이젠에 대한 설명을 발췌합니다. 타이젠은 리눅스 재단(Linux Foundation) 주관으로 삼성과 인텔 등 다양한 회사가 개발에 참여하고 있는 리눅스 기반 오픈소스 플랫폼이다. 스마트폰, 넷북, 태블릿, 자동차 인포테인먼트, TV 등 다양한 기기에 탑재할 수 있어 크로스 카테고리 플랫폼이라고 불린다. W3C/HTML5와 같은 다양한 표준을 준수하며 HTML5 기반의 웹 애플리케이 ... more

덧글

  • el 2013/06/06 14:47 # 삭제 답글

    와 편집 정말 이쁘게 잘됐네요 ㅎㅎ
    저도 나중에 저렇게 제이름 걸고 글 쓴게 출판 되었으면 좋겠습니다.
  • 천재태지서주영 2013/06/08 02:19 #

    응~ 편집은 괜츈은듯 ㅎㅎ
    ㅊㅋ이도 언젠가는 이름 걸로 글 쓸 날이 올거야 ^^
  • 리커버리 2013/06/09 11:26 # 삭제 답글

    잘 읽었습니다~ 다음 연재도 기대하겠습니다~^^
  • 천재태지서주영 2013/06/09 22:31 #

    다음 연재도 이미 공개되어 있으니 한번 읽어보세요 ^^
    타이젠 SDK 설치에 대한 글입니다.
    http://www.embeddedworld.co.kr/atl/view.asp?a_id=6212
댓글 입력 영역