Как стать автором
Обновить

Комментарии 22

У вас написана только часть правды.
Не все приставки позволяют менять страницу портала или адрес портала. Например Amino на первой вашей странице обязывает иметь специально ключи для этого т производителя. Есть несколько уровней доступа для этого. Я как-то долго собирал как раз прошивки для амино кастомные.

Некоторые производители используют нативные приложения. Я помню даже встречал такое странное решение.
По спутнику в специальном канале транслируется скомпилированная на специальном языке, похожем на С программа. И при старте приставка слушает эти специальные каналы и исполняет их. Причем можно транслировать общее приложение, приложение на канал или приложение на программу передач.

Вот например Smartlabs под эти самые Амино делал свои прошивки: выпиливал оперу из них и вставлял свои «нативные» приложения на C++. Потом они сделали вообще свою приставку. Но вот в этом смартлабс целый отдел, которых запихивает нативное красивое решение во все приставки, я не помню ни одной в которую бы не удалось запихнуть.

Но с приставками есть очень интересный момент — они построены на целом зоопарке архитектур:PPC, ST, Atom, ARM9…

К чему это всё? К тому что под приставки писать не стоит: платформы закрытые и даже одна линейка продуктов предполагает разные стандарты. Были попытки стандартизировать это, но так вроде и не получилось. Лучше писать под SmartTv, там намного всё лучше, хотя тоже далеко до идеала.
Например Amino на первой вашей странице обязывает иметь специально ключи для этого т производителя.

Не знал. Очень интересная информация. Спасибо.

В целом, задумка дать общее представление что есть бокс и как с ним начать работать. Поэтому, информация субъективная, так сказать выжимка из граблей.

К тому что под приставки писать не стоит

Приставки востребованы, и в любом случае работать с ними и поддерживать их нужно.

Лучше писать под SmartTv, там намного всё лучше, хотя тоже далеко до идеала.

Согласен, писать под смарты проще.
Добавил эту информацию в статью.
А вы не в курсе, под Ростелеком смартлабовские приставки сам смартлаб пили или спецы Ростелекома? UX ужасен, могу напрячься и к выходным анализ выложить…
Насколько я знаю Smartlabs кастомизирует им под их запросы.
Могу им передать, напишите конечно свой анализ, будет очень интересно.
Мне всегда было интересно — почему ни одна приставка и близко не может приблизиться к Kodi/XBMC? Комбайн абсолютно всеядный. Все хотят свою фигню, чтобы огородить со всех сторон? Просто, сколько я их видел — все печально в целом.
итерация по ключам объекта происходит в не отсортированном виде

В том то и весь цимес что оно по спецификации так и есть, в сортированном виде только массивы, а конструкция for..in этого не гарантирует
Я спеку не смотрел, но думал что вероятнее всего в спеке это не описано. Поэтому и написал «возможно, не баг», чтобы никому не наврать. Спасибо что заглянули в спеку)
Исправил этот момент в статье.
Спасибо. А в qemu можно как-то сэмулировать приставку? Для отладки, я ковырялся в этом направлении на основе stb mag 250, но так ничего и не вышло. Было бы интересно прочитать статью про это.
В android точно эмулировали. Как раз mag 250. play.google.com/store/apps/details?id=com.vasilchmax
Думаю, можно связаться с автором и пообщаться на эту тему.
Еще есть эмулятор MAG 250 для десктопных ОС на C++/Qt5 (https://github.com/mvasilchuk/yasem).
Подозреваю, что автор один и тот же. Спасибо, не знал.
Если будет интересно, то могу написать статью по принципам и особенностям эмуляции в Android и для десктопа.

Я — автор обоих приложений, если что.
Тогда вам искреннее спасибо. Не знаю как остальным, а мне совершенно точно интересно будет.
Если возможно, напишите статью, пожалуйста. Возможно, эта информация многим пригодится. Если по принципу который используете вы можно эмулировать другие боксы, это будет огромный плюс к возможности автоматического тестирования продуктов под приставки. Пока эмуляции нет, тестировать автоматически приложение на боксе довольно сложно.
Я про qemu не слышал, и в целом с полноценной эмуляцией STB не сталкивался. Думаю что это возможно (без посторонней помощи), но только если вендор сам предоставит что-то для решения этой задачи.

Например, самсунг в открытом доступе держит эмулятор (образ для VirtualBox'а), и можно тестировать приложение под самсунги без использования телевизора.

Прошивка пишется на языке программирования более низкого уровня (например, насколько я знаю, C#), поэтому лучше обратиться с этим вопросом к людям которые знают как генерятся прошивки, и можно ли из них вытащить данные. Если можно: тогда, возможно, можно будет самому создать окружение научившись распаковывать прошивку. Не знаю будет ли это работать, нужно консультироваться у вышеупомянутых людей.

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

Для отладки кейсов с зависимостями от железа (потоки, другое) рекомендую использовать бокс + инструмент для дебага (любой логгер с возможностью обмена командами между PC и другой машиной по WebSocket). Он подключается как скрипт на страницу, и можно с бокса на PC отправлять лог, смотреть как работает код.

Если задачи не завязаны на какие-то задачи связанные с железом, можно мокнуть платформу (все методы) и запустить приложение на PC (как обычное веб-приложение).
периодически прогоняйте ваше приложение на утечки памяти


Используете Chrome Developer Tools через chrome://inspect для профилирования и дебага? Все приставки поддерживают remote protocol?
Речь идет о подключении к удаленному рабочему столу, верно?
Нет, это просто подключение к удалённому браузерному движку. Вот например как можно удобно дебажить сайты и PhoneGap приложения на андроиде: developer.chrome.com/devtools/docs/remote-debugging. Можно ли похожим механизмом подключаться к приложению на боксе?
А как же приставки в которых полноценный Android (тот же minix)?
Там удобнее подключить BT мышь и о всех ограничениях можно забыть :)
Не могу ничего сказать про такие боксы. Я с ними не работал)
Если вы работали с ними, будет отлично если вы напишете статью.)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории