С какими трудностями столкнутся разработчики при адаптации приложений под складные экраны

Рассказывают представители «ВКонтакте», «Сбербанка», CleverPumpkin, Heads and Hands, AppCraft и MobileUp.

В мае 2019 года Samsung начнёт продажи смартфона со складным дисплеем Galaxy Fold в России. Ожидается, что стоимость устройства составит 150–200 тысяч рублей.

Galaxy Fold Фото Сэма Разерфорда для Gizmodo
Galaxy Fold Фото Сэма Разерфорда для Gizmodo

Ещё одна модель сгибающегося смартфона — Huawei Mate X. Компания презентовала устройство на конференции MWC в Барселоне в феврале 2019 года. Продажи начнутся в середине 2019 года. Стоимость устройства — €2299.

Apple же только получила патент на складной экран с подогревом. При холодном экране более вероятно образование трещин. Технология должна помочь этого избежать.

Над гибкими устройствами также работают Lenovo, Sharp, Xiaomi и Motorola.

Сложности в адаптации

Согласно официальной документации, нужно будет реализовать в приложении multi-resume-режим. Сейчас приложение переходит в режим паузы, когда оно неактивно. Новый механизм предлагает оставлять сразу несколько активных приложений.

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

Сегодня такие модели устройств можно пересчитать по пальцам. Насколько мне известно, сейчас не существует даже официальных Google-эмуляторов для отладки приложений. Есть программы от Samsung, но для реальной продуктовой разработки это не подходит.

В ближайшем будущем не планировали адаптировать мобильное приложение под складные экраны. Но основные функции приложения «ВКонтакте» будут работать на подобных устройствах и сейчас. Подобная задача не стоит среди приоритетных. Технология слишком молодая и будет доступна только с версии Android Q.

Олег Смирнов, ведущий Android-разработчик «ВКонтакте»

Процесс не представляет никакой сложности, если вёрстка приложений была реализована в «относительных» величинах, как рекомендует руководство для разработчиков Google Developer Guidelines. Пока что эти изменения в текущим коде кажутся нам незначительными.

Формат вёрстки и разработки нашего приложения СББОЛ («Сбербанк Бизнес Онлайн») таков, что мы «из коробки» поддерживаем большие экраны.

Но серьёзную адаптацию интерфейса специально под такие устройства проведём только по мере появления клиентов с такими устройствами. Сейчас мы не видим их на мониторингах. Но уже проверяем интерфейсы на эмуляторе. Он есть на сайте Samsung для разработчиков, там же — гайдлайны для разработки.

Евгений Колбин, вице-президент, директор дивизиона «Цифровой Корпоративный Банк» «Сбербанка»

Сам по себе складной экран не привносит в Android-разработку ничего принципиально нового: обработка складывания и раскладывания экрана ложится на изначально предусмотренный механизм обработки изменения конфигурации устройства в рантайме. Складной экран — это на самом деле несколько экранов разного размера, между которыми можно переключаться во время работы.

Продолжение выполнения приложения на маленьком экране после складывания устройства называется App Continuity. По умолчанию оно вызывает пересоздание Activity — точно так же, как и при перевороте устройства, за тем отличием, что меняется не ориентация, а размер экрана.

Если нужно избежать пересоздания Activity, можно выставить определённые флаги в значении атрибута configChanges в файле-манифесте. В этом случае при складывании-раскладывании будет вызываться обработчик onConfigurationChanged. Таким образом, если сейчас нет проблем с сохранением состояния Activity и обработкой переворотов экрана, то вероятнее всего, не будет проблем и с App Continuity.

Другие возможные действия по адаптации сводятся к подгонке вёрстки под узкие экраны — ширина дисплея Galaxy Fold в сложенном виде составляет 320dp. Здесь нужно сказать, что адаптивность интерфейсов под любое разрешение является одним из фундаментальных принципов разработки на Android. Поэтому прикладывать какие-то усилия придётся, только если изначально при разработке «забили» на маленькие устройства.

Что касается поддержки многоэкранности, то здесь может потребоваться проверить, какой экземпляр Context используется для доступа к параметрам дисплея или связанным с ним ресурсам. Например, для определения размеров экрана и доступа к ресурсам, значения которых могут зависеть от текущей конфигурации дисплея, нужно использовать Activity Context вместо Application Context, так как последний всегда привязан к главному экрану, а не к тому, на котором отображается приложение.

Иными словами, если есть подозрение, что где-то может использоваться не тот контекст, — не будет лишним пробежаться по коду и проверить.

Как стало ясно из руководства для разработчиков от Samsung и материалов по поддержке Foldable-устройств от Google, наши приложения не требуют какой-либо специальной адаптации для работы на складных устройствах — они изначально готовы к изменению конфигурации устройства в рантайме и имеют адаптивную вёрстку. Мы протестировали наши проекты в эмуляции Foldable и не увидели никаких проблем. Думаю, то же самое будет верно для большинства приложений в Google Play.

Сейчас гораздо больший приоритет имеет подготовка к изменениям в Android Q, в числе которых исчезновение разрешений на доступ к внешнему хранилищу и миграция на Shared Collections для сохранения файлов в публичной области памяти.

В ближайшем будущем на рынке появятся только две модели сгибающихся смартфонов. Даже если после выхода устройств в приложениях будут обнаружены специфические для Foldable проблемы, требующие какое-то заметное количество времени на решение, их критичность целесообразно определять аналитикой запусков приложений на этих моделях. Я думаю, что ввиду специфики смартфонов и их высокой цены у всех разработчиков будет фора.

Руслан Арсланов, Android-разработчик студии CleverPumpkin

Адаптацию приложений под складные экраны мы пока не планируем, потому что это не самая простая и довольно дорогая задача: надо заново переработать приложение с точки зрения UX, учесть два форм-фактора экрана и сценарии их использования. Начнём об этом думать, когда в массовой продаже анонсируют конкурентноспособное устройство, а Google или Apple добавят поддержку на уровне API.

Идея складных экранов тоже выглядит сыроватой. Мобильные устройства ушли от идеи «слайдеров» и «раскладушек» в сторону монолитных устройств, потому что именно эти элементы были причинами частых поломок. Есть вопросы и к ёмкости аккумулятора новых «раскладушек», ведь большой экран потребляет много энергии. И ценник ориентирован скорее на бизнес-пользователей, чем на массовую аудиторию.

Сейчас авторитет такого форм-фактора подорван новостями о поломках Galaxy Fold, поэтому вендорам придётся сильно постараться, чтобы вернуть доверие пользователей.

Роман Чорыев,

Android Developer Advocate в компании Redmadrobot

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

Если приложение нативное, то изменения, скорее всего, будут минимальные. Там адаптация реализуется чуть ли не на базовом уровне. Из-за разнообразия размеров экранов Android-смартфонов дизайн там и так делается адаптивным, так что серьёзных проблем с переходом от маленького экрана к большому возникнуть не должно.

Нужны будут лишь косметические изменения, например, для выреза камеры в раскрытом Samsung Galaxy Fold. Если приложение кроссплатформенное, webview или гибрид, то тут уже сложнее сказать. Возможно, придётся потрудиться.

Сейчас адаптировать или делать приложения для устройств со складными экранами стоит только ради понимания перспектив новой технологии или пиара в виде описания личного опыта в кейсе для профильных СМИ. Тема горячая, но высокого процента таких устройств на рынке в ближайшее время мы не ждём.

Говорить всерьёз об адаптации своих приложений можно только с ростом популярности устройств со складными экранами у массового потребителя. А с учётом ограниченного предложения на рынке и высокой стоимости таких устройств, этого пока не предвидится.

Но мы помним про первый iPhone и то, как он изменил рынок мобильных устройств. Никто не исключает, что складные экраны повторят его успех.

Егор Золотухин, директор по развитию студии Heads and Hands

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

Инструменты для работы со складными экранами появляются только с SDK для Android Q, оно пока в бета-тестировании, так что в ближайшие недели о внедрении думать, скорее всего, не стоит. Будет смысл создавать приложения под складные экраны, когда они займут достаточный процент на рынке.

Ориентировочно Android Q выходит в августе, а складных смартфонов от силы одна–две модели, и они больше экспериментальные. Сейчас даже Google адаптировала только одно своё приложение под складной экран.

Артём Гутырчик, руководитель направления Android-разработки в студии AppCraft

Пока рано говорить о полноценной адаптации приложений под складные экраны, поскольку Google ещё не до конца подготовила свой SDK и сам Android к новым типам устройств. Думаю, в следующих бета-версиях Android Q мы сможем более детально узнать, как это будет работать.

Трудно сказать, насколько этот процесс будет сложным, потому что без финальных версий SDK и эмуляторов нельзя полностью оценить процесс адаптации текущих приложений. Сейчас в Android Studio 3.5 уже доступны эмуляторы складных смартфонов, и можно видеть какие-то базовые версии API для работы со складными экранами, но пока всё в стадии бета и к релизу Android Q может ещё сильно измениться.

В основном изменения в коде касаются обработки состояния фокуса приложения. То есть когда оно находится в бэкграунде или, наоборот, является объектом взаимодействия с пользователем. Таких переходов может быть больше, и по мере этих переходов может меняться конфигурация экрана. Отсюда вытекает множество кейсов: от поехавшей вёрстки до крашей из-за нововведений в жизненном цикле.

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

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

Константин Куликов, Android-разработчик в студии MobileUp

Будущее складных экранов

Я бы хотел, чтобы складные экраны стали популярными. В фантастических фильмах, похоже, все ими пользуются. Я думаю, пройдёт ещё несколько ступеней эволюции дизайна и возможностей складных экранов. Было бы здорово получить в итоге складной планшет, как у Железного человека!

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

Олег Смирнов, ведущий Android-разработчик «ВКонтакте»

Складные смартфоны — безусловно, очень «раскрученный» тип корпуса. Однако известные бренды пока только заявляют о планах начала выпуска, а небольшие китайские производители не вносят существенный вклад в общий рынок.

Главная и пока нерешаемая проблема смартфонов со складными экранами — это пластиковое покрытие экрана. Huawei не спешит с переносом даты старта продаж своего Mate X, но и до июня ещё два месяца. Запуск в тираж Galaxy Fold от Samsung провалился из-за пластикового экрана и из-за ошибок в пользовательском опыте (клиенты отрывали часть экрана, думая, что это просто защитная упаковка).

Мы следим за трендом, как и производители смартфонов. В частности, компания Apple уже разрабатывает стеклянный складной экран совместно с Corning. Мы расширим решения «Сбербанка» для корпоративных клиентов одновременно с бета-тестом складываемых смартфонов со стеклянным экраном. Очевидно, что именно Apple в очередной раз выступит ориентиром для всей отрасли.

Евгений Колбин, вице-президент, директор дивизиона «Цифровой Корпоративный Банк» «Сбербанка»

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

Безусловно, будут проблемы с текущими приложениями. И это совершенно естественно для нового формата устройств. На первый взгляд, складной экран — необычно и интересно. Глоток свежего воздуха в потоке однообразных смартфонов последних лет.

При этом пока сложно сказать, насколько такой формат окажется удачным в повседневном использовании: удобно ли будет каждый раз открывать и закрывать смартфон для контакта с большим экраном, когда есть альтернативы в виде iPhone ХS Max, Samsung S10 Plus и им подобных. Нужно больше времени, чтобы делать какие-либо выводы.

Егор Золотухин, директор по развитию студии Heads and Hands

Моё мнение: складные экраны пока вряд ли станут популярными. Смартфоны слишком дорогие, а использование при этом спорное. Сейчас не до конца понятно, зачем они нужны.

Адаптация приложений для новых экранов потребует времени: теперь у массовых устройств могут быть два одновременно активных экрана, нужно будет учесть этот момент.

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

Артём Гутырчик, руководитель направления Android-разработки в студии AppCraft

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

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

Тем не менее складные экраны мне кажутся довольно удобным, ведь моё устройство может быть как планшетом, так и смартфоном. Читать статьи или смотреть видеоролики я смогу с большого экрана, а переписываться в чате или переключать музыку в метро — можно с маленького. Единственное, что вызывает сомнения, — толщина таких смартфонов. Если они будут слишком толстыми, удобство от них останется под сомнением.

Константин Куликов, Android-разработчик в студии MobileUp

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

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

Роман Чорыев

, Android Developer Advocate в компании Redmadrobot

Что почитать

Первым делом можно проверить работу своего приложения на Foldable-устройстве с помощью доступных эмуляторов. Сделать это можно как на реальном устройстве, так и в Android Virtual Device.

Чтобы эмулировать Foldable на физическом устройстве, достаточно скачать FoldableEmulator.apk с сайта Samsung и запустить его на любом устройстве с более-менее нормальным разрешением — Samsung рекомендует экраны с разрешением минимум 1536 x 2152.

Для эмуляции Foldable на AVD понадобится Android Studio 3.5 Developer Preview (на момент написания статьи доступен Canary Build 13). Демонстрация есть здесь.

Ссылки на материалы для разработчиков:

Доклад с Android Dev Summit 2018 с полезными сведениями об App Continuity и поддержке многоэкранных устройств.

Секция Support for Foldables в списке изменений Android Q на сайте developer.android.com.

Приложение-эмулятор Samsung. Внизу страницы есть список всех тест-кейсов, которые должны работать в ваших приложениях.

Описание подготовки приложения к запуску на Samsung Galaxy Fold.

Небольшая инструкция по возможному сценарию подготовки приложения к запуску на Foldable. Больше подходит для тех, кто слабо знаком с сохранением стейта Activity.

Руслан Арсланов, Android-разработчик студии CleverPumpkin
1919
6 комментариев

Основная проблема в том, что разработчикам не понятно, когда до производителей дойдёт, что эта технология не актуальна. Как планшеты, нетбуки, mp3-плееры и прочее барахло, которое заменяет обычный смартфон.

2
Ответить
Комментарий удалён модератором

на смену нетбукам пришли ультрабуки, плееры заменяются часами

Ответить

Под айпады почти никто не делает специальные версии. Под складные экраны отдельно дорабатывать приложения тем более никто не станет, пока процент пользователей с такими устройствами не станет заметным. При ценнике на устройства от 150к₽ вряд ли этого стоит ждать в ближайшее время)

2
Ответить

Проблема тут одна - никому эти складные экраны не нужны.

2
Ответить

Не столкнутся. Их не будет в проде

1
Ответить