Дайджест мобильной разработки за июнь

39ecb6d9eea130a5d9e44593232043d6.png

Разработка

NativeScript для Storybook v7

Вышла бета-версия NativeScript для Storybook v7. Новая версия NativeScript позволит вам создавать пользовательские интерфейсы изолированно, чтобы прорабатывать труднодоступные состояния и пограничные случаи без необходимости запуска всего приложения.

Новый Coil 2.4.0

Вышла версия Coil 2.4.0: в неё вошли улучшения API и поддержка Compose, а также исправление багов.

Главный доклад KotlinConf 2023

На открытии KotlinConf 2023 представители JetBrains сделали несколько интересных анонсов о языке Kotlin и развитии экосистемы вокруг него.

Были анонсированы следующие изменения:

  • Компилятор K2 будет выпущен с Kotlin 2.0.

  • Gradle Kotlin DSL будет использоваться по умолчанию в новых сборках.

  • В Google наблюдается стремительный рост внедрения языка Kotlin.

  • Kotlin Foundation запускает программу финансирования для авторов библиотек и программу членства для компаний.

  • Kotlin Multiplatform станет стабильным в этом году.

  • Вышла альфа-версия Compose для iOS.

  • Экспериментальный Compose для Web будет работать на базе Kotlin/Wasm.

Android

Android Performance — I/O 2023

  • Обновления Baseline Profiles — они помогают заметно улучшить время старта приложения, избегая JIT-компиляции.

  • Startup Profiles — фича, которая позволяет описать код, который пойдет в primary dex file вашего приложения, за счет чего можно уменьшить время его старта.

  • Android Studio Power Profiler будет особо полезен для приложений, которые используют камеру, GPS и другие датчики.

Уведомления в Android

Для показа полноэкранных уведомлений Notification.Builder.setFullScreenIntent в Android 14 будет нужно запросить разрешение USE_FULL_SCREEN_INTENT. Все приложения, установленные до обновления на Android 14, получат разрешение, при этом пользователи смогут его отозвать. С помощью метода NotificationManager.canUseFullScreenIntent можно проверить, выдано ли разрешение и отправить пользователя в настройки с помощью Intent ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT.

Apple

Tap to Pay выходит в Австралии

Apple представила Tap to Pay на iPhone в Австралии, что позволяет предприятиям безопасно принимать бесконтактные платежи лично, сохраняя при этом конфиденциальность. Активировать функцию можно на iPhone XS и более поздних моделях под управлением iOS 16.4.

Новые функции для людей с ограниченными возможностями

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

Фреймворки и IDE

RC/Stable

Compose Compiler (1.4.6 — 1.4.7)

Compose Animation/Foundation/Material/Runtime/UI (1.4.2 — 1.4.3)

  • Исправлена проблема, при которой AndroidView мог отображаться неверно при использовании с некоторыми модификаторами.

  • Исправлен баг, из-за которого клавиатура не отображалась для текстовых полей внутри диалогов, не созданных через Dialog composable.

Alpha/Beta

Compose Animation/Foundation/Material/Runtime/UI (1.5.0-alpha03 — 1.5.0-beta01)

  • Изменено дефолтное поведение SubcomposeLayout в LookaheadScope, внутри которого нет условных slot-блоков (как TabRow, Scaffold или BoxWithConstraints), что позволяет ему лучше работать с lookahead анимациями.

  • В AnimatedContent добавлена поддержка contentKey.

  • В ходе рефакторинга значительно сокращено количество выделений памяти в рекомпозиции, анимациях и AndroidComposeView.

  • FlowColumn/FlowRow теперь inline.

  • LazyStaggeredGrid API теперь stable.

  • Добавлены FlowRowScope и FlowColumnScope для дочерних элементов FlowRow и FlowColumn соответственно.

  • Добавлен экспериментальный модификатор Modifier.animateItemPlacement () для анимирования изменения и переупорядочивания позиций элементов при работе с LazyStaggeredGrid.

  • В BasicText добавлен отдельный лямбда-параметр color. По заявлению разработчиков, это позволит эффективнее задавать цвет текста, а также его анимировать.

  • В методы DrawScope.drawText, Paragraph.paint и MultiParagraph.paint добавлен параметр BlendMode для поддержки различных алгоритмов смешивания при рисовании текста на Canvas.

  • TextMeasurer и связанные с ним API больше не являются экспериментальными.

Дополнения Compose

Также были добавлены различные дополнения Compose, а именно:

  • constraintlayout-compose обновлен до версии 1.1.0-alpha10

  • Compose для Wear, а также дополнения compose-material и compose-navigation для него обновлены до версий 1.0.0-alpha05 и 1.2.0-beta01

  • Paging-Compose обновлен до версии 1.0.0-alpha20

  • Compose Material 3 (Material You) обновлен до версии 1.2.0-alpha02

Fluent 2

Microsoft анонсировала Fluent 2, обновленную версию своей системы проектирования, которая, по словам разработчиков, обеспечивает более беспрепятственную совместную работу.

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

Платформа Canva Developers Platform

Canva выпускает SDK и новые API для своей платформы. Эти изменения позволят разработчикам создавать приложения с более привлекательным дизайном для обширного сообщества Canva. В результате разработчики смогут продавать свои приложения через Canva App Marketplace и охватить еще более широкую аудиторию.

Обновления Android Jetpack

  • Room 2.5.2 с исправлением багов.

  • В Room 2.6.0-alpha02 появился Gradle плагин для корректной настройки Room с импортом схем БД. Плагин уберет необходимость настройки процессора аннотаций и хорошо скажется на кэшировании Gradle билда.

Обновление IntelliJ IDEA 2023.2 EAP 5

Вышло обновление IntelliJ IDEA 2023.2 EAP 5. Новая версия включает поддержку частичных коммитов и возможность запуска и отладки приложений в WSL Tomcat, а также улучшения для HTTP-клиента, Docker, Kubernetes, Swagger и т. д.

Новая версия Detekt 1.23.0

  • Плагин компилятора переехал в основное репо. Он позволяет подключать проверки не через Gradle плагин, а как часть процесса компиляции кода.

  • 25 новых правил (включает правила из KtLint 0.49.1).

  • Поддержка Gradle Worker API, что ускорит проверку больших проектов.

  • Исправление багов.

Обновление IntelliJ IDEA 2023.2 EAP 5

Вышло обновление IntelliJ IDEA 2023.2 EAP 5:

  • Поддержка LSP API.

  • Предварительный просмотр пользовательского интерфейса Redoc для файлов OpenAPI и Swagger.

  • Поддержка GraphQL и WebSocket в интерфейсе командной строки HTTP-клиента.

  • Запросы gRPC через TLS в HTTP-клиенте.

Mos.Hub

30 мая 2023 года правительство Москвы открыло доступ всем пользователям к библиотеке разработок с открытым кодом Mos.Hub (МосХаб) — аналогу GitHub и GitLab. На данный момент в Mos.Hub разработчикам уже доступен репозиторий, в котором можно хранить и совместно улучшать код.

Другое

Рекомендации по использованию SQLite

В Google появился раздел с рекомендациями по производительности SQLite.

  • Оптимизация производительности базы данных.

  • Улучшение производительности запросов.

  • Инструменты для устранения неполадок.

Курс «Основы Android с Compose»

Курс по основам Android на Compose переработали и теперь базируется на Material3 (он же Material You).

RuStore

API

В Rustore запустили API загрузки и публикации приложений, который позволяет:

  • создавать и удалять черновики приложений;

  • загружать описания, скриншоты, иконки приложений и файлы APK.

А также API для работы с отзывами и рейтингами, с помощью которого можно:

  • получить информацию об отзывах и рейтингах за все время в двух форматах JSON и СSV (JSON за все время, CSV любой интервал в 90 дней);

  • отвечать на отзывы пользователей, а также изменять и удалять свой ответ;

  • получать статус ответа на отзыв пользователя.

RuStore Консоль

Обновили сценарий загрузки приложения в RuStore Консоль. Теперь система учитывает приоритет по отпечаткам подписи для APK-файлов.

Можно загружать APK-файлы с разными подписями разработчика или с поддержкой разных сервисов. Это снизит число ошибок при установке и расширит аудиторию приложения: RuStore отдаст каждому пользователю файл, созданный под устройство, или с совпадающей подписью.

Изменения в том числе помогут адаптировать загружаемые APK-файлы под устройства с Huawei Mobile Services. Раньше разработчики могли создавать только универсальные APK.

А ещё мы запустили официальный чат RuStore для разработчиков.

В нем вы сможете делиться мыслями и идеями друг с другом, просить совета у коллег и общаться с командой нашего стора в неформальной обстановке.

© Habrahabr.ru