- Что нового в Android 11 для пользователей и разработчиков
- Видеозапись экрана
- Bubbles
- Scoped storage
- One-time permission
- Индикатор частоты обновления экрана
- API для работы с 5G
- Мелочи жизни
- Android 11 Beta и обновления для разработчиков
- Бета-версия Android 11 уже доступна
- Современная Android разработка
- Android Studio
- Kotlin, Jetpack и новинки
- Compose
- Абсолютно новая консоль Google Play
- Вместо заключения
Что нового в Android 11 для пользователей и разработчиков
На днях внезапно выкатили превью-версию 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-подходом: ограничивать приложения в возможностях во имя безопасности пользователя.
Что с этого разработчикам: Если в targetSdkVersion вы собираетесь включать 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, и там будет много актуального для вас.
Источник
Android 11 Beta и обновления для разработчиков
10 июня вышла бета-версия Android 11! В этой статье мы хотели бы коротко рассказать о главных новинках в Android 11 Beta, Google Play и инструментах для разработчиков. А также хотели бы пригласить всех читателей на специальное онлайн мероприятие, посвященное выходу Android 11 Beta, которое состоится сегодня, 17 июня в 19:00 по Московскому времени. Специальный гость мероприятия, известный каждому Android разработчику – Чет Хас! Присоединяйтесь и читайте подробности под катом.
Бета-версия Android 11 уже доступна
Благодаря обратной связи, которую мы получили от сообщества разработчиков на Android 11 Developer Preview, мы смогли подготовить бета-версию Android 11, которая фокусирается на 3 ключевых вещах: люди, элементы управления и приватность.
Люди: мы всегда стараемся сделать Android более ориентированным на людей и для людей. Мы хотим, чтобы Android был выразительным и поэтому мы решили переосмыслить то, как мы используем наши телефоны для общения и хотим создавать ОС, способную узнать и помочь приоритезировать самых важных для вас людей.
- Conversation notifications или уведомления о разговорах будут появляться в специальном разделе, с улучшенным дизайном и предложениями действий, такими как открытие беседы в виде всплывающей подсказки, создание отдельного ярлыка беседы на главном экране или установка напоминания.
- Bubbles, они же Пузыри. Надоело переключаться между мессенджерами и другими приложениями во время переписки? Пузыри помогут держать переписку в поле зрения и останутся легко доступны во время многозадачности. Для того чтобы задействовать данный функционал, мессенджеры и другие приложение поддерживающие обмен сообщениями могут использовать новый Bubbles API.
- Consolidated keyboard suggestions или консолидированные подсказки от клавиатуры. Теперь приложения c функционалом Autofill и редакторы метода ввода (IMEs), такие как клавиатура, смогут безопасно предлагать контекстно правильные подсказки непосредственно в полосе предложений IME, где они наиболее удобны для пользователей.
- Голосовой доступ, он же Voice Access. Для людей, которые управляют своим телефоном с помощью голоса. Android 11 теперь понимает содержимое экрана и контекст, а также генерирует метки и точки доступа для голосовых команд.
Элементы управления: последняя версия Android поможет быстро подключиться к умным устройствам и управлять ими в одном пространстве:
- Device Controls или управление устройствами позволит быстрее и проще получать доступ к подключенным устройствам. Теперь, просто нажав и удерживая кнопку питания, пользователи смогут мгновенно получить доступ к управлению устройствами в одном месте. Разработчики смогут использовать новый API для отображения элементов управления. Подробнее здесь.
- Media Controls или управления мультимедиа позволит быстро и удобно переключаться между устройствами вывода для аудио или видеоконтента, будь то наушники, динамики или даже телевизор. Подробнее здесь.
Приватность: в Android 11 мы даем пользователям еще больший контроль над разрешениями и работаем над тем, чтобы повысить безопасность устройств благодаря более регулярным обновлениям.
- One-time permission или единовременные разрешения позволят пользователям предоставлять приложениям доступ к микрофону, камере или местоположению устройства только один раз. Приложению нужно будет запросить разрешение заново при следующем использовании приложения. Подробнее здесь.
- Permissions auto-reset или автоматический сброс разрешений: если пользователь, по какой-то причине, не использовал приложение в течение длительного времени, Android 11 автоматически сбросит runtime разрешения, связанные с приложением, и уведомит об этом пользователя. Приложению нужно будет запросить разрешения снова при следующем запуске. Подробнее здесь.
- Background location или локация в фоновом режиме. В феврале этого года мы анонсировали, что разработчикам необходимо будет получить отдельное разрешение на доступ к локации в фоновом режиме, чтобы предотвратить злоупотребление таким доступом. Мы даем разработчикам больше времени для внесения изменений и не будем применять политику для существующих приложений до 2021 года. Подробнее здесь.
- Google Play System Updates или обновления системы Google Play. Запущенные в прошлом году, обновления системы Google Play позволяют нам ускорить доставку и обновление основных компонентов ОС на устройствах. В Android 11 мы более чем удвоили количество обновляемых модулей, и эти 12 новых модулей помогут улучшить приватность, безопасность, и консистентность для пользователей и разработчиков.
Удобство для разработчиков. Мы хотим, чтобы разработчики могли с легкостью воспользоваться преимуществами новой версии и для облегчения тестирования на совместимость мы сделали следующее:
- Самые важные (ломающие) изменения не вступят в силу до тех пор, пока вы явно не укажете Android 11 в своем манифесте;
- Добавили новый интерфейс в настройках для разработчиков, позволяющий включать/выключать многие из этих изменений;
- добавили отметку Platform Stability в таймлайн, чтобы вы могли приступить к обновлению своего приложения, точно зная что платформа стабильна.
Android 11 также включает в себя ряд других улучшений для разработчиков, таких как поддержка беспроводной отладки по ADB, ADB incremental для быстрой установки больших APK и больше nullability аннотаций в API платформы (для выявления проблем во время сборки, а не во время выполнения) и многое другое.
Бета-версия Android 11 доступна уже сейчас, с финальными API SDK и NDK, которые можно попробовать в своих приложениях.
Если у вас есть устройство Pixel 2, 3, 3a или 4, вы можете зарегистрироваться здесь, чтобы получать обновления Android 11 Beta по воздуху. Также можно отдельно скачать образы для смартфонов Google Pixel и эмулятора Android. Подробно узнать обо всех изменениях вы можете на специальной странице для Android разработчиков.
Также узнать о новинках в Android 11 вы можете узнать из нашего специального мероприятия с русскоговорящими экспертами и специальным гостем – Четом Хасом, которое пройдет сегодня в 19-00 по Московскому времени.
Современная Android разработка
В течение последних лет команда Android усердно работала над улучшением опыта разработчиков мобильных приложений, чтобы сделать их более продуктивными. Это включает в себя улучшения Android Studio, отличный язык (Kotlin), библиотеки Jetpack для упрощения общих задач и Android App Bundles для улучшения распространения приложений. Всё это мы называем современной Android разработкой и предлагаем вниманию Android разработчиков лучшее из мира Android, чтобы сделать их ещё более эффективными и продуктивными.
Android Studio
Новые функции в Android Studio 4.1 Beta и 4.2 Canary доступны уже сегодня. При разработке, мы ориентировались на ряд важных вопросов для разработчиков:
- Отладка приложений стала проще с поддержкой беспроводной отладки по ADB на устройствах с Android 11. Мы также добавили инспектор баз данных и инструменты Dependency Injection (Dagger);
- Тестирование устройств стало проще благодаря тому, что эмулятор Android теперь находится непосредственно в IDE. Разработчикам смогут видеть результаты выполнения тестов с нескольких устройств одновременно, а также мы улучшили и сам диспетчер виртуальных устройств.
- Машинное обучение стало проще (почти). По крайней мере, теперь вы сможете импортировать свои модели для ML Kit и TensorFlow Lite прямо в Android Studio.
- Сборка и deployment приложений стали быстрее благодаря Kotlin Symbol Processing API, кэшированию графа задач в Gradle и более быстрой установке и запуску приложений на всех устройствах с Android 11. А новый анализатор сборки может помочь вам определить, где в вашей сборке могут быть узкие места.
- Инструменты для разработки игр стали лучше благодаря обновленному пользовательскому интерфейсу профилировщика производительности, переработанному инструменту System Trace и поддержке встроенного профилирования памяти.
Попробовать последнюю версию: Android Studio 4.1 Beta и Android Studio 4.2 Canary вы можете уже сейчас!
Kotlin, Jetpack и новинки
Языки и библиотеки являются одной из основных областей инвестирования для нас в современную Android разработку. Мы сосредоточены на том, чтобы сделать разработчиков более продуктивными с Kotlin и Jetpack.
С ростом популярности Kotlin, а на данный момент, более 70% из 1000 лучших приложений в Google Play используют Kotlin, и таким большим количеством разработчиков, использующих Kotlin, мы можем использовать весь его потенциал, чтобы улучшить опыт разработки под Android новыми способами.
Корутины Kotlin – это особенность языка Kotlin, которая упрощает написание и понимание конкурентных вызовы в коде. Теперь мы официально рекомендуем использовать корутины Kotlin и поэтому мы встроили поддержку корутин в наиболее часто используемые библиотек Jetpack — Lifecycle, WorkManager и Room.
Сам Kotlin также продолжает улучшаться с каждым выпуском благодаря потрясающей команде JetBrains. Kotlin 1.4 обеспечивает более быстрый code completion, более мощный вывод типов, включенные по умолчанию функциональные интерфейсы, а также полезные другие улучшения, такие как смешивание именованных и позиционных аргументов.
Мы также продолжаем развивать и продвигать Jetpack — набор библиотек предназначенных для быстрой и легкой реализации общих шаблонов разработки для мобильных устройств.
Многие мобильные разработчики давно любят Dagger. Поэтому мы поработали с командой Dagger, чтобы представить вам Hilt – дружественную к разработчикам оболочку поверх Dagger.
Мы также рады представить ещё одну новую библиотеку – App Startup. Она призвана помочь разработчикам приложений и библиотек оптимизировать инициализацию библиотек в приложении.
У нас много обновлений для существующих библиотек, в том числе серьезное обновление для Paging 3. Теперь оно Kotlin-first с полной поддержкой Корутин!
Compose
Есть еще одна вещь, которая необходима для продуктивности – это мощный набор инструментов, позволяющий легко и быстро создавать красивые пользовательские интерфейсы на Android со встроенным доступом к API платформы. Именно поэтому мы развиваем Jetpack Compose – наш новый набор инструментов для разработки пользовательских интерфейсов, который позволяет оживить ваши приложения с помощью меньшего количества кода и интуитивно понятных API на Kotlin. Мы рады представить Jetpack Compose Developer Preview 2, наполненный новыми фичами и улучшениями, о которых нас просили разработчики:
- Interoperability with Views
- Animations
- Testing
- Constraint Layout
- Adapter list
- Material UI components
- Text and editable Text
- Theming and Graphics
- Window management
- Input and Gestures
Работая в тесном сотрудничестве с командой Kotlin из JetBrains, мы добавили ряд новых возможностей в Android Studio 4.2, призванных помочь создавать приложения с помощью Compose:
- плагин компилятора Kotlin для генерации кода
- Compose Preview Аннотации
- Предварительный просмотр Compose в режиме реального времени
- Деплой отдельных composable объектов на устройство
- Compose Code completion
- Пример Data API для Compose
Compose еще не готов к использованию в продакшене. В данный момент, мы заканчиваем оптимизацию производительности, и будем рады услышать вашу обратную связь. Мы планируем запустить Alpha этим летом и 1.0 в следующем году.
Абсолютно новая консоль Google Play
Платформа Google Play сфокусирована на том, чтобы помочь разработчикам в развитии их бизнеса. С этой миссией, мы переработали консоль Google Play, чтобы помочь вам добиться максимальных результатов от нашей платформы. Помимо того, что консоль стала проще и понятнее в использовании, мы добавили новый функционал и изменения чтобы помочь вам:
- Найти, обнаружить и понять фичи которые помогут вам процветать в Google Play;
- Легко найти новые руководства по изменениям политиках, статус релизов, и обратную связь от пользователей;
- Лучше понять результативность продвижения, с новыми отчетами о новых пользователях;
- Позволить всем членам вашей команды использовать функции Play Console с новыми опциями управления пользователями.
Подробнее о новой консоли Google Play читайте в этом посте или присоединяйтесь к бета-версии прямо сейчас на play.google.com/console.
Вместо заключения
Специально для вас, в связи с выходом бета версии Android 11, сегодня, 17 июня, в 19:00 по Московскому времени, мы встречаемся с русскоязычными экспертами на специальном онлайн мероприятии, чтобы обсудить все в подробностях. Специальный гость мероприятия, известный каждому Android разработчику – Чет Хас! Присоединяйтесь, будет интересно!
Расписание:
19:00 — 19:20 — Знакомство с экспертами и гостем Chet Haase
19:20 — 19:30 — Квиз с возможностью выиграть подарки с логотипом Android 11
19:30 — 20:30 — Обсуждение новинок экспертами
20:30 — 21:00 — Ответы на ваши вопросы (пишите в комментариях с #askandroid), авторы самых интересных обязательно получат подарки
Наши эксперты:
- Звиад Кардава — Developer Relations Regional Lead @ Google, X-GDE
- Денис Неклюдов — Staff Engineer @ Lyft, Android GDE, ведущий подкастов Android Dev Podcast и Android Dev Virtual Meetup
- Александр Ефременков — Leading Android Developer @ Alibaba Group, Android GDE, ведущий Android Dev Podcast
- Катя Петрова — Developer Advocate @ JetBrains, WTM Ambassador, ведущая подкаста Podlodka
- Специальный гость выпуска — Chet Haase, Android Developer Advocate, Google
Источник