IDE или CLI?
Первое, что волнует разработчика, адаптирующего своё приложение под очередную новую платформу - это то, насколько автоматизирован в дальнейшем будет процесс его сборки, а в случае, когда эта самая сборка должна быть кастомизируема - проблема становится ещё более злободневной. Поэтому для меня изначально встала следующая проблема - изучить механизмы сборки виджета, который в дальнейшем требуется для отправки в Samsung Apps.
Не отходя далеко от темы, скажу, что на выходе Ваше приложение должно оказаться файликом формата .wgt (и это первое внешнее отличие от виджетов формата .zip для Самсунгов с Webkit), а внутри него ожидаются сами файлы c кодом, вёрсткой и стилями + файл конфигурации + подпись разработчика (и это второе отличие - теперь политика безопасности Samsung несколько ужесточилась путём использования X509-сертификатов для подписывания виджетов).
О политике безопасности и о подводных камнях, связанных с ней, я расскажу чуть позже, а пока хотелось бы прояснить ситуацию с тем, каким образом можно получить заветный .wgt.
Первый, он же the way best practices, и он же единственный на данный момент - это установка среды для разработки под Tizen - Tizen IDE (можно скачать на официальном сайте вместе с SDK). Дело в том, что "руками" такой виджет собрать довольно проблематично из-за нескольких причин:
- Tizen IDE динамически генерирует AppID для приложения, который должен быть уникальным в магазине;
- доподлинно неизвестно, каким именно способом IDE подписывает файлы;
- сертификат для подписи виджета создаётся и генерируется в той же самой Tizen IDE;
- возможность устанавливать виджет на телевизор через флэш-накопитель была официально закрыта разработчиками Samsung и единственный способ для отладки приложения не в эмуляторе, а на телевизоре - это коннектиться к нему с помощью IDE.
Таким образом, от какого-то ручного способа сборки, будь то bash-скрипт или bat-файл, пришлось отказаться.
Но надежда умирает последней! На самом же официальном сайте Samsung упоминается о некоем загадочном интерфейсе командной строки для Tizen SDK - CLI commands. Там же честно упоминается о том, что данный интерфейс недоступен для Windows, но я этого уже не видела, потому что была увлечена установкой Tizen SDK с поддержкой CLI на Ubuntu!
К сожалению, огорчение не заставило себя долго ждать: уже на этапе первого ознакомления с Tizen SDK для Ubuntu, стало понятно, что создание Tizen TV (а точнее Tizen-TV-Samsung-Public) web-приложений он не поддерживает. Причина этого оказалась проста - в глубинах форума тех.поддержки Самсунга я нашла пост о том, что разработчики Tizen SDK просто-напросто ещё не прикрутили CLI для сбора именно TV-приложений:( так что пока ждём и пользуемся IDE.