Гайд по написанию простого annotation processor’а на KSP
🤔Сравнение с Kapt
🔎Поиск всех символов в коде с определенной аннотацией
🏎Факторы, влияющие на перфоманс
Код на GitHub
🤔Сравнение с Kapt
🔎Поиск всех символов в коде с определенной аннотацией
🏎Факторы, влияющие на перфоманс
Код на GitHub
Medium
🖌 The Guide To Your First Annotation Processor with KSP (And Becoming A Kotlin Artist)
In this article, we are going to create a KSP-based annotation processor that generates new code and files based on annotation usages. If…
Обзор обновленных инструментов в Android Studio Chipmunk, которые помогают находить и исправлять визуальные глитчи, связанные с пропущенными фреймами при отрисовке.
Medium
Spot your UI jank using CPU profiler in Android Studio
Android renders user interface (UI) by generating a frame from your app and displaying it on the screen. To ensure that a user’s…
Android 11 стал самой популярной версией – 28.3% пользователей используют ее. На втором месте – Android 10 (23.9%).
Android Police
Android 11 is now the most popular version of the OS according to latest distribution numbers
Latest Android version adoptions seem to be speeding up each year
В EAP билдах Java 19 появилась поддержка давно ожидаемого Project Loom – многопоточность на виртуальных тредах, которые можно создавать в миллионных количествах. В статье подробно рассказывается про то, как работать с такими виртуальными тредами, и какой перфоманс получается на выходе.
www.morling.dev
Loom and Thread Fairness
Update Jun 3: This post is discussed on Reddit and Hacker News
Project Loom (JEP 425) is probably amongst the most awaited feature additions to Java ever;
its implementation of virtual threads (or "green threads") promises developers the ability to create…
Project Loom (JEP 425) is probably amongst the most awaited feature additions to Java ever;
its implementation of virtual threads (or "green threads") promises developers the ability to create…
Разработка Юлы – канал, созданный командой Юлы, проект VK. Ребята-разработчики делятся своим опытом и материалами по микросервисной архитектуре и особенностям бэкенд-разработки, продуктовой аналитике и автоматизации тестирования. В канале вы найдете анонсы конференций, митапов и записи выступлений. Подписывайтесь, полезно и интересно.
Telegram
Разработка Юлы
Технологии Юлы. Разработка сервиса. Конференции.
Android разработчик рассказывает, как получил офферы на staff инженера в три крупные компании: Uber, Snap и Pinterest. Помимо общего алгоритма подготовки, автор делится кучей дополнительных ссылок по теме. Если подумываете пойти по собесам – рекомендую.
David Chang
How I Landed Three Staff Engineer Offers
I began my interviewing journey in March 2022, when I polished my resume and applied to several big tech companies. I spent 6 weeks preparing for my technical interviews while stepping into a new role at Dropbox as an interim engineering manager. I passed…
Тред про два альтернативных подхода к реализации thread safe доступа к синглтонам, один из которых используется в Koin, а другой – в Dagger.
Twitter
P.Y.
One argument that I haven't seen yet in the Koin vs Dagger debate: implementation of thread safe & efficient singleton access. In a JVM env, implementing lazy singletons in an efficient and thread safe way is tricky. Short thread because it's interesting…
Вышло июньское обновление публичного роадмапа Kotlin! В каждом из 50 тикетов есть детали про полученные за последние время результаты и следующие планы команды. Голосуйте за самые важные и оставляйте свой фидбэк в комментариях.
Из самого интересного:
📌Новый оператор `..<` на замену `until`
📌Подробный план выхода K2 компилятора в Beta
📌Стабилизация klib формата для мультиплатформенных библиотек
📌Поддержка парсинга и форматирования дат в kotlinx-datetime
Из самого интересного:
📌Новый оператор `..<` на замену `until`
📌Подробный план выхода K2 компилятора в Beta
📌Стабилизация klib формата для мультиплатформенных библиотек
📌Поддержка парсинга и форматирования дат в kotlinx-datetime
Подробная инструкция по тому, как собирать Android приложения в докере и настраивать все необходимое окружение.
Хабр
Как и зачем собирать Android приложение в docker контейнере
Добрый день, уважаемые читатели. Я - Владимир, меня зовут девопс. Говорят, что девопс - это болезнь и я это вам сегодня докажу. Ответа на вопрос "зачем?" вы тут не найдете, это кликбейт, я и сам не...
Если у вас есть несколько
build.gradle.kts
файлов с повторяющимся кодом, то вот заметка про то, как организовать его реюз – то, что для Groovy делалось легко, для Kotlin Script требует нескольких хаков.Eugene Petrenko
Gradle Kotlin DSL - Code Reuse -- Eugene Petrenko
How to reuse code between several gradle.kts files with accessors
Системный обзор типов модулей, с которыми вы можете столкнуться в архитектуре своего проекта, их особенностей и способов подключения друг к другу.
Хабр
Многомодульный BDSM: стоит ли внедрять Gradle модули и какие типы модулей бывают?
С каждым годом многомодульность в Android становится всё популярнее и популярнее. Выходит всё больше и больше статей, рассказывающих о ней. Но есть ощущение, что везде описывается просто подход,...
Uber рассказывают, как они используют ApplicationExitInfo API, чтобы детектить Application Not Responding события. По сравнению с другими способами, таким образом получается детектить больше ANR и получать полную информацию о стектрейсах.
Speaker Deck
ANR overview at Uber + Leveraging ApplicationExitInfo API
Basic patterns how ANR occurs, how we detect ANR at Uber, and how you can manage your app's ANR
Presented at Droidcon San Francisco 2022 by <a href="…
Presented at Droidcon San Francisco 2022 by <a href="…
И еще про Uber. Смотрите, как выглядит их ферма из сотен Pixel девайсов. Она используется для всех видов тестирования – ручного, автотестов, перфоманса.
Антипаттерны в работе с ViewModel events и рекомендации по тому, как делать правильно. Основная идея – такие события надо обрабатывать сразу же и записывать их в стейт, на обновления которого подписана View. Другие способы прокидывания событий – например, Kotlin Channels, не гарантируют их обработки.
Medium
ViewModel: One-off event antipatterns
You should handle ViewModel events immediately, causing a UI state update. Not doing this can result in bugs and future problems!
Выход Kotlin Multiplatform Mobile в Beta переезжает с весны на осень. Основная причина – новый подход к управлению памятью еще не готов к тому, чтобы быть включенным во всех проектах по умолчанию. Помимо этого в посте рассказывается про:
🧑⚕️KDoctor – CLI утилиту, которая настраивает окружение для KMM
🧱Новые версии Xcode-Kotlin плагина и архитектурных компонентов MOKO MVVM
🇨🇳Кейс Baidu, которые заадоптили KMM у себя
🧑⚕️KDoctor – CLI утилиту, которая настраивает окружение для KMM
🧱Новые версии Xcode-Kotlin плагина и архитектурных компонентов MOKO MVVM
🇨🇳Кейс Baidu, которые заадоптили KMM у себя
The JetBrains Blog
Kotlin Multiplatform Mobile Beta Roadmap Update | The Kotlin Blog
We would like to bring you an update on the development of Kotlin Multiplatform Mobile, which is continuing to move steadily along the road to Beta status.
В открытый доступ вышли все доклады конференции Android Makers 2022. Из того, что точно надо смотреть:
📹Creating a UI toolkit from scratch от Chet Haase и Romain Guy
📹Improve build times in less time от Zac Sweers
📹Untangling coroutine testing от Marton Braun
📹Creating a UI toolkit from scratch от Chet Haase и Romain Guy
📹Improve build times in less time от Zac Sweers
📹Untangling coroutine testing от Marton Braun
YouTube
Android Makers 2022 - YouTube
Несколько способов рефакторинга build.gradle, которые помогут ускорить время конфигурации билда.
www.liutikas.net
Gradle Configuration - Death by a Thousand Cuts
In Profiling - The Good Kind post I noted that Gradle configuration phase largely runs on a single thread with each project being configured (plugins applied...
На этой неделе вам придется смотреть очень много видео! Следующей свои доклады выложила недавно прошедшая конференция Kotlin Dev Day. Подборка интересного:
📹Обновленная версия доклада Shoulders of giants от Андрея Бреслава
📹The silver bullet syndrome part 2 от Хади Харири
📹Multiplatform sccess stories and fuck ups от Лилии Абдуллиной
📹Обновленная версия доклада Shoulders of giants от Андрея Бреслава
📹The silver bullet syndrome part 2 от Хади Харири
📹Multiplatform sccess stories and fuck ups от Лилии Абдуллиной
Kotlin Dev Day
Advanced Kotlin Dev Day | Nov 24, Amsterdam
We're spicing things up for the 3rd edition of Kotlin Dev Day. We're going advanced this time!
Вышел Kotlin 1.7.0!
- K2 компилятор стал доступен для JVM проектов и показывает 2.2 ускорение компиляции
- Новая инкрементальная компиляция в Gradle, которая существенно ускоряет билд
- Underscore operator for type arguments
- Стабилизированы opt-in аннотации, definitely non-nullable типы и builder inference
- K2 компилятор стал доступен для JVM проектов и показывает 2.2 ускорение компиляции
- Новая инкрементальная компиляция в Gradle, которая существенно ускоряет билд
- Underscore operator for type arguments
- Стабилизированы opt-in аннотации, definitely non-nullable типы и builder inference
The JetBrains Blog
Kotlin 1.7.0 Released | The Kotlin Blog
Kotlin 1.7.0 unveils the Alpha version of the new Kotlin/JVM K2 compiler, stabilizes language features, and brings performance improvements for the JVM, JS, and Native platforms.
Вышел первый стабильный релиз библиотеки Paparazzi от CashApp. Она рендерит UI для снятия снепшотов без запуска приложения на девайсе или эмуляторе.
GitHub
paparazzi/CHANGELOG.md at master · cashapp/paparazzi
Render your Android screens without a physical device or emulator - cashapp/paparazzi