• Почему не выполняется деструктурирующие присваивание без условия?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    В таком виде, JS воспринимает всю конструкцию как единое выражение, оператор if же способствует автоматической расстановке точек с запятой.
    В итоге получается такая последовательность действий:
    async function requestKeyParsingToken() {
      try {
        ({public_key: keyParsingTokenEndpoint} = data);
        const {data} = await request({
          method: "get",
          url: TOKEN_SETTINGS,
        })(data);     
      } catch (error) {
        console.log(error)
      }
    }
    А ошибка возникает из-за использования переменной до ее объявления, что запрещено с переменными объявленными через let и const, это называется "мертвое всплытие".

    P.S. таких ошибок (а так же многих других) помогает избегать eslint, конкретно в данном случае помогло бы правило semi с параметром always
    Ответ написан
    Комментировать
  • Эмуляторы для разработки на Smart TV?

    spmbt
    @spmbt
    1) Хороших эмуляторов нет. Разработка под эмулятор будет по стилям отличаться от реальных ТВ. Делать под эмулятор - фактически, тратить время, т.к. потом - переделывать.
    2) Которые есть - имеются строго под заданный бренд и заданное поколение (версию) своих телевизоров. Искать их - на сайтах для разработчиков у производителей. У мелких (Toshiba и китайские ноунеймы), возможно, эмуляторов не найдётся. У Самсунга и LG точно есть. Но с особенностью - что может не запуститься. Лучше всего их софт для разработчиков работает (хотя и плохо) под Windows.
    3) Версий ТВ уже накопилось у них штук по 5-8, при этом все дружно начинают игнорировать поддержку ТВ старее примерно 4-5 лет. Sony - так вообще перешла на Android-TV, что неплохо, но добавляет зоопарка разнородных систем.

    Итого, чтобы разрабатывать под Smart TV, надо

    1) брать IDE для разработки для каждого бренда каждое своё (иначе Самсунг просто не даст тестировать на своих новых ТВ 2015 года и новее, к примеру),

    2) регистрироваться как разработчик (иначе - п.1), забыть про "свободную" публикацию приложений - разработка, если не выложена в магазин вендора, запускается только на ТВ разработчика под его логином.

    3) понакупить ТВ нужных систем - в первую очередь - Самсунг, LG и Сони в порядке
    приоритета. Старые версии можно игнорировать, но без ТВ вам нереально будет пройти модерацию при выкладке приложения в магазин. И если правда вам нужно приложение в магазине - нужно назваться компанией (формально, для вендора) и приготовиться на 1-6 месяцев переписки с модераторами. Они сами могут ошибаться легко и не пропускать. Но если вы ошибаетесь, скорость ответов от них для вас резко падает - с 3 дней до 3 недель, скажем. И считайте, что нужно пройти 5-10 попыток выложить приложение (т.к. найдя 1 ошибку или псевдоошибку, следующие уже не ищут). Разумеется, с соблюдением авторских прав владельцев контента. У Apple TV - наверное, похожая отдельная песня. ( https://www.digger.ru/things/5-prichin-ne-pokupat-... )

    Можно, конечно, распространять полулегально (хотя что считать легальностью?) разработческие версии, но года с 14-го Самсунг и ЛГ поставили ограничение, что собранное приложение для разработчика запускается, но не больше полугода (примерно). Потом надо снова пересобрать приложение. Другие пересобрать могут, т.е. распространять тогда надо исходный код с инструкциями и скриптами сборки (Node JS). Но без ТВ это у них не получится. А у Самсунга запустить из-под другого аккаунта - наверное, можно, ведь модераторы как-то проверяют. А просто разработчики - не уверен. Во всяком случае, могут и этот канал закрыть. (Или вы раз в полгода обновляете разработческую сборку, а другие тоже заходят с паролями разработчиков. Разумеется, эту "нездоровую движуху" вендор увидит по количеству запусков и аккаунтов и может, например, перекрыть. Т.е. вы этим способом не можете просто взять, написать и пользоваться с распространением - ТВ в этом плане не свободны. Неизмеримо проще просто использовать ТВ как монитор 4К, а сделать просто одно веб-приложение - игра, потоковое видео, прикладное - неважно.).

    С Тошибой запустить - мороки поменьше, запретных правил не так много. И вообще, чем меньше сил у вендора, тем меньше проблем с разработкой под него. А монстры уж очень обкладывают сертификациями, цифровыми подписями собранное приложение. И из-за этого сертификата не факт, что для Самсунга 2015+ получится собрать своими скриптами приложение. Для LG 2014 у меня получалось сделать из командной строки Нодой. И Самсунг тогда ещё не имел сертификации приложения (некий модуль в IDE, дающий подпись на базе вашего пароля разработчика) и тоже мог собираться без IDE.

    Для Андроид-ТВ-приставок приложения, проходящие через Аппстор Гугла - наверное, самый практичный вариант для себя и знакомых, имеющих такие же приставки. Но все они слабые (раз в 10 слабее компа или в 5 - смартфона) и быстро стареют, поэтому, в основном, игра не стоит свеч. Поэтому так мало приложений в магазинах вендоров. Там работают в основном фильмо- или ТВ-прокатчики, могущие позволить парк ТВ для разработки.

    Не всё так просто в королевстве датском.

    Тут https://en.wikipedia.org/wiki/List_of_smart_TV_pla... списки зоопарка. Большинство - устаревшие платформы. Актуальные - Android TV, Smart TV Alliance, Tizen OS for TV и Samsung Smart TV (Orsay OS) не для Тайзенов (выпускаются и сейчас).
    Ответ написан
    2 комментария