Дайджест мобильной разработки за сентябрь
Новый Kotlin версии 1.9.20-Beta2, разработка библиотеки Jetpack Paging 3.3.0, Yandex Mobile Ads SDK 6, Java 21 LTS, Remote Config в RuStore — и другие важные новости рынка мобильной разработки в сентябре 2023 года.
Разработка
Android 14
В Android 14 появилась новая система масштабирования текста в соответствии с Web Content Accessibility Guidelines (WCAG). Теперь будет применяться нелинейная шкала масштабирования.
Android 15
В Android 15 откроют доступ к данным о состоянии батареи. Google разрешит сторонним приложениям считывать оставшуюся расчётную ёмкость заряда по отношению к номинальной ёмкости.
Сейчас этот показатель нельзя запросить через Android SDK. Хотя возможность оценить состояние батареи всё-таки есть — соответствующий API с некоторыми ограничениями был представлен в Android 14.
KotlinX IO 0.3.0
Вышел KotlinX IO 0.3.0. В сентябрьском релизе:
— поддержка Wasm;
— улучшения API;
— исправление багов;
— Kotlin 1.9.10.
Новый Kotlin версии 1.9.20-Beta2
Вышедшая версия Kotlin 1.9.20-Beta2:
— упростила конфигурацию мультиплатформенного проекта благодаря новому шаблону по умолчанию;
— значительно улучшила скорость сборки мультиплатформенных проектов за счёт новой конфигурации кэша Gradle;
— оптимизировала работу сборщика мусора, новый аллокатор памяти в Kotlin Native менеджере памяти включён по умолчанию;
— представила новый таргет Kotlin/Wasm;
— реализовала поддержку WASI API в стандартной библиотеке.
Работы над стабилизацией K2 продолжаются.
SKIE в Open Source
Touchlab выпустила в Open Source свой инструмент SKIE. Он улучшает совместимость между Kotlin и Swift для Kotlin Multiplatform.
Java 21 LTS
Вышла Java 21 LTS, ставшая новейшим выпуском долгосрочной поддержки для платформы Java SE. В ней представлено понятие последовательных коллекций, а также:
— расширен Z Garbage Collector (GC) для поддержки отдельных поколений для молодых и старых объектов — это улучшит производительность приложений;
— виртуальные потоки вышли из предварительной версии.
Apple
macOS 14 Sonoma
Apple выпустила macOS 14 Sonoma, новейшую операционную систему для устройства Mac, в которой появился ряд новых функций.
Виджеты в Sonoma теперь можно размещать в любом месте рабочего стола, а их цвет будет динамически меняться в зависимости от доминирующих оттенков обоев. Виджеты с iPhone автоматически отображаются в macOS 14, когда и смартфон, и компьютер подключены к одной сети Wi-Fi.
Фреймворки и IDE
Jetpack BluetoothX
Google выпустила первую альфа сборку Jetpack BluetoothX, которая содержит Kotlin API, покрывающие сканирование с Bluetooth LE.
Android Device Streaming
Запустили Android Device Streaming from Android Studio в раннем доступе. В Canary версии доступно удалённое подключение к физическим устройствам на серверах Google из Android Studio.
Android Studio на основе AOSP
Google представила специальную версию Android Studio для разработчиков платформ на основе AOSP, используя систему сборки Soong. Поддерживаются C++, Kotlin и Java.
Android Jetpack
Вышло обновление Android Jetpack.
Релиз Compose библиотек 1.6.0-alpha04
Из основных изменений в релизе:
— новое экспериментальное API для работы с SurfaceView и TextureView — функции-обертки GraphicsSurface и EmbeddedGraphicsSurface;
— Modifier.magnifier () теперь stable;
— переработана логика масштабирования шрифтов в приложении;
— в ScrollScope добавлены функции updateCurrentPage и updateTargetPage для кастомизации анимированного скролла через PagerState.scroll.
Jetpack Paging 3.3.0
Началась разработка библиотеки Jetpack Paging 3.3.0, которая стала мультиплатформенной.
Koin 3.5.0 и Koin Annotations 1.3.0
В Koin 3.5.0 вошли:
— обновление до Kotlin 1.9 и Jetpack библиотек;
— BOM-артефакт.
А также в нём оптимизировали работу под капотом и улучшили работу в Compose.
Тем временем внутри Koin Annotations 1.3.0:
— проверка графа во время компиляции кода;
— поддержка Kotlin/JS;
— появился BOM-артефакт.
KtLint 1.0
Вышел KtLint 1.0. Вот основные доработки:
— поменялись Maven-артефакты;
— множество экспериментальных правил стали стабильными;
— представлены новые экспериментальные правила;
— исправление багов и улучшения;
— Kotlin 1.9.
Dagger 2.48
В сентябре вышел Dagger 2.48 с поддержкой KSP. Пока он находится в альфа-статусе.
Yandex Mobile Ads SDK 6
Яндекс представил Yandex Mobile Ads SDK 6. В этой версии разработчики смогут монетизировать экран загрузки приложения с помощью инструмента «Реклама при открытии». Также появились новые форматы рекламы с вознаграждением.
SDK AppMetrica
Яндекс опубликовал исходный код SDK AppMetrica. Код распространяется по открытой лицензии MIT. Его можно использовать в полном объёме и менять под свои нужды с указанием авторства.
Studio Bot
Studio Bot в Android Studio заработал в 170 странах мира. Однако у жителей Великобритании, стран Европейского союза и России доступа к нему пока нет. В Studio Bot можно задавать вопросы и получать полезные ответы, включая примеры кода, которые могут решить вашу проблему.
Другое
Google Play Store Listing Certificate
Google обновила Сертификат размещения от Google Play Store. В учебном курсе и экзамене добавились темы, связанные с новейшими инструментами Google Play Console для продвижения продуктов.
Тренды
Исследование «Мобильный потребитель 2023»
Компания Airship выпустила исследование «Мобильный потребитель 2023». В нём отражены настроения, поведение и ожидания пользователей приложений.
Например, выяснилось, что люди устанавливают сервисы брендов, чтобы упростить себе жизнь. Ещё один интересный факт: большинство пользователей «получают» приложения из просмотра сторов или обычного поиска. Сарафанное радио в этом вопросе оказалось только на третьем месте.
Flutter вместо React Native
Всё больше разработчиков приложений выбирают Flutter вместо React Native. К такому выводу пришла компания AppFigures, которая проверила, на чём основаны приложения и игры для iOS и Android.
Согласно полученным данным, сейчас Flutter лидирует по количеству новых установок. Авторы исследования ориентировались на запуски нового приложения с SDK и запуски существующего приложения, которое ранее его не использовало.
Kotlin в Топ-20 TIOBE Index
Kotlin снова вошел в Топ-20 TIOBE Index после шестилетнего перерыва. По словам генерального директора компании TIOBE software и составителя индекса Пола Янсена, причина роста популярности этого языка заключается в том, что он яростный конкурент Java. Kotlin выигрывает у Java практически по всем параметрам, но за последним остаются преимущества более устоявшегося языка, считает Янсен.
Gaming Spotlight Report за 2023 год
Составители отчёта Gaming Spotlight Report пришли к выводу, что несмотря на снижение потребительских расходов на игры, мобильные устройства остаются основным драйвером роста индустрии игр. Авторы также изучили, как меняется отношение пользователей к монетизации приложений через рекламу.
RuStore
«Детский режим» в RuStore
Теперь пользователи RuStore могут включить «Детский режим» и обезопасить ребенка от установки нежелательных приложений и игр. Мы также ограничили и покупки: установка платных приложений защищена пин-кодом, который задаётся при активации режима. О том, как использовать «Детский режим», написали в Help.
RuStore Remote Config
В RuStore Консоли заработал новый инструмент Remote Config. Он предназначен для динамической настройки приложения в реальном времени. С помощью Remote Config можно включать и выключать функциональность приложения без обновления и адаптировать его под нужды пользователей. Подробнее о возможностях и подключении инструмента рассказали в Help.
Tracer
Ещё одним инструментом, который теперь могут использовать разработчики приложений в Rustore, стал Tracer. Сервис собирает и анализирует ошибки, а затем отправляет автоматический отчёт о них разработчику. Информацию о возможностях и подключении инструмента ищите в Help.
Автообновление приложений
В RuStore появилось автоматическое обновление приложений, установленных на устройстве. Теперь при включении пункта «Автообновление», новые версии приложений будут автоматически загружаться, если устройство подключено к сети Wi-Fi. Инструкцию по настройке положили в Help.