Советы по тестированию suspend функций
Разбор нескольких практик тестирования и вспомогательных функций из kotlinx.coroutines.test, которые упрощают проверку результатов работы корутин.
Разбор нескольких практик тестирования и вспомогательных функций из kotlinx.coroutines.test, которые упрощают проверку результатов работы корутин.
Arkadiusz Chmura
How to test intermediate steps in suspending functions | Arkadiusz Chmura
Testing the final result of a suspending function is easy, but what about verifying what happens inside it during the execution?
Multiplatform Paging
- Логика пагинации – идеальный кандидат для того, чтобы шарить между платформами.
- CashApp выпустили библиотеку Multiplatform Paging, полный аналог библиотеки из AndroidX, но с поддержкой мультиплатформы.
- Логика пагинации – идеальный кандидат для того, чтобы шарить между платформами.
- CashApp выпустили библиотеку Multiplatform Paging, полный аналог библиотеки из AndroidX, но с поддержкой мультиплатформы.
Cash App Code Blog
Announcing Multiplatform Paging
Multiplatform Paging is a library that packages AndroidX Paging for Kotlin/Multiplatform. It’s built to be a drop-in-replacement for AndroidX Paging, so extracting out shared pagination logic couldn’t be easier.
Отчет с анализом 2.9 миллионов приложений из Play Store
- Ежегодный рост количества приложений уменьшился, пик был в 2019 году. То же и с ростом количества разработчиков.
- Категории-лидеры по количеству инсталлов: Tools, Communication, Productivity, Entertainment, Video Players.
- Только у 1% приложений больше миллиона инсталлов, причем только у 61% из них рейтинг выше 4.
- В среднем в 40% приложений есть реклама.
- Ежегодный рост количества приложений уменьшился, пик был в 2019 году. То же и с ростом количества разработчиков.
- Категории-лидеры по количеству инсталлов: Tools, Communication, Productivity, Entertainment, Video Players.
- Только у 1% приложений больше миллиона инсталлов, причем только у 61% из них рейтинг выше 4.
- В среднем в 40% приложений есть реклама.
Релиз Koin Android 3.3.0
koin-android и koin-android-compose обновились до версии 3.3.0. Основной фокус – обновление ViewModel API.
koin-android и koin-android-compose обновились до версии 3.3.0. Основной фокус – обновление ViewModel API.
Различия .collect() и .launchIn() в Kotlin Flows
В статье разбираются различия между двумя основными способами сбора результатов работы Flow. Если кратко, то для большинства случаев рекомендуется .launchIn(), так как логика работы .collect() менее очевидна.
В статье разбираются различия между двумя основными способами сбора результатов работы Flow. Если кратко, то для большинства случаев рекомендуется .launchIn(), так как логика работы .collect() менее очевидна.
Расскажите, чего вам не хватает в роадмапе Kotlin
В команде Kotlin только что закончилось полугодовое планирование, и я готовлю обновление для публичного роадмапа. Расскажите в комментариях, какой информации вам в нем не хватает и как, на ваш взгляд, его можно было бы улучшить!
В команде Kotlin только что закончилось полугодовое планирование, и я готовлю обновление для публичного роадмапа. Расскажите в комментариях, какой информации вам в нем не хватает и как, на ваш взгляд, его можно было бы улучшить!
Гайд по разработке библиотек
Большой набор рекомендаций по всем фазам жизненного цикла библиотеки: дизайну, разработке, релизу и поддержке. Вот некоторые из них:
👀 Используйте режим Explicit API для того, чтобы контролировать видимость ваших функций пользователям библиотеки.
✅ Binary Compatibility Validator позволяет следить за обратной совместимостью.
🌠 Настройте работу с ресурсами, добавив им префиксы с именем библиотеки и отключив транзитивность для R class.
Большой набор рекомендаций по всем фазам жизненного цикла библиотеки: дизайну, разработке, релизу и поддержке. Вот некоторые из них:
👀 Используйте режим Explicit API для того, чтобы контролировать видимость ваших функций пользователям библиотеки.
✅ Binary Compatibility Validator позволяет следить за обратной совместимостью.
🌠 Настройте работу с ресурсами, добавив им префиксы с именем библиотеки и отключив транзитивность для R class.
Внимательность к финансовым привычкам — новый чёрный. Формировать её клиентам Сбера помогают аналитические и рекомендательные сервисы в приложении банка.
Сейчас Сбер ищет Android-разработчиков для работы над такими сервисами.
Важно знать Java и Kotlin. Рассматривают соискателей с опытом разработки Android-приложений от 2 лет, со знанием SQL, паттернов проектирования, классических алгоритмов, структур данных, систем непрерывной интеграции; специалистов, знакомых с Ant, Maven, Gradle.
Оклад: до 320 000 ₽ + премия в конце года.
Есть возможность работать удалённо в Москве и выбрать подходящий для себя график. Сотрудник получает ДМС с первого дня, возможность оформить льготную страховку для близких и пониженную (на 4%) ставку по ипотеке.
Среди приятных бонусов — подписка на СберПрайм+ за 0 ₽ и бесплатное обучение в Виртуальной школе и Корпоративном университете Сбера.
Узнать больше о вакансии и откликнуться можно по ссылке.
Сейчас Сбер ищет Android-разработчиков для работы над такими сервисами.
Важно знать Java и Kotlin. Рассматривают соискателей с опытом разработки Android-приложений от 2 лет, со знанием SQL, паттернов проектирования, классических алгоритмов, структур данных, систем непрерывной интеграции; специалистов, знакомых с Ant, Maven, Gradle.
Оклад: до 320 000 ₽ + премия в конце года.
Есть возможность работать удалённо в Москве и выбрать подходящий для себя график. Сотрудник получает ДМС с первого дня, возможность оформить льготную страховку для близких и пониженную (на 4%) ставку по ипотеке.
Среди приятных бонусов — подписка на СберПрайм+ за 0 ₽ и бесплатное обучение в Виртуальной школе и Корпоративном университете Сбера.
Узнать больше о вакансии и откликнуться можно по ссылке.
Главные проблемы в Kotlin и как они будут решаться
- Основные боли: перфоманс IDE и сборки, сложность настройки билда.
- Со стороны IDE перфоманса больше всего болят частые фризы и скорость индексации проекта.
- В последних версиях Kotlin есть много улучшений, направленных на решение этих проблем. Например, новая инкременталка в Gradle, или оптимизация индексов в IntelliJ.
- Основные боли: перфоманс IDE и сборки, сложность настройки билда.
- Со стороны IDE перфоманса больше всего болят частые фризы и скорость индексации проекта.
- В последних версиях Kotlin есть много улучшений, направленных на решение этих проблем. Например, новая инкременталка в Gradle, или оптимизация индексов в IntelliJ.
Kotlin User Group на Кипре
Друзья попросили поделиться ссылкой на Кипрское Kotlin сообщество. Если вы сейчас живете на острове или планируете туда прилетать – обязательно вступайте, у ребят большие планы!
Друзья попросили поделиться ссылкой на Кипрское Kotlin сообщество. Если вы сейчас живете на острове или планируете туда прилетать – обязательно вступайте, у ребят большие планы!
Telegram
Cyprus Kotlin User Group
KUG Cyprus is for everyone who is interested in Kotlin. Doesn't matter whether you're a beginner or an expert, more into Android or Backend - we all want to learn more about Kotlin and have some fun together! Please use english.
Kotlin Android Extensions окончательно отключен
В Kotlin 1.8.0-Beta больше нельзя использовать Gradle плагин kotlin-android-extensions. Это ожидаемое изменение, про которое предупреждали уже год назад. Инструкция по переезду есть тут.
В Kotlin 1.8.0-Beta больше нельзя использовать Gradle плагин kotlin-android-extensions. Это ожидаемое изменение, про которое предупреждали уже год назад. Инструкция по переезду есть тут.
Релиз LeakCanary 2.10
- Экспорт дампа в базу Neo4j, которую сразу можно открыть в удобном браузере.
- Добавлена возможность мьютить уведомления от библиотеки, чтобы они не мешали тестировщикам внутренних сборок.
- Экспорт дампа в базу Neo4j, которую сразу можно открыть в удобном браузере.
- Добавлена возможность мьютить уведомления от библиотеки, чтобы они не мешали тестировщикам внутренних сборок.
Серия статей про RenderEffect
- RenderEffect – это API, который позволяет удобным образом взаимодействовать с кастомными и готовыми шейдерами и применять их к View.
- В серии статей по мотивам своего выступления на Android Dev Summit, Chet Haase рассказывает про Blur RenderEffect и про Android Graphics Shading Language.
- RenderEffect – это API, который позволяет удобным образом взаимодействовать с кастомными и готовыми шейдерами и применять их к View.
- В серии статей по мотивам своего выступления на Android Dev Summit, Chet Haase рассказывает про Blur RenderEffect и про Android Graphics Shading Language.
Medium
Blurring the Lines
Android RenderEffects #1: the blur effect
Обновилась документация по управлению памятью
Google обновили документацию про то, как в Android организован memory management. Из интересного – рекомендации по тестированию работы приложений в условиях ограниченной памяти, в том числе с помощью использования Stressful Application Test.
Google обновили документацию про то, как в Android организован memory management. Из интересного – рекомендации по тестированию работы приложений в условиях ограниченной памяти, в том числе с помощью использования Stressful Application Test.