Project TOAST @Github

Title
Project TOAST @Github
Date
Nov 9, 2015
notion image
 
최근에 제가 개발에 참여한 라이브러리를 오픈소스로 공개하였습니다. 아래 주소에서 코드를 확인하고 사용하실 수 있습니다.
 
 
Cordova라는 잘 알려진 모바일향 웹 앱 개발도구가 있는데요, HTML/CSS/JS로 모바일 UI를 개발하면서 Device API는 Cordova에서 제공하는 JavaScript 스펙을 사용하여 앱을 개발하면, 이를 iOS, Android 등의 각 모바일향 패키지로 생성해주는 개발자도구입니다. 이러한 Cordova의 플랫폼 지원범위를 TV 플랫폼으로도 넓혀줄 수 있는 도구가 이번에 개발한 라이브러리들입니다.

cordova-sectv-orsay, cordova-sectv-tizen

삼성 TV의 플랫폼은 크게는 두가지로 나뉘어지는데요, 2014년 이전에 발매된 TV에 탑재된 플랫폼(Orsay라고도 불립니다)과 2015년 이후에 발매된 TV에 탑재된 Tizen 플랫폼이 그것이지요. 생성한 Cordova 앱을 이 두가지 플랫폼향 앱으로 생성해주기 위한 프로젝트가 cordova-sectv-orsay, cordova-sectv-tizen 입니다. (참고로, Cordova의 플랫폼 지원 라이브러리는 cordova-<PLATFORM> 의 명명규칙을 가지는데요, 두 플랫폼의 플랫폼 ID는 각각 ‘sectv-orsay’와 ‘sectv-tizen’입니다. 앞에 붙은 sectv는 모바일 플랫폼과 구분하기 위한 접두어입니다.)
아직 모든 Cordova API 스펙을 지원하는것은 아닙니다. TV 앱 개발시 반드시 필요할것으로 생각되는 스펙들이 구현되어있는 상태이고, 필요할 경우 계속 추가 지원될 예정입니다.

grunt-cordova-sectv

이러한 두 플랫폼이 아직 Cordova에서 정식 지원되는 플랫폼은 아니다보니, Cordova CLI(Command Line Interface)를 통해 플랫폼의 추가, 패키지 생성 등이 지원되지는 않습니다. 정식으로 지원하기 위해서는 Cordova를 관리하는 Apache 재단의 cordova-lib 프로젝트에 Contribution이 필요하지요. 그렇게 정식 지원하기 전에 이들을 당장 사용할 수 있도록 개발된 프로젝트가 grunt-cordova-sectv 입니다. Cordova 의 prepare, build에 해당하는 프로세스를 Grunt Task 로서 수행해주는 라이브러리입니다.
위의 3개 라이브러리를 이용 하면 개발된 Cordova앱을 TV에서 동작하도록 만들 수 있는데요, TV앱 개발에 필요한 TV 관련 기능들이 Cordova API 스펙에는 없으므로 이들을 쓰기 위한 플러그인이 필요합니다.

cordova-plugin-toast

Cordova에서는 API 스펙을 Plugin 단위로 관리하고 추가/삭제하도록 되어있습니다. cordova-plugin-geolocation, cordova-plugin-battery 등과 같이요.
cordova-plugin-toast는 TV 관련 API들을 제공하는 Cordova Plugin입니다. TV의 기능이라 하면, 채널, 볼륨, 비디오 재생(with DRM) 등과 같은 기능들입니다.
TOAST를 활용한 TV 앱 개발의 flow는, (Chrome) browser에서의 개발 -> TV SDK에서의 Test -> TV target에서의 테스트와 배포 의 순으로 권장하고 있는데요,
이를 위해서 대부분의 TOAST API 스펙은 browser, sectv-orsay, sectv-tizen의 세가지 플랫폼을 지원하도록 개발되어 있습니다.
자세한 내용은 각 프로젝트의 README 를 참고해보시면 좋을 것 같습니다.
사용중에 발견되는 Bug는 Github의 Issue로 리포트해주시거나 직접 수정하여 pull request 해주시면 감사하겠습니다.
아직 초반이라 부족한 부분이 많을것이고, 그렇기때문에 최대한 빠르게 대응할겁니다.