🔥

Тред (Андрей Нагих)


🔥🔥🔥 И пожалуй самая-самая боль — это средства разработки. Про те 3 старые платформы справедливо сказать, что средств разработки НЕТ. Серьёзно, никаких вам DevTools, никакой консоли. alert(1); наше всё.

Мы писали утилиту, которая распечатывает объекты поверх интерфейса приложения. JSON кстати там тоже не было, притащили полифил.

Потом мы нашли чудесную штуку: WeInRe. Странное название расшифровывается как WebInspector Remote. people.apache.org/~pmuellr/weinr…

Приблуда состоит из двух частей: js агента для приложения и серверной части с каким то древним форком WebKit DevTools. Общаются они по вебсокетам (а может где-то и лонг-пуллиногом, не разбирался).

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

🔥 Отдельное удовольствие это процесс запуска девелоперской сборки на телевизоре. Собрать код в пакет через IDE (переименованный зип) Зайти на девелоперский сайт, залогинитсья. Закачать пакет на сайт, чтобы подписать электронной подписью. Заполнить большую форму ...

Скачать пакет обратно. Положить его на флешку. Вытащить флешку из компьютера. Вставить флешку в телевизор. С помощью пульта пройтись по нескольким меню и установить приложение. Можно проверять изменения! PROFIT.

Я не шучу и не преувеличиваю. Именно так LG предлагала разрабатывать под NetCast в 2014 году. Хотел приложить скриншот этой формы, но на сайте для разработчиков ссылка на неё протухла.

Временами складывалось впечатление, что вендоры всей душой ненавидят разработчиков приложений. Это сквозило из документации. Из «средств разработки». И из процесса ревью в сторы. (Отдельная песня :-( )

Мы конечно быстро написали служебное приложение которое строило список ссылок на все наши приложения в разработке и позволяло по ним перейти. Если приложение это вебстраница, то можно делать редиректы!

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

В само приложение встроили секретные комбинации клавиш для location.reload() и штук посложнее, вроде сброса настроек. Возможно эти чит-коды до сих пор там.

Справедливости ради, с выходом Tizen и WebOS Developer Experience кардинально изменился. Появилась Node.js CLI утилита с помощью которой можно было управлять процессом разработки. ✔️собирать пакет ✔️закачивать его на нужное устройство (по сети!) ✔️и о чудо! настоящий дебагер!

Для UI дебаггера использовались уже современные Chrome DevTools. И общались они с телеком по одноимённому протоколу. В общем, сейчас прошлые ужасы немного отступили.

Но совсем они не ушли. У нас до сих пор половина пользователей пользуется этими устаревшими платформами. А значит, мы всё ещё деплоим на них. Помним, купленный телевизор будет висеть на стене лет 5. А может и все 10.