본문 바로가기

IT/Tizen

[Tizen] 타이젠 스튜디오에서 샘플앱 사용하기

안녕하세요, 타이젠 개발자 윤진입니다.

 

 

타이젠 스튜디오 1.0.1 버전으로 오며 여러가지가 바뀌었지만,

무엇보다도 기존 버전보다 개발자 친화적인 환경을 구축했다는 것이 고무적입니다.

 

앱을 처음 개발할 때는 다른 사람의 코드를 음미하며 자기 식으로 소화하기 마련인데,

타이젠 스튜디어의 템플릿 코드와 샘플 코드가 제법 그럴 듯하여 타이젠 앱 개발에 꽃길이 될 것입니다.

 

 

 

타이젠 스튜디오를 실행하면 왼편에 Project Explorer가 보입니다.

아직 한 번도 프로젝트를 생성한 적이 없다면 위 캡쳐화면처럼 Project Explorer 'Create new project'라는 버튼이 보일겁니다(단순 텍스트처럼 보이지만 버튼입니다!).

이미 프로젝트를 생성하였다면 생성한 프로젝트가 Project Explorer에 나타날 것입니다.

위의 'Create new project'를 누르거나 메뉴>File>New>Tizen Project의 경로로 진입하여 새 프로젝트를 생성합니다.

 

 

 

새 프로젝트로는 템플릿 코드나 샘플 코드를 생성할 수 있습니다.

템플릿 코드나 샘플 코드 모두 빌드가 되지만 앱의 '완결성'에서 차이가 있습니다.

템플릿 코드는 빈 부분을 개발자가 직접 채워 앱으로 완성해 나가야 하지만,

샘플 코드는 샘플용으로 개발이 완료된 앱으로 기본적인 동작을 테스트할 수 있습니다.

타이젠 앱 개발에 익숙하다면 템플릿을 생성하여 빈 공간은 직접 채우면 됩니다.

 

 

 

템플릿이든 샘플이든 선택을 하면 그 다음 단계는 프로파일과 버전을 정하는 것입니다.

프로파일로는 현재 모바일/웨어러블/티비가 있습니다.

버전은 각 프로파일별로 명시되어 있습니다.

자신이 개발하고자 하는 앱이 최종적으로 어떤 프로파일에 올라갈 것인지 고민이 필요한 시점입니다.

물론 어느 프로파일을 선택하든 타이젠 앱의 개발방법론은 같습니다.

 

 

 

프로파일과 버전을 정하였다면, 이제는 네이티브앱으로 개발할지 아니면 웹앱으로 개발할지 정해야합니다.

네이티브앱는 C와 C++을 이용하여 앱을 개발할 수 있고,

웹앱은 CSS, HTML, JS로 앱을 개발할 수 있습니다.

네이티브와 웹앱에 대해 더 자세한 정보를 얻고 싶으시다면,

위의 메뉴에서 'Show more'를 줄러주세요.

타이젠 공식 사이트에서 설명하는 네이티브앱과 웹앱에 대한 소개를 볼 수 있습니다.

 

 

 

이번 메뉴에서는 타이젠 스튜디오가 구비한 템플릿 혹은 샘플의 종류를 선택할 수 있습니다.

올초에 템플릿과 샘플 코드가 대대적으로 정비된 것으로 기억하는데요,

타이젠 플랫폼에 새로운 기능이 추가될 때마다 새로운 코드들이 SDK에 계속 추가될 예정입니다.

 

템플릿/샘플 코드들은 SDK를 인스톨될 때 함께 설치되는 방식이 아니고,

사용자가 위의 화면에서 템플릿/샘플을 선택하면 비로소 다운로드받는 방식이기 때문에,

언제나 서버에 올라간 최신의 코드를 다운로드 받으실 수 있습니다.

 

 

 

마지막으로 프로젝트 이름과 패키지 ID를 지정해주어야 합니다.

프로젝트 이름은 타이젠 스튜디오 내에서 고유하게 사용되는 이름입니다.

 

패키지 ID는 앱이 고유하게 가져야 하는 이름입니다.

패키지 ID가 같으면 타이젠 플랫폼이 동일한 앱으로 인식하여 기존의 패키지를 덮어씌워버립니다.

예를 들어, 에뮬레이터에 org.tizen.app 패키지가 설치하였는데,

다시 org.tizen.app이란 동일한 패키지 ID의 앱을 개발하여 설치하면 기존에 설치한 앱이 지워지고 새로 설치될 수 있습니다.

물론 타이젠 앱스토어에 앱을 올리게 되면 앱스토어 정책으로 고유한 패키지ID를 가지게 될 테니 걱정할 필요는 없습니다.

 

 

 

패키지를 생성하면 Tizen Manifest Editor가 사용자를 반겨줍니다.

Tizen Manifest Editor도 타이젠 스튜디오가 업데이트되면서 개발자 친화적으로 바뀌고 있네요.

Project Explorer에서 자신이 생성한 프로젝트 내에 tizen-manifest.xml 파일을 더블클릭해도 Tizen Manifest Editor가 열립니다.

 

 

상단에 구비된 6개의 탭 중 Overview 탭을 먼저 살펴보겠습니다.

Application ID

앱이 가지는 고유한 ID입니다.

한 패키지에는 복수개의 앱이 함께 패키징될 수 있습니다. 그렇기에 앱마다 서로를 구분할 수 있는 고유한 ID가 필요합니다.

만약 패키지 내에 앱이 하나라면 패키지이름과 동일하게 지어도 무관합니다.

Package

위에서 설명한 패키지 ID를 입력합니다.

만약 프로젝트 진행 중에 패키지 ID를 변경하고 싶다면 여기서 바꾸면 됩니다.

Version

앱의 버전을 명시합니다.

앱스토어에 올린다면 버전을 제대로 명시하여 앱구매자들이 버전업데이트를 할 수 있도록 해야합니다.

Api Version

타이젠 플랫폼은 계속 버전 업데이트를 하고 있습니다.

개발한 앱이 플랫폼의 어떤 버전인지 명시를 해주어야 합니다.

Label

홈화면에 표시되는 앱의 이름입니다.

Localization 탭에서 추가로 다국어로 앱이름을 지정할 수 있습니다.

Exec

앱의 실행파일의 이름을 지정합니다.

Icon

앱의 아이콘파일을 지정합니다.

홈화면에 앱이 표시될 때 아이콘 파일을 참고합니다.

Author

개발자를 적어넣습니다.

Description

개발하고 있는 앱을 소개합니다.

 

 

 

Overview를 모두 채워넣었다면 UI를 가진 기본적인 앱을 개발할 준비가 된 셈입니다.

하지만, 여기서 한 걸음 더 나아가 카메라, FM 라디오, GPS, WiFi 등과 같은 자원을 사용하고 싶다면 해당 기능들을 Features 탭에서 추가해주어야 합니다.

각 피쳐값은 개발자가 사용할 API 그룹에 따라 결정됩니다.

API 레퍼런스를 보면 해당 API 그룹을 사용할 때 필요한 피쳐가 명시되어 있습니다.

앱을 개발하며 새로운 API를 사용하게 된다면,

해당 API 그룹에서 요구하는 feature를 보고 Features 탭에서 추가해주면 됩니다.

 

 

 

Privileges 탭에서는 앱이 지니고 있어야할 권한을 추가해주어야 합니다.

권한은 API 그룹 내에서 각각의 API마다 필요한 Privilege를 확인할 수 있습니다.

Feature처럼 Privilege도 API 레퍼런스를 참고하여 개발하면서 추가하면 됩니다.

 

 

 

Localization 탭에서는 홈화면에 나타나는 앱이름을 다국어에 맞게 설정할 수 있습니다.

위에 간단하게 3개국에 대해 설정해보았는데요,

앱을 사용하는 사람이 한국어를 기본언어로 설정해두었다면 이 앱은 홈화면에서 '앱'이라는 이름으로 보일 겁니다.

 

 

 

Advanced 탭에서는 앱이 실행될 때 사용할 수 있는 여러 기능들을 지정할 수 있습니다.

단순히 샘플앱을 실행하는 지금 포스팅에서는 넘어가도록 하겠습니다.

하지만, 굉장히 흥미로운 기능이 많으니 차후에 하나하나 설명하도록 하겠습니다.

 

 

 

샘플앱을 생성하였다면 이제 에뮬레이터를 띄워서 확인해보도록 하겠습니다.

위의 캡쳐이미지와 같은 단추를 눌러 에뮬레이터 매니져를 띄워주세요.

 

 

 

에뮬레이터 매니져를 통해 다양한 프로파일의 다양한 버전에서 동작하는 에뮬레이터를 띄울 수 있습니다.

이 예제에서는 모바일 프로파일 버전 2.4로 샘플을 생성하였기에 그에 맞는 에뮬레이터를 선택하고 런치를 누르겠습니다.

만약 자신이 원하는 프로파일/버전의 에뮬레이터가 없으면 Create 버튼을 눌러 새로운 설정값의 에뮬레이터를 생성하면 됩니다.

 

 

 

에뮬레이터를 띄우면 락화면이 먼저 나옵니다.

마우스를 드래그하여 락화면을 풀면 홈화면이 나옵니다.

 

 

 

위의 빌드버튼을 눌러 우선 앱을 빌드를 합니다.

샘플앱은 이미 검증을 받았기 때문에 빌드에러없이 빌드가 완료될 겁니다.

 

 

 

그리고 위의 Run 버튼을 눌러 샘플앱을 실행하면,

에뮬레이터에 자동으로 설치한 후 앱이 실행됩니다.

 

 

 

 

오늘은 간단히 타이젠 샘플앱을 생성하여 실행하는 방법을 알아보았습니다.

타이젠 스튜디오의 메뉴가 여러므로 깔끔해져서 개발 편의성도 증진된 것처럼 느껴지네요.

그럼 즐거운 하루 보내세요.