베일 벗은 타이젠 닷넷(Tizen .NET) 두 번째 프리뷰
타이젠(Tizen), 다들 아시죠? 삼성전자를 비롯, 여러 제조사에서 출시된 스마트기기(스마트폰·태블릿·TV·웨어러블 등)와 사물인터넷(Internet of Things, 이하 ‘IoT’) 기기를 지원하는 리눅스 기반 모바일 운영체제(OS)인데요.
지난해 11월 17일 삼성전자는 타이젠에 마이크로소프트(MS) 오픈소스 플랫폼 ‘닷넷(.NET)’을 탑재하며 애플리케이션(이하 ‘앱’) 개발자용 신규 개발 언어인 타이젠 닷넷 프리뷰 #1(Tizen .NET Preview #1, 이하 ‘프리뷰 #1’)를 공개했었습니다. 이어 지난 1일엔 한층 업그레이드된 두 번째 프리뷰(Preview #2, 이하 ‘프리뷰 #2’)를 선보였죠.
프리뷰 #2에서 공개된 타이젠 닷넷은 프리뷰 #1에 비해 여러 부문에서 향상된 모습을 보여 개발자들의 주목을 받았습니다. △호환 UI 구성요소(UI component)의 증가 △타이젠 3.0 M2에서 사용하던 API(Native API)를 C# 언어로 지원하는 타이젠 플랫폼 특화 API(Tizen Platform-Specific API) 지원 범위 확대 △탑재된 장치의 활용도 향상 등이 대표적이죠. 자, 그럼 구체적으로 어떤 점이 좋아졌는지 하나씩 살펴볼까요?
타이젠 닷넷은 △닷넷 코어(.NET Core) △UI 프레임워크인 자마린폼즈(Xamarin.Forms) △타이젠 고유 기능을 제공하는 타이젠 플랫폼 특화 API로 구성됩니다<개념별 설명은 아래 박스 참조>.
닷넷 코어
윈도(Windows®)와 맥 OS X(Mac OS® X), 리눅스 등 오늘날 상용되는 OS를 지원하는 교차 플랫폼. 마이크로소프트에 의해 유지·보수되고 깃허브(GitHub)를 통해 공동 개발이 가능한 오픈소스입니다. △기계어 번역과 가비지 콜렉션(Garbage Collection), 기본 서비스 등을 담당하는 ‘닷넷 런타임(.NET Runtime)’ △기본 데이터 유형, 애플리케이션 구성 유형, 그리고 기본 유틸리티를 제공하는 ‘프레임워크 라이브러리(Framework Library)’로 구성됩니다.
프리뷰 #2에선 앱 실행 시간에 영향을 끼치는 ‘AOT 컴파일(Ahead-Of-Time compile)’ 기술이 적용돼 닷넷 앱의 론칭 성능이 상당 부분 개선됐습니다. 또한 ‘넷 표준 1.6(NET Standard 1.6)’을 적용, 닷넷에서 제공하는 API도 사용할 수 있게 됐는데요. 이에 따라 향후 더욱 다양한 도메인에서 타이젠 닷넷 앱을 활용될 수 있을 전망입니다.
자마린폼즈
△iOS △안드로이드(Android) △윈도 폰(Windows Phone) △윈도 앱(Windows App)에서 지원되는 교차플랫폼 UI 개발환경(Cross-platform UI Toolkit)입니다. 타이젠이 아닌 플랫폼으로 개발된 앱들을 타이젠으로 쉽게 이식하고 여러 플랫폼용 앱을 동시에 개발할 수 있도록 돕는 개발 도구입니다.
타이젠 플랫폼 특화 API
네트워크∙다중매체∙위치∙센서∙시스템∙앱 등과 같은 타이젠 고유 프레임워크(Tizen native framework)를 native f로 제공해줍니다. 타이젠 닷넷 앱 개발 시 비주얼 스튜디오(Visual Studio)에서 플랫폼 특화 API를 호출, 작업하는 것도 가능합니다.
타이젠 플랫폼에 닷넷이 지원됨에 따라 개발자들은 타이젠 플랫폼으로 개발된 ‘웹 앱(Web App)’은 물론, 자마린폼즈와 타이젠 플랫폼 특화 API를 이용한 닷넷 앱도 개발할 수 있습니다. 타이젠 앱을 개발하며 한층 다양한 개발 환경을 선택할 수 있게 된 셈입니다.
▲ 타이젠 닷넷의 구조
타이젠 전용 비주얼 스튜디오 도구(Visual Studio Tools for Tizen)는 개발자에게 가장 인기 있는 IDE(Integrated Development Environment, 통합개발환경) 중 하나인 비주얼 스튜디오를 활용, 시각적으로 보다 쉽게 타이젠 닷넷 앱을 개발할 수 있는 환경을 제공합니다. 타이젠 전용 비주얼 스튜디오 도구 설치 시 제공되는 타이젠 템플릿은 타이젠 닷넷 개발에 필요한 옵션을 다양하게 제공합니다.
이런 변화는 △빌드(Build) 환경 △리치 에디터(Rich Editor) △디버거(Debugger) 등 개발자가 익숙하게 써오던 비주얼 스튜디오 제공 기능을 그대로 사용할 수 있게 해줘 앱 개발 시간을 단축시킬 전망입니다. 타이젠 생태계 확대에도 긍정적 영향을 끼치겠죠?
▲ 비주얼 스튜디오에서 타이젠 프로젝트를 생성한 화면
실재(實在) 기기와 유사한 환경을 제공하는 에뮬레이터(Emulator)[1]는 개발자의 시행착오를 줄여준단 점에서 앱 개발의 필수 도구라 할 수 있습니다. 프리뷰 #2에선 여러 에뮬레이터를 효과적으로 관리해 주는 도구로 ‘에뮬레이터 매니저’가 제공되는데요. 개발자에게 에뮬레이터 매니저로 개발 중인 앱을 가상의 기기에서 테스트해볼 수 있는 환경을 제공, 편리함을 더했습니다.
에뮬레이터 매니저를 활용하면 모바일과 TV의 ‘가상 기기(instance)’ 설정이 가능합니다. 모바일과 스마트TV를 연동(혹은 제어)하는 앱 개발 과정에서의 다양한 시도가 어떤 결과를 보여주는지 미리 확인할 수 있게 된단 얘기죠. 에뮬레이터 매니저를 활용한 타이젠 닷넷이 지속적으로 진화한다면 프리뷰 #2에서보다 더 많은 가상 기기를 만들 수도 있겠죠?
▲에뮬레이터 매니저를 이용해 만든 가상의 TV와 모바일 기기. 비주얼 스튜디오에서 개발한 패키지는 에뮬레이터에서 생성한 가상의 모바일(또는 TV)에서 바로 실행해볼 수 있습니다
모바일 에뮬레이터에서 실행한 앱은 아래와 같이 실행돼 실제 기기에서 동작하는 것처럼 보입니다.
▲모바일 에뮬레이터에서 실행한 앱은 개발자가 설정해둔 값에 따라 스마트폰·태블릿 등 기기별 환경에서 어떻게 보이는지 미리 확인할 수 있습니다
에뮬레이터 조정 패널(Emulator Control Panel)을 이용하면 실제 기기에 탑재된 NFC나 GPS에서 발생하는 시스템 이벤트를 시험해볼 수 있을 뿐 아니라 배터리나 SD카드 상태도 확인할 수 있습니다.
▲에뮬레이터 조정 패널은 실제 모바일 환경에서 지원되는 각종 요소를 한눈에 보여줘 개발자가 다양한 변수를 고려해 테스트할 수 있도록 설계됐습니다
현재는 모바일과 TV 에뮬레이터만 제공하는 상태인데요. 웨어러블 에뮬레이터(Wearable Emulator)가 제공될 날도 머지않았습니다.
프리뷰 #2 발행에 맞춰 개발자 사이트 콘텐츠 또한 보강됐는데요. 모바일뿐 아니라 TV에서 실행되는 신규 샘플도 여럿 추가됐습니다.
자마린폼즈로 디자인한 UI는 타이젠뿐 아니라 (자마린폼즈를 사용할 수 있는) iOS와 안드로이드에서도 사용할 수 있다고 하니 개발자에게 많은 도움이 될 전망입니다. 또한 타이젠에서 제공하는 UI 구성 요소를 모두 사용한다면 아래와 같이 기존 타이젠 앱과 유사한 디자인으로 표현할 수 있습니다.
▲TV 에뮬레이터에서 실행된 앱 구동 모습
▲모바일 에뮬레이터에서 실행된 앱 구동 모습
지속적으로 진화 중인 타이젠 닷넷의 모습, 어떻게 보셨어요? 타이젠 닷넷은 추후 정식 버전인 ‘타이젠 4.0’에서 공식적으로 지원될 예정입니다. 타이젠 4.0 탑재 기기 출시와 함께 한층 완벽한 모습으로 등장할 타이젠 닷넷의 미래, 많은 관심 갖고 지켜봐주세요!
※보다 자세한 정보는 타이젠 닷넷 개발자 프리뷰 공식 웹페이지에서 확인하실 수 있습니다
[1] 어떤 하드웨어나 소프트웨어의 기능을 다른 하드웨어나 소프트웨어로 모방해 실현하기 위한 장치나 프로그램
삼성전자 뉴스룸의 직접 제작한 기사와 이미지는 누구나 자유롭게 사용하실 수 있습니다.
그러나 삼성전자 뉴스룸이 제공받은 일부 기사와 이미지는 사용에 제한이 있습니다.
<삼성전자 뉴스룸 콘텐츠 이용에 대한 안내 바로가기>