Новая дорожная карта Kotlin, KotlinX Serialization 1.6.0, новая версия Flutter 3.13, Compose Multiplatform 1.5.0, обновление Android Jetpack, RuStore на Smart TV — и другие важные новости рынка мобильной разработки в августе 2023 года.
Разработка
Альфа-релиз новой технологии Kotlin Multiplatform Mobile вызвал интерес, но также создал путаницу в аббревиатурах. Эта путаница усугублялась наличием в сообществе контента и библиотек с названиями, включающими «KMP», что привело к появлению экосистемы с несколькими обозначениями — Kotlin Multiplatform и Kotlin Multiplatform Mobile — и аббревиатурами KMP, KMM и MPP. Для разрешения этой проблемы JetBrains решили отказаться от названия Kotlin Multiplatform Mobile (KMM) и использовать термин Kotlin Multiplatform (KMP) для обозначения технологии совместного использования кода на разных платформах.
Обновилась дорожная карта Kotlin Roadmap, где определены важнейшие направления развития этого языка.
Ключевые приоритеты включают:
Kotlin 2.0 и K2 компилятор;
переписать плагин Kotlin в IDEA на K2;
стабилизировать Kotlin Multiplatform и KMM;
улучшить опыт авторов библиотек.
Что ещё важного:
улучшение нового Kotlin/Native memory manager;
ускорение компиляции Kotlin/Native;
улучшение отчета сборки Kotlin кода;
релиз kotlinx-io kotlinx-kover и Dokka.
Вышел KotlinX Serialization 1.6.0. В релиз вошли:
поддержка Kotlin 1.9.0 и 1.9.10;
удаление старого JS-таргета;
поддержка enum в JSON без учета регистра символов;
исправление багов и технические доработки.
В релизе Flutter 3.13 разработчиков ждет много нового. Самые заметные улучшения:
2D-скроллинг: новый набор классов и сливеров;
повышение производительности нового графического движка Impeller, в том числе на iOS;
новые цели поддержки: Flutter 3.13 теперь поддерживает таргетинг Android 14/ API 34.
обновление фреймворка Material 3 и Dart 3.1.
Flutter с поддержкой ОС Аврора
Открытая мобильная платформа опубликовала Flutter SDK с начальной поддержкой платформы ОС «Аврора».
Вышла новая версия SQLDelight 2.0:
мультиплатформенное разрешение для пагинации;
улучшена работа с диалектом PostgreSQL и MySQL;
улучшения IDE плагина;
добавлена поддержка таргетов linuxArm64, androidNative и watchosDeviceArm;
для Web добавлен NPM пакет;
экспериментальная поддержка асинхронности.
Анонсирован новый инструмент статического анализа Kotlin – Konsist. Он анализирует соответствие кода принятым стандартом разработки (coding conventions) в вашей команде.
Вышла пятая бета Android 14.
В Android 14 пользователь сможет предоставлять доступ к отдельным фото и видео (Selected Photos Access), причем это будет работать для всех приложений без исключений.
Privacy Sandbox Developer Preview 9
Вышла версия Developer Preview 9 для Privacy Sandbox с первым релизом Custom Audience Delegation.
Apple
Apple выпустила седьмую бета-версию macOS 14 Sonoma для разработчиков и участников программы бета-тестирования. На текущем этапе инженеры дорабатывают операционную систему в преддверии финального релиза, поэтому macOS Sonoma beta 7 сконцентрирована на устранении багов и ошибок, обнаруженных в предыдущих сборках.
В новой версии macOS Ventura 13.5 исправлено большое количество проблем, связанных с безопасностью.
Фреймворки и IDE
Google анонсировала Project IDX — облачную среду разработки мобильных и веб-приложений с использованием ИИ.
JetBrains расширяет команду проекта Exposed и делает его отдельным продуктом.
Ближайшие планы:
стандартизация API;
исправление багов;
стабильный график релизов;
примеры и документация;
миграция в YouTrack.
Вышла новая версия Android Studio – Giraffe 2022.3.1. В неё вошли:
новый UI IDEA;
обновленный UI с диагностикой и отправкой багов в IDE;
обновленный Device Explorer;
улучшения в Compose Animation Preview;
поддержка генерации конфигурации для выбора языка в рамках приложения из Android 13;
кнопка для сборки отдельного Gradle модуля;
IDEA 2022.3.
Gradle:
поддержка Kotlin DSL в Gradle скриптах;
экспериментальная поддержка Gradle Version Catalog;
информация о загрузке данных из сети во время Gradle-сборки.
Вышло обновление Android Jetpack. Релиз посвящен дальнейшему развитию следующих версий библиотек и багфиксам, но есть кое-что важное:
Activity 1.8-alpha07
Activity Compose обзавелась поддержкой PredictiveBackHandler;
onBackPressedDispatcher теперь инициализруется отложено в ComponentActivity.
Wear Watchface 1.2.0-beta01
WearOS теперь поддерживает стандартные системные complication из Android 13.
Jetpack Credential Manager выходит в Beta. Библиотека позволяет встроить механизм авторизации без паролей с помощью биометрии.
Вышла стабильная версия Jetpack WindowManager 1.1 – библиотека для разработки приложения под различные размеры экранов (телефоны, планшеты, складные устройства, десктопы).
Вышла новая версия библиотеки Emoji2 1.4.0 со стандартным компонентом выбора эмодзи.
Вышла новая версия Compose Multiplatform 1.5.0.
Основные моменты этого релиза:
API-интерфейсы Dialog, Popup и WindowInsets теперь находятся в общем коде;
улучшена прокрутка на iOS при навигации по ресурсам и текстовым полям;
на десктопах стабилизирована платформа тестирования пользовательского интерфейса.
Другое
Stability AI запускает StableCode, большую языковую модель для генерации кода. На начальном этапе StableCode будет поддерживать разработку на языках программирования Python, Go, Java, JavaScript, C и C++.
Вышла новая версия Gradle 8.3. В релиз вошли:
ускорение Java сборки;
полная поддержка Java 20;
сокращение расхода оперативной памяти (график выше, желтая полоса - Android Studio Hedgehog + Gradle 8.3);
улучшения в работе с Kotlin DSL;
улучшения работы Configuration Cache;
режим «Dry run» для выполнения тестов – запуск тестов начисто;
исправление багов и улучшения.
Тренды
The State of Mobile Experience 2023
Компания Embrace выпустила отчет The State of Mobile Experience 2023. В нем исследуются основные проблемы пользователей мобильных приложений и их разработчиков. На что разработчикам стоит обратить внимание:
каждый пятый пользователь не готов ждать более 5 секунд, чтобы войти в учетную запись или совершить покупку;
пользователей больше всего беспокоят сбои (64%), неработающие кнопки (58%) и зависания приложений (58%).
60% пользователей без колебаний удалят приложение в случае повторного сбоя.
Рынок вакансий мобильных разработчиков в России упал на 24%. Падение спроса на мобильных разработчиков связано со следующими факторами:
Введение ограничений для российских разработчиков со стороны Apple и Google — с прошлого года действует запрет на обновление и публикацию платных приложений в AppStore и Google Play, а также были удалены приложения компаний, попавших под санкции. При этом, разработчики могут разместить свои сервисы в RuStore, настроить удобные механизмы продвижения напрямую через платформу VK Реклама, а также монетизировать свои продукты и получать прибыль от публикации платных сервисов.
Исход с российского рынка иностранных компаний, которые занимались наймом мобильных разработчиков на территории России.
Закрытие потребности в junior-разработчиках через стажировки, а также при помощи сотрудничества с образовательными площадками, вроде вузов и edtech-компаний.
Google представила новый ресурс – Media Developer Center.
На сайте developer.android.com создан специальный раздел, который фокусируется на создании приложений для работы с медиа и содержит:
лучшие практики;
примеры реализации;
Jetpack-библиотеки;
информацию по работе с медиа на разных устройствах и между ними.
RuStore
RuStore на Smart TV
Приложения разработчиков RuStore теперь доступны для телевизоров на Android. Подробнее о том, как добавлять приложения для ТВ-устройств, мы написали в Help. Ждем вас на больших экранах!
RuStore API
Внесли улучшения в API для публикации приложений:
у разработчиков появилась возможность отложенной, ручной и частичной публикации приложений;
добавили метод, позволяющий изменять настройки публикации (тип и дату публикации, а также % частичной публикации);
реализовали метод, который позволяет получить основную информацию по версии и её статусу.
Новая документация для партнёров доступна в Help.
В RuStore запустили монетизацию для иностранных разработчиков. Теперь иностранные разработчики могут получать доход от размещения в RuStore платных приложений, встроенных в них покупок и подписок.
Подробнее о том, как нерезидентам подключить монетизацию, мы написали в Help.
VK Реклама в RuStore
Для разработчиков в RuStore открылась возможность продвигать приложения внутри магазина и находить новых пользователей с помощью единой платформы VK Реклама. Технологии VK Рекламы помогут расширить аудиторию сервисов и привлечь целевых пользователей — тех, кто установит приложение и будет активно с ним взаимодействовать. Подробнее о настройке рекламной кампании через VK Реклама читайте в Help.