Как с помощью Kover сгенерировать бейдж с code coverage
- Kover – Gradle плагин, оценивающий процент покрытия Kotlin кода тестами
- В статье разбирается, как правильно сконфигурировать Gradle таску и GitHub Action, чтобы добавить в README проекта бейдж с code coverage
- Kover – Gradle плагин, оценивающий процент покрытия Kotlin кода тестами
- В статье разбирается, как правильно сконфигурировать Gradle таску и GitHub Action, чтобы добавить в README проекта бейдж с code coverage
This media is not supported in your browser
VIEW IN TELEGRAM
Новый фотопикер в Android
- В Android 13 задепрекейтили READ_EXTERNAL_STORAGE и WRITE_EXTERNAL_STORAGE permissions.
- Вместо этого предлагается использовать системный фотопикер, который позволяет выбрать, к каким файлам дать доступ приложению.
- В отдельных случаях можно задать более гранулярные разрешения для конкретных типов файлов.
- В Android 13 задепрекейтили READ_EXTERNAL_STORAGE и WRITE_EXTERNAL_STORAGE permissions.
- Вместо этого предлагается использовать системный фотопикер, который позволяет выбрать, к каким файлам дать доступ приложению.
- В отдельных случаях можно задать более гранулярные разрешения для конкретных типов файлов.
Обработка разовых событий ViewModel’и в Compose
- Часто логика приложения предусматривает события, который могут произойти и должны быть обработаны только один раз.
- Исторически под такое событие создавался SingleLiveEvent, который обзервился нужным компонентом.
- Автор статьи разбирает более чистый способ решения задачи, соответствующий гайдам Now in Android.
- Часто логика приложения предусматривает события, который могут произойти и должны быть обработаны только один раз.
- Исторически под такое событие создавался SingleLiveEvent, который обзервился нужным компонентом.
- Автор статьи разбирает более чистый способ решения задачи, соответствующий гайдам Now in Android.
Google переезжает с Java на Kotlin для бэкенда
Важная новость для всех, кто следит за развитием Котлина за пределами Android. Google рассказали, что выбрали Kotlin как замену для Java для своих внутренних сервисов. В рассказе много интересных данных из внутренних рисерчей:
- Больше 1000 человек в Google пишут код на Kotlin
- Всего внутри больше 11млн LoC на Kotlin
- За последний год количество Kotlin кода выросло в два раза
Важная новость для всех, кто следит за развитием Котлина за пределами Android. Google рассказали, что выбрали Kotlin как замену для Java для своих внутренних сервисов. В рассказе много интересных данных из внутренних рисерчей:
- Больше 1000 человек в Google пишут код на Kotlin
- Всего внутри больше 11млн LoC на Kotlin
- За последний год количество Kotlin кода выросло в два раза
YouTube
Google's Journey from Java to Kotlin for Server Side Programming by James Ward , Brad Hawkes , John
Kotlin is now a recommended programming language for server-side JVM usage at Google, while still providing access to a large existing Java ecosystem. With over 11 million lines of Kotlin code at Google (across server and Android), we've done a number of…
Снова про functional core, imperative shell
Автор разбирает основную идею парадигмы «functional core, imperative shell», сводя архитектуру проекта к трем компонентам – UI, Reducer и CommandHandler. Статья работает как хорошая вводная для оригинального доклада. А детали про то, как парадигма может быть применена к Android проекту, есть тут.
Автор разбирает основную идею парадигмы «functional core, imperative shell», сводя архитектуру проекта к трем компонентам – UI, Reducer и CommandHandler. Статья работает как хорошая вводная для оригинального доклада. А детали про то, как парадигма может быть применена к Android проекту, есть тут.
Релиз Compose Multiplatform 1.2
Все основные изменения в этом релизе касаются поддержки десктопа:
- Поддержка ProGuard
- API выбора элементов для фокуса с помощью клавиатуры
- Новые модификаторы для работы с мышью и клавиатурой
- Поддержка Conveyor – удобного инструмента для сборки, распространения и менеджмента апдейтов
Все основные изменения в этом релизе касаются поддержки десктопа:
- Поддержка ProGuard
- API выбора элементов для фокуса с помощью клавиатуры
- Новые модификаторы для работы с мышью и клавиатурой
- Поддержка Conveyor – удобного инструмента для сборки, распространения и менеджмента апдейтов
VisualFSM – библиотека визуализации состояний в MVI
- Логика смены состояний в MVI может быть описана в виде конечного автомата.
- Такое описание позволяет автоматически построить понятный граф переходов между этими состояниями, что упрощает анализ системы.
- VisualFSM – библиотека с набором компонентов для организации такого автомата и визуализации его состояний.
- Логика смены состояний в MVI может быть описана в виде конечного автомата.
- Такое описание позволяет автоматически построить понятный граф переходов между этими состояниями, что упрощает анализ системы.
- VisualFSM – библиотека с набором компонентов для организации такого автомата и визуализации его состояний.
Резиз превью Fleet, новой IDE от JetBrains
- Fleet – новая IDE с поддержкой Kotlin, которая может работать как в режиме обычного редактора с ограниченными возможностями по подсветке и навигации, так и в режиме полноценной IDE.
- Релиз еще очень сырой, дальше в разработке фокус будет на перфомансе, API для написания плагинов, поддержке тем.
- Детали есть в видео демо.
- Fleet – новая IDE с поддержкой Kotlin, которая может работать как в режиме обычного редактора с ограниченными возможностями по подсветке и навигации, так и в режиме полноценной IDE.
- Релиз еще очень сырой, дальше в разработке фокус будет на перфомансе, API для написания плагинов, поддержке тем.
- Детали есть в видео демо.
The JetBrains Blog
Introducing the Fleet Public Preview | The Fleet Blog
Since the initial announcement of Fleet, we have had an overwhelming amount of interest from all of you, with over 137,000 people signing up for the private preview. Our reason for starting with a clo
Landskapist – библиотека для работы с изображениями в Compose
- Библиотека загружает изображения с помощью Glide, Coil и Fresco.
- Поддерживает preview mode в Android Studio.
- Поддерживает кучу плагинов и возможность писать собственные: плейсхолдеры, анимации загрузки и отображения, трансформации.
- Библиотека загружает изображения с помощью Glide, Coil и Fresco.
- Поддерживает preview mode в Android Studio.
- Поддерживает кучу плагинов и возможность писать собственные: плейсхолдеры, анимации загрузки и отображения, трансформации.
Новости про TensorFlow Lite в Google Play Services
- TensorFlow Lite, включенный в Google Play Services, теперь считается официальным решением для инференса моделей на устройстве.
- Это значит, что можно больше не тащить TensorFlow самостоятельно.
- Так же в Google Play Services включаются TensorFlow Lite Delegates – расширения, которые позволяют процессить модели с подключением специальных чипов на устройстве и GPU.
- TensorFlow Lite, включенный в Google Play Services, теперь считается официальным решением для инференса моделей на устройстве.
- Это значит, что можно больше не тащить TensorFlow самостоятельно.
- Так же в Google Play Services включаются TensorFlow Lite Delegates – расширения, которые позволяют процессить модели с подключением специальных чипов на устройстве и GPU.
Воркшоп по знакомству с Kotlin Multiplatform Mobile
Выход в Beta подходящий момент, чтобы разобраться с КММ, собрать свой первый проект с шаренным кодом и присмотреться к интеграции в рабочий проект.
Выход в Beta подходящий момент, чтобы разобраться с КММ, собрать свой первый проект с шаренным кодом и присмотреться к интеграции в рабочий проект.
This media is not supported in your browser
VIEW IN TELEGRAM
State Destructuring vs State Delegates
В статье разбирается два подхода к работе с mutable стейтом в Compose и границы их применимости.
В статье разбирается два подхода к работе с mutable стейтом в Compose и границы их применимости.
Вышло ежегодное исследование популярности команд Android разработки
В этом году мы опросили 660 Android-разработчиков, на 40% больше, чем в прошлом! Посмотрите отчет, чтобы узнать:
💰В каких сферах предпочитают работать Android разработчики (спойлер – топ-1 это банки)
📚Какие 10 книг чаще всего рекомендуют для прочтения
🤔Какие каналы и сообщества про Android разработку самые популярные
📃Как много андроидщиков планирует менять работу в этом году
📊Кто входит в топ Android экспертов
🤩В каких компаниях и почему разработчики хотят работать
Исследование проведено при поддержке VK. Пошарьте опрос в своем рабочем чате, мы будем очень рады ❤️
В этом году мы опросили 660 Android-разработчиков, на 40% больше, чем в прошлом! Посмотрите отчет, чтобы узнать:
💰В каких сферах предпочитают работать Android разработчики (спойлер – топ-1 это банки)
📚Какие 10 книг чаще всего рекомендуют для прочтения
🤔Какие каналы и сообщества про Android разработку самые популярные
📃Как много андроидщиков планирует менять работу в этом году
📊Кто входит в топ Android экспертов
🤩В каких компаниях и почему разработчики хотят работать
Исследование проведено при поддержке VK. Пошарьте опрос в своем рабочем чате, мы будем очень рады ❤️
Известность команд Android разработки 2022
Известность команд Android разработки 2022
Рисерч DevCrowd: Известность команд Android разработки 2022
Как работает звук
Главный лонгрид недели – Bartosz Ciechanowski, которого вы знаете по крутейшим интерактивным статьям о принципах работы GPS и механических часов, выпустил новый материал. В нем он разбирает основные принципы того, как в атмосфере передаются звуки, и что влияет на то, что именно мы слышим.
Главный лонгрид недели – Bartosz Ciechanowski, которого вы знаете по крутейшим интерактивным статьям о принципах работы GPS и механических часов, выпустил новый материал. В нем он разбирает основные принципы того, как в атмосфере передаются звуки, и что влияет на то, что именно мы слышим.
Приложение Pocket Casts в Open Source
Команда Pocket Casts решила заопенсорсить свои мобильные приложения на GitHub и вести весь процесс разработки открыто.
Команда Pocket Casts решила заопенсорсить свои мобильные приложения на GitHub и вести весь процесс разработки открыто.
Как в Android развивались ограничения работы в фоне
Кирилл Розов проанализировал, как в различных версиях Android менялись ограничения по работе приложений в фоне, какие из них есть и сейчас, и какие особенности есть в их работе.
Кирилл Розов проанализировал, как в различных версиях Android менялись ограничения по работе приложений в фоне, какие из них есть и сейчас, и какие особенности есть в их работе.
Хабр
Как в Android запрещали фоновую работу и улучшали расход батареи
Когда-то работа в фоне была простой. Теперь в Android есть множество ограничений: работа в фоне, доступ к файловой системе, разрешения, на которые надо получить одобрение модераторов Google Play, и...
This media is not supported in your browser
VIEW IN TELEGRAM
Основные анонсы с Android Dev Summit’22
🎁 Появился Gradle BOM, содержащий стабильные версии всех Compose библиотек.
🎨 Стабильный релиз Compose Material 3, а с ним – подробный migration guide.
👨🎨 Альфа-релиз Relay, инструмента для конвертации Figma-компонентов в Compose-код.
🏎 Baseline Profiles стали стабильными.
💻 Большой рефакторинг Compose Modifiers, благодаря которому перфоманс значительно улучшится.
🛠 Много новых фичей в Compose: от возможности рисовать текст на канвасе до модификатора pullRefresh.
🎁 Появился Gradle BOM, содержащий стабильные версии всех Compose библиотек.
🎨 Стабильный релиз Compose Material 3, а с ним – подробный migration guide.
👨🎨 Альфа-релиз Relay, инструмента для конвертации Figma-компонентов в Compose-код.
🏎 Baseline Profiles стали стабильными.
💻 Большой рефакторинг Compose Modifiers, благодаря которому перфоманс значительно улучшится.
🛠 Много новых фичей в Compose: от возможности рисовать текст на канвасе до модификатора pullRefresh.
Обновленные архитектурные рекомендации от Google
Все рекомендации разбиты на три группы:
🔥Strongly recommended (UDF, lifecycle-aware state collection, coroutines and flows)
👍Recommended (не использовать AndroidViewModel, использовать single-activity подход, Hilt)
🤷♂️Optional (рекомендации по неймингу)
Новый контент в рекомендациях:
- Овервью про модуляризацию
- Обзор паттернов модуляризации
- State holders
- Менеджмент стейта UI
- Navigation UI events
- Использование Navigation Compose
Все рекомендации разбиты на три группы:
🔥Strongly recommended (UDF, lifecycle-aware state collection, coroutines and flows)
👍Recommended (не использовать AndroidViewModel, использовать single-activity подход, Hilt)
🤷♂️Optional (рекомендации по неймингу)
Новый контент в рекомендациях:
- Овервью про модуляризацию
- Обзор паттернов модуляризации
- State holders
- Менеджмент стейта UI
- Navigation UI events
- Использование Navigation Compose
This media is not supported in your browser
VIEW IN TELEGRAM
Как в CameraX решаются проблемы совместимости с разными девайсами
CameraX – Jetpack библиотека, которая дает приложениям доступ к камере. Особенности работы с камерой отличаются от устройства к устройству, поэтому одна из ключевых задач CameraX – скрывать внутри себя детали реализации совместимости. В статье раскрываются детали того, как команда с ними работает:
📱Библиотека тестируется на ферме из 150 разных девайсов.
💻Под капотом скрыты 30 костылей, нужных для поддержки конкретных устройств.
📂Поддержка Foldables из коробки.
CameraX – Jetpack библиотека, которая дает приложениям доступ к камере. Особенности работы с камерой отличаются от устройства к устройству, поэтому одна из ключевых задач CameraX – скрывать внутри себя детали реализации совместимости. В статье раскрываются детали того, как команда с ними работает:
📱Библиотека тестируется на ферме из 150 разных девайсов.
💻Под капотом скрыты 30 костылей, нужных для поддержки конкретных устройств.
📂Поддержка Foldables из коробки.
Исследование того, как в разных компаниях подходят к автотестам
Женя Мацюк, автор библиотеки Kaspresso и бесконечности докладов про автоматизацию тестирования, провел интервью с 30 командами мобильной разработки и подбил аналитику по тому, что там по автотестам в 2022 году.
- У 30% команд написано больше 1000 UI тестов.
- У большинства команд соблюдаются пропорции стандартной пирамиды тестирования, и unit-тестов больше, чем end-to-end.
- 60% команд гоняют UI тесты на каждый PR, а 25% – на ночных сборках.
- У половины команд время на прогона сьюта тестов на PR – больше 25 минут.
- Больше половины респондентов запускают в паралелль не больше пяти эмуляторов.
Конечно, в исследовании явно есть перекос в сторону больших команд, поэтому учтите это при прочтении статьи.
Женя Мацюк, автор библиотеки Kaspresso и бесконечности докладов про автоматизацию тестирования, провел интервью с 30 командами мобильной разработки и подбил аналитику по тому, что там по автотестам в 2022 году.
- У 30% команд написано больше 1000 UI тестов.
- У большинства команд соблюдаются пропорции стандартной пирамиды тестирования, и unit-тестов больше, чем end-to-end.
- 60% команд гоняют UI тесты на каждый PR, а 25% – на ночных сборках.
- У половины команд время на прогона сьюта тестов на PR – больше 25 минут.
- Больше половины респондентов запускают в паралелль не больше пяти эмуляторов.
Конечно, в исследовании явно есть перекос в сторону больших команд, поэтому учтите это при прочтении статьи.