- PVSM.RU - https://www.pvsm.ru -

Публикация WebGL-приложений для часов Samsung Galaxy Gear 2-S

Пример использования WebGL для разработки приложений для часов Galaxy Gear 2/S [1].

Часы работают под управлением ОС Tizen и приложения для них представляют собой обычные страницы HTML заархивированные в файл *.wgt. ОС имеет высокую совместимость с HTML5 (см. http://html5test.com/compare/browser/tizen-2.2.html [2]), среди прочего позволяет использовать WebGL. Например так:

image

Что нужно для разработки

Samsung предоставляет собственную IDE на базе Eclipse, скачать её можно здесь [3].
Дистрибутив включает в себя симулятор на базе Chrome и эмулятор на базе QEMU [4] (эмулятор работает крайне медленно на не-Intel процессорах).
Wizard проекта предлагает добавить в приложение JQuery Mobile [5], если используются другие библиотеки то их нужно добавлять вручную (просто скачать в папку проекта).
Я использовал Three.JS [6] одной из последних версий.

Где публиковать приложения

Samsung позволяет устанавливать приложения через свой магазин [7], причём только при наличии телефона, совместимого с часами. Регистрация разработчика в магазине бесплатна, из положительных моментов можно отметить неплохую систему тестирования — присылают вполне подробное описание проблем. Пример отчёта:

image

В некоторых случаях присылают видеоролик с воспроизведением ошибки на конкретном устройстве.
В магазине доступна подробная статистика по скачиванию, пример:

image

Проблемы разработки

Следует учитывать концептуальное отличие часов от телефонов и планшетов — очень маленький экран. При таком форм-факторе даже использование двухпальцевого жеста «раздвинуть экран» проблематично.
Желательно свести управление к однопальцевому методу и распологать на экране не более пары-трёх кнопок в ряд или по вертикали.

Технические проблемы незначительны и связаны, вероятно, с сыростью платформы. Примеры
— WebGL API не поддерживает некоторые варианты сжатия текстур
— Web Audio не работает (но можно в звуковых эффектах по-старинке воспроизводить .mp3)
— анализатор JSLint (http://en.wikipedia.org/wiki/JSLint) не пропускает в сборку некоторые JS-конструкции (можно просто переименовать .js файлы чтоб он не лез куда не надо)

Пример опубликованного приложения

Для конкурса [8] делалась игрушка в стиле Tower Defense. Скачать на часы можно на её странице в магазине [9].

Запустить в десктопном браузере или посмотреть исходный код можно тут: http://javafx.me/files/Crystallite/ [10]

Пример геймплея в эмуляторе:


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/pesochnitsa/77523

Ссылки в тексте:

[1] часов Galaxy Gear 2/S: http://www.samsung.com/global/microsite/gears/

[2] http://html5test.com/compare/browser/tizen-2.2.html: http://html5test.com/compare/browser/tizen-2.2.html

[3] здесь: https://developer.tizen.org/downloads/tizen-sdk?langswitch=en#wearable

[4] QEMU: http://en.wikipedia.org/wiki/QEMU

[5] JQuery Mobile: http://jquerymobile.com

[6] Three.JS: http://threejs.org

[7] свой магазин: http://seller.samsungapps.com

[8] конкурса: http://habrahabr.ru/company/samsung/blog/244471/

[9] её странице в магазине: http://apps.samsung.com/mars/topApps/topAppsDetail.as?productId=000000919703

[10] http://javafx.me/files/Crystallite/: http://javafx.me/files/Crystallite/