На этой неделе внезапно выкатили превью-версию Android 11 для разработчиков. Google говорит «разработчики, вы в прошлом году хорошо нам нафидбечили, поэтому в этот раз мы даём вам превью раньше, чем когда-либо» (релиз намечен на третий квартал, то есть до него примерно полгода).
Из-за этого версия особенно сырая, в неё почти наверняка попали не все готовящиеся фичи (что-то привлекательное небось припасли для Google I/O), и часть вещей до релиза ещё могут откатить. Но всё равно же интересно разобраться, что нового!
Как водится, сайты вроде 9to5Google и Android Police тут же использовали превью-версию в хвост и в гриву, а в итоге выпустили кучу текстов: про каждое нововведение по отдельности. А мы продрались через эту кучу текстов и сделали для Хабра сводную подборку на русском — такую, чтобы была понятна и обычному пользователю Android, но с приписками конкретно для мобильных разработчиков.
Видеозапись экрана
Эта фича была ещё в бета-версиях Android 10, но тогда с ней были сложности и в релиз она не попала, а теперь в новой превью-версии снова появилась в доработанном виде. Так что в релиз Android 11, хочется верить, попадёт.
В принципе, её название всё объясняет. На Android есть сторонние приложения для видеозаписи всего происходящего на экране, но нативное решение не помешало бы.
Что с этого разработчикам: вероятно, в ситуации «пользователь жалуется на трудновоспроизводимый баг» станет проще запросить у пользователя видеозапись.
Bubbles
Эта фича была ещё в бета-версиях Android 10, но тогда… Да, тут история как с видеозаписью экрана: к релизу «десятки» довести фичу до ума не успели, и она переехала в следующую версию.
Это аналог фейсбучных Chat Heads: диалоги могут сворачиваться в «кружочки», остающиеся на экране поверх других приложений. Бабушка, зачем тебе бабблзы? Это чтобы было удобнее читать Хабр и при этом переписываться с тобой, внучка моя.
Но они не заработают магическим образом идеально во всех мессенджерах сразу: тут для разработчиков Android-приложений есть Bubbles API, и вопрос в том, насколько активно разработчики будут его использовать. Вероятно, Google старательно поддержит во всём своём бесконечном наборе гугломессенджеров, а про остальных пока вопрос.
Что с этого разработчикам: если у вас в приложении есть функция личных сообщений, разберитесь, как вам тут лучше действовать, документация здесь.
Scoped storage
Эта фича была ещё… ну, вы поняли, да? В Android 10 она осталась опциональной (разработчики приложений могли отказаться от этого), а вот теперь была доработана и приходит окончательно.
Суть scoped storage в том, что приложениям по умолчанию даётся доступ только к своей папке, и шариться по другим файлам они не смогут. Конечно, приложениям вроде файловых менеджеров нужен полный доступ, и для таких сделают исключение «All Files Access», но в целом ощущается сближение с iOS: ограничивать в возможностях во имя безопасности.
Что с этого разработчикам: Если в targetSdk вы собираетесь включать Android 11, то Google строго говорит «обновите своё приложение, чтобы работало со scoped storage», и даёт ссылку на более подробный текст.
One-time permission
И ещё об усилении приватности. Ранее, когда приложение запрашивало разрешение, были варианты «разрешить», «отказать» и «разрешить только при использовании приложения». Теперь для таких значимых разрешений, как доступ к камере, микрофону и геолокации, создан новый вариант: «разрешить только на один раз».
Звучит очень здраво: если в каком-то приложении хочешь использовать камеру один-единственный раз, чтобы сделать там аватарку, то разрешать этому приложению постоянный доступ к камере ни к чему.
Но при этом смотрите вот что: на официальном скриншоте с новым вариантом отсутствует прежняя опция «разрешить», которая просто давала бы доступ навсегда, в том числе в фоне.
Насколько понимаем, это потому что одновременно Google ещё и меняет правила: теперь доступ к геолокации в фоне смогут запрашивать только те, кто обосновал Гуглу, почему это им правда нужно. Ну, как раньше с доступом к звонкам сделали.
Что с этого разработчикам: тут вам виднее, запрашиваете ли вы разрешение и сказываются ли на вас перемены. Есть ещё всякие нюансы вроде «если в приложении есть WebView, у него доступ может отличаться», поэтому изучите официальный текст.
Индикатор частоты обновления экрана
Тут совсем мелкая штука, но за ней ощущается целая история.
Экраны с высокой частотой обновления сейчас в тренде: например, у OnePlus 7T экран на 90 Гц, у Samsung S20 и вовсе на 120 Гц. Это даёт невиданную плавность при скроллинге — казалось бы, прекрасно. Но есть проблема: частое обновление экрана активнее расходует энергию.
Возникла идея «пусть экран не всегда работает на полную катушку, ведь если играет видео с 24 FPS, бессмысленно обновлять его чаще». Звучит здраво. Но в итоге, например, покупатели Pixel 4 заметили, что они купили телефон с 90 Гц, а он переключается на 60 Гц когда ему вздумается (в том числе когда этого не хотелось бы). И было сложно понять, когда экран вообще делает то, за что ты заплатил. А теперь в нативных настройках разработчика можно включить индикатор.
Что с этого разработчикам: если вы не могли понять «это Гугл режет частоту обновления экрана или это моё приложение тормозит», будет чуть проще.
API для работы с 5G
С 5G-покрытием всё по-прежнему печально даже в США, не говоря уже о мире в целом. И рыночная доля 5G-смартфонов тоже скромная. Но, наверное, где-то в 5G-зоне есть обладатели 5G-смартфонов, и Google о них заботится. Порадуемся за этих троих человек.
В общем, новые API «bandwith estimator» и «dynamic meteredness» призваны помочь мобильным приложениям лучше понимать, какая у пользователя пропускная способность и лимитирован ли его трафик, чтобы отправлять ему данные в оптимальном качестве.
Что с этого разработчикам: на данный момент и в российских реалиях — почти ничего, но если ваша прокрастинация шепчет «давай вместо пяти горящих задач займёмся чем-то совершенно необязательным», то обратите внимание.
Мелочи жизни
То, что нет смысла расписывать подробно:
- Тёмную тему можно включать по расписанию
- В меню Share можно закрепить конкретные приложения, в которые обычно шарите
- «Scrolling screenshots»: нативные скриншоты, захватывающие не только текущий экран, а всю страницу до конца
- Улучшение поддержки экранов, в которых камера сделана круглым вырезом, и тому подобного
- В панели уведомлений всё мессенджинговое выводится наверху единым блоком «conversations»
- Экран настроек «Do Not Disturb» переработан
- Новый Bluetooth-стек «Gabeldorsche» (что бы это ни значило)
- «Режим самолёта» больше не будет отключать Bluetooth (чтобы пользоваться в самолётах беспроводными наушниками)
- Управление медиа в панели уведомлений переезжает в верхнюю строку к иконкам настроек
- В управлении жестами Project Soli — новый жест «пауза»
- Ну и ещё с некоторыми областями поработали (NNAPI, биометрия и т.д.), пересказывать все нет смысла, поэтому сошлёмся на официальный пост.
В комментариях интересно было бы услышать мнения и мобильных разработчиков, и обычных пользователей: что из этого скажется на вашей жизни, что радует и что печалит.
А если вас этот пост заинтересовал как мобильного разработчика, то напоследок обратим ваше внимание: 23-24 июня в Петербурге мы проведём конференцию Mobius, и там будет много актуального для вас.
Комментариев нет:
Отправить комментарий