Connect with us

Разработка

Опыт разработки под Apple TV: Сложности и радости

Разработка под tvOS оставляет только положительные впечатления. TVMLKit подойдёт очень многим приложениям и позволит сэкономить время и ресурсы на вёрстке, визуальных эффектах и оптимизации. Но если вы захотите создать что-то визуально уникальное, то всегда можно обратиться к нативным способам разработки.

AppTractor

Опубликовано

/

     
     

Игорь Неменёнок из Chili Studio поделился с нами опытом разработки приложения для новой платформы Apple TV.

Прошло не так много времени с начала продаж нового Apple TV, а разработчики уже вовсю экспериментируют с новой платформой. Наша команда из Chili Studio решила не оставаться в стороне и попробовать свои силы в разработке приложения для tvOS. В этой статье мы поделимся своим опытом и расскажем о подводных камнях, на которые нам довелось натолкнуться.

Дизайн приложения

После прочтения гайдлайнов и нескольких вечеров, был готов приблизительный дизайн приложения. Основные советы, которые даёт Apple – всё должно быть просто, чисто и интуитивно понятно. Чтобы пользователь понимал, куда можно нажать, что можно скролить и т.п.

TV3

TVMLKit

Первым вариантом для разработки приложения был выбран TVMLKit, т.к. Apple предлагает именно этот подход для написания клиент-серверных приложений для Apple TV. Подробнее об этом подходе можете почитать на странице документации и статью от ребят из Rutube, которые уже выпустили своё приложение на TVMLKit’e.

Плюсы:

  • Легко использовать.
  • Большое количество готовых шаблонов и элементов.
  • UI можно обновлять на сервере. Означает, что не нужно при малейших изменениях отправлять приложение на ревью и ждать неделю.

Минусы:

  • Ограничения в дизайне.
  • Сложность дебага. Разработчики жалуются, что Safari web inspector не видит контекста приложения.
  • Нет возможность редактировать некоторые хедеры в запросах. В нашем случае это был жирный минус, т.к. API видео сервиса не работает, если не указать кастомный User-Agent. Всё это потому, что для запросов используется XMLHtttpRequest.

Из-за ограничений в дизайне и невозможности редактирования User-Agent’a мы решили отказаться от этого подхода и разработать традиционное приложение.

Традиционные приложения

С этим подходом всё понятно, можно писать нативные приложения на Objective-с или Swift, используя все плюшки UKit’a, Storyboards, Autolayout и т.п.

Чтобы понять что к чему, можно скачать демо-проект с сайта Apple и посмотреть исходники.

Focus Engine

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

Хорошая статья на эту тему есть в блоге Airbnb.

1441855169tvOS

Сложности с которыми столкнулись:

1. Cocoapods

На данный момент большая часть библиотек не поддерживает tvOS. Чаще всего вы увидите такую надпись в консоли:

The platform of the target `Pods` (tvOS 9.0) is not compatible with `POD_NAME`, which does not support `tvos`.

Чтобы решить эту проблему, можно указать ветку или тег с поддержкой tvOS, или же сделать fork и внести нежные изменения, чаще всего достаточно в .podspec файле указать:

s.tvos.deployment_target = '9.0'

2. Баги в tvOS

Так как платформа новая, то и не обходится без багов. Как пример, на данный момент нельзя указать цвет текста UITabBarItem для состояния UIControlStateNormal.

3. Тестирование приложение на реальном устройстве

Есть 2 способа загрузить приложение на Apple TV: TestFlight и используя кабель USB-C на USB. С TestFlight всё понятно, а вот кабель USB Type C на USB Type A не идёт в комплекте с Apple TV, так как нужен только разработчикам, поэтому найти в магазине такой кабель – тот ещё квест.

4. Ввод текста с помощью пульта

Ввести текст можно, используя Siri или выбирая символы пультом. Комплекты Apple TV c поддержкой Siri поставляются лишь в 8 стран, и Россия туда не входит. Ввод текста с других iOS устройств так же не поддерживается.

5. iPhone как игровой контроллер

На презентации Apple разработчики игры Crossy Road показали, как весело играть в игру вместе с друзьями, используя iPhone вместо джойстика, но проблема в том, что удобного способа, как это сделать разработчикам в своих приложениях, нет. На форуме Apple советуют посмотреть в сторону Bonjour и Bluetooth LE.

Общие впечатления

Разработка под tvOS оставляет только положительные впечатления. TVMLKit подойдёт очень многим приложениям и позволит сэкономить время и ресурсы на вёрстке, визуальных эффектах и оптимизации. Но если вы захотите создать что-то визуально уникальное, то всегда можно обратиться к нативным способам разработки.

В заключение

Несмотря на различные минусы и молодость данной платформы, для разработчиков открывается совершенно новый и не изученный рынок, где пока не существует никаких правил и историй успеха. То, что работает на телефонах, не факт, что будет работать на ТВ. Сейчас в App Store всего несколько тысяч приложений, а значит шанс, что ваше приложения станет популярным, очень высок.

Поэтому нет времени прохлаждаться и ждать пока платформа станет популярной, ведь тогда будет уже поздно!

Комментарии
Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Advertisement
Click to comment

You must be logged in to post a comment Login

Leave a Reply

Кроссплатформенная разработка

Google выпустил последнюю превью-версию Flutter

На Google Developer Days China была объявлена финальная девелоперская версия Flutter.

AppTractor

Опубликовано

/

Автор:

Судя по всему, Flutter Release Preview 2  – последняя версия перед выпуском стабильной версии Flutter 1.0, которая должна выйти в этом году.

Это уже шестая итерация почти за полтора года – первый анонс Flutter состоялся на Google I/O в мае 2017 года, а первая бета вышла в феврале.

В Flutter Release Preview 2 – поддержка фонового выполнения задач, уменьшение размера приложений до 30%, «pixel-perfect» приложения для iOS и расширенная поддержка этой системы.

Как говорит Google, на Flutter уже есть приложения Alibaba (Android, iOS), Tencent Now (Android, iOS) и Google Ads (Android, iOS).

 

 

Комментарии
Продолжить чтение

Новости

Интересные материалы: 19.09

У нас сегодня инструменты, уроки, курсы и исследования.

AppTractor

Опубликовано

/

Автор:

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

Комментарии
Продолжить чтение

Исследования

Новый отчет Developer Economics «Состояние нации разработчиков»

Компания SlashData опубликовала новый отчет из серии Developer Economics «Состояние нации разработчиков» за второй квартал 2018 года.

AppTractor

Опубликовано

/

Автор:

Это обобщенные данные опроса, который проходил весной, и на который ответило более 20,000 человек.

Ключевые выводы:

  • Data science и машинное обучение станут наиболее востребованными навыками в следующем году – 45% разработчиков хотят получить опыт в этих областях.
  • 33% разработчиков хотят изучать UI-дизайн, 25% – облачную разработку. Интерес к изучению других языков программирования меньше. Похоже, что разработчики хотят дополнять свои навыки, а не улучшать.
  • DevOps все более распространен – каждый восьмой в опросе работал над проектами из этой сферы.
  • У 40% есть интерес к роботам, но только 9% разработчиков работает над реальными проектами.
  • JavaScript остается самым популярным языком программирования:

  • Разработчики игр стали зарабатывать больше. Если в первой половине 2017 года только 29% опрошенных получали более 100 долларов в месяц от своих игр, то сейчас таких 48%.
  • Игровая разработка смещается в веб – в 2017 году 38% разработчиков игр работали для веба, а сейчас их 43%, в то время как доля смартфонов, планшетов и десктопов снизилась.

Весь отчет вы можете скачать по ссылке: http://sdata.me/DE2Q18DD.

Комментарии
Продолжить чтение

Новости

У Humble Book Bundle книги по разработке игр

В Humble Book Bundle новая распродажа – на этой неделе книги по разработке игр.

AppTractor

Опубликовано

/

Автор:

За 1 доллар вы можете получить руководства по Blender и SFML, учебник  по игровой физике, можете узнать основы Unreal Engine 4 и разработки игр на C++.

Заплатив 8 долларов вы получите еще 9 книг – про AI, OpenGL, VR, Unity, игровой дизайн.

Последний шаг – 15 долларов и еще 11 книг. Тут есть руководства по Vulkan, Godot, Swift, углубленные учебники по C++, Unity, Unreal.

 

Комментарии
Продолжить чтение

Реклама

Наша рассылка

Нажимая на кнопку "Подписаться" вы даете согласие на обработку персональных данных.

Вакансии

Популярное

X
X

Спасибо!

Теперь редакторы в курсе.