Forwarded from Compose Broadcast (Кирилл Розов)
В рамках фреймворка Circuit для построения приложения на Compose сделали фичу сохранения данных за пределами цикла композиции и позже возможно их получить. Это хранение данных в памяти, а не сериализация и может вам позволить заменить ViewModel
Исходный код как это устроено можно найти тут, а почитать про возможности в статье (EN, 10 мин)
#architecture @compose_broadcast
Исходный код как это устроено можно найти тут, а почитать про возможности в статье (EN, 10 мин)
#architecture @compose_broadcast
👍7
Вышел Gradle 8.7
👉 Поддержка Java 22
👉 Компиляция Groovy скриптов теперь выполняется только когда это необходимо (работает на основе build cache)
👉 Улучшения API для авторов плагинов
👉 Улучшения configuration cache
#gradle
👉 Поддержка Java 22
👉 Компиляция Groovy скриптов теперь выполняется только когда это необходимо (работает на основе build cache)
👉 Улучшения API для авторов плагинов
👉 Улучшения configuration cache
#gradle
🎉24👍6
Вышла Java 22. Что нового:
👉 Unnamed Variables & Patterns (JEP 456)
👉 Launch Multi-File Source-Code Programs
👉 String Templates (Second Preview) (JEP 459)
👉 Statements before super(...) (Preview) (JEP 447)
👉 Implicitly Declared Classes and Instance Main Methods (Second Preview) (JEP 463)
👉 Stream Gatherers (Preview) (JEP 461)
👉 Class-File API (Preview) (JEP 457)
👉 Structured Concurrency (Second Preview) (JEP 462)
👉 Scoped Values (Second Preview) (JEP 464)
👉 Foreign Function & Memory API (JEP 454)
Много других изменений и подробнее в статье
#java
👉 Unnamed Variables & Patterns (JEP 456)
👉 Launch Multi-File Source-Code Programs
👉 String Templates (Second Preview) (JEP 459)
👉 Statements before super(...) (Preview) (JEP 447)
👉 Implicitly Declared Classes and Instance Main Methods (Second Preview) (JEP 463)
👉 Stream Gatherers (Preview) (JEP 461)
👉 Class-File API (Preview) (JEP 457)
👉 Structured Concurrency (Second Preview) (JEP 462)
👉 Scoped Values (Second Preview) (JEP 464)
👉 Foreign Function & Memory API (JEP 454)
Много других изменений и подробнее в статье
#java
🔥8👍4🎉1
Платные подписчики на Boosty могут подключиться к прямом эфиру и обсудить со мной вопросы зрителей и задать свои. Как это сделать - читайте тут
Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
Jake Wharton рассказывает чем плох Gradle Java Toolchain для указание используемых версий Java
По итогу рекомендация использовать флаг
По итогу рекомендация использовать флаг
--release при компиляции Java. Для Android - sourceCompatibility (для Java) и jvmTarget (для Kotlin)👍14
🔴 Стартует Q&A Стрим. Что нужно учить в 2024
Традиционный прямой эфир, где я отвечаю на ваши вопросы и рассказываю новости проекта. В этот раз начнем с моего мнения касательно того, что стоит, а главное НЕ стоит учить.
❗️ Запись эфира останется на канале
#AndroidBroadcast #live
Традиционный прямой эфир, где я отвечаю на ваши вопросы и рассказываю новости проекта. В этот раз начнем с моего мнения касательно того, что стоит, а главное НЕ стоит учить.
❗️ Запись эфира останется на канале
#AndroidBroadcast #live
👍15
This media is not supported in your browser
VIEW IN TELEGRAM
GitHub Copilot обзавёлся автоматическими исправлениями кода на основе CodeQL. Поддерживается JS, TS, Java и Python
#github #ai #copilot #tooling
#github #ai #copilot #tooling
👍15❤2
В Android 15 появиться возможность "архивирования" приложения. С вашего телефона будут удаляться приложения которые вы редко используете, но вот все данные их будут сохраняться, а в лаунчере останеться иконка. При попытке запуска такого приложения надо будет выполнить установку из магазина заново, а после этого пользователь продолжит со всеми данными.
#android15
#android15
👍97🔥18
Media is too big
VIEW IN TELEGRAM
В Android 15 DP2 для Pixel 8 Pro теперь не просто можно подключить телефон как камеру, а еще и включить режим "Высокое качество". Результата в видео, а источник тут
#android15 #pixel
#android15 #pixel
👍28🔥6
Помните ограничение на установку приложений с targetSdk ниже 23 (Android 6.0) в Android 14? Так вот в Android 15 поднимают значение на 1 т.е. минимальным устанавливаемым targetSdk станет 24 (Android 7.0)
#android15
#android15
🔥69
Инструкция (7м) по организации перехвата трафика мобильных приложений, чтобы понять что у вас передается с устройства на сервер
#tooling
#tooling
👍28
Вышел Retrofit 2.11.0 и там одно существенное изменение - класс OptionalConverterFactory стал публичным
👍15
Руководитель команды автоматизации тестирования в Одноклассниках рассказывает (13м) про подходы к работе с Android UI-автотестами (~1400 штук) на Java и Espresso:
👉 формат представления результатов
👉 как устроен запрет мерджа
👉 как смогли стабилизировать тесты
👉 как настроили параметризацию запуска
👉 параллельное выполнение тестов
#тестирование #автоматизация
👉 формат представления результатов
👉 как устроен запрет мерджа
👉 как смогли стабилизировать тесты
👉 как настроили параметризацию запуска
👉 параллельное выполнение тестов
#тестирование #автоматизация
👍21
На Boosty началось голосование за формат следующего стрима, который состоится 2 апреля (вторник).
boosty.to
Android Broadcast Плюс - Все о Android Разработке. Автор Кирилл Розов
Android Broadcast - это русскоязычный проект, направленный на помощь в развитии Android разработчикам. Проект включает в себя: 👉 Telegram каналы @android_broadcast , @kotlin_broadcast , @ios_broadcast 👉 Видео по разработки на видеоплатформах YouTube…
Forwarded from Compose Broadcast (Кирилл Розов)
Вы пишите на Compose в проде?
Anonymous Poll
6%
Да, Compose Multiplatform (любая платформа, помимо Android)
57%
Да, Jetpack Compose (Android)
26%
Нет, не использую
2%
Вообще не пишу код
10%
Не участвую в опросе
👍15
Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
Статья (EN, 20м) о безопасном обновлении состояния в Kotlin приложениях:
👉 Что такое состояние
👉 Как сделать его реактивным
👉 Унификация состояния
👉 Консистентность состояния
👉 Параллельное обновление состояния
👉 Сериализация изменений состояния
🔗 Альтернативная ссылка
#архитектура #mvi
Больше про Kotlin на канале @kotlin_broadcast
👉 Что такое состояние
👉 Как сделать его реактивным
👉 Унификация состояния
👉 Консистентность состояния
👉 Параллельное обновление состояния
👉 Сериализация изменений состояния
🔗 Альтернативная ссылка
#архитектура #mvi
Больше про Kotlin на канале @kotlin_broadcast
👍7
Написал статью о том почему плохо использовать подобный подход с when и как провести его правильный рефакторинг.
#AndroidBroadcast #лучшиепрактики #архитектура
#AndroidBroadcast #лучшиепрактики #архитектура
👍14❤4🔥3
Android Broadcast
Написал статью о том почему плохо использовать подобный подход с when и как провести его правильный рефакторинг. #AndroidBroadcast #лучшиепрактики #архитектура
Продолжение статьи где показываю возможное решение на Dagger и его минусы. Читать тут
#AndroidBroadcast
#AndroidBroadcast
👍6
Media is too big
VIEW IN TELEGRAM
Разбор Android Work Profile и как он устроен
Рассказывает - Ксения Никитина, разработчик из Лаборатории Касперского
1:27 Об MDM, как WorkProfile работает с ним
2:41 Как WorkProfile появляется на устройстве
6:25 Как у пользователя отображается рабочий профиль
6:49 Управление рабочим профилем
7:17 Как очищать данные рабочих приложений
7:33 Функционал WorkProfile и реализация
8:32 Ограничения
9:23 Обязательный ввод пароля
10:33 Как заблокировать рабочий профиль
11:15 Преимущества технологии
Смотрите разбор на разных площадках:
👉YouTube
👉VK Video
👉Дзен
#AndroidBroadcast #кодинг
Рассказывает - Ксения Никитина, разработчик из Лаборатории Касперского
1:27 Об MDM, как WorkProfile работает с ним
2:41 Как WorkProfile появляется на устройстве
6:25 Как у пользователя отображается рабочий профиль
6:49 Управление рабочим профилем
7:17 Как очищать данные рабочих приложений
7:33 Функционал WorkProfile и реализация
8:32 Ограничения
9:23 Обязательный ввод пароля
10:33 Как заблокировать рабочий профиль
11:15 Преимущества технологии
Смотрите разбор на разных площадках:
👉YouTube
👉VK Video
👉Дзен
#AndroidBroadcast #кодинг
👍31❤8