Spotify выпустили Ruler – Gradle плагин для измерения и анализа размера APK. Из основных фичей:
- Анализирует APK, собранные под разные профили девайсов
- Замеряет Download Size и Install Size
- Строит дерево зависимостей от конкретных файлов до модулей, в которых они содержатся
- Дает оценку по влиянию на размер каждого класса
- Умеет маппить все классы на владельцев кода
В блоге ребята говорят, что благодаря инструменту уменьшили свое приложение уже на 9%.
- Анализирует APK, собранные под разные профили девайсов
- Замеряет Download Size и Install Size
- Строит дерево зависимостей от конкретных файлов до модулей, в которых они содержатся
- Дает оценку по влиянию на размер каждого класса
- Умеет маппить все классы на владельцев кода
В блоге ребята говорят, что благодаря инструменту уменьшили свое приложение уже на 9%.
GitHub
GitHub - spotify/ruler: Gradle plugin which helps you analyze the size of your Android apps.
Gradle plugin which helps you analyze the size of your Android apps. - spotify/ruler
Square пишут в Твиттере, что переезд на Gradle 7.4 дал ускорение configuration time на 30% на их бенчмарках.
Про весь список изменений в Gradle 7.4 можно прочитать здесь.
Про весь список изменений в Gradle 7.4 можно прочитать здесь.
Twitter
Ralf Wondratschek
I highly recommend upgrading to Gradle 7.4. It reduced configuration time for us significantly. Several of our benchmarks run about 30% (!!!) faster. The graph below shows configuration vs execution time of one our benchmark scenarios. Look at the nose dive!…
Вдогонку еще одно обсуждение в Твиттере про Gradle – есть ли смысл мигрировать с buildSrc на Gralde Version Catalogs. Если кратко, то стоит, и вот почему:
- Использование buildSrc увеличивает время компиляции
- При любом изменении buildSrc инвалидируется весь билд кэш
- В будущем даст дополнительные плюшки при более тесной интеграции Gradle с GitHub
Из минусов – в Android Studio пока не работает автокомплишн, но вот тут есть воркэраунд.
- Использование buildSrc увеличивает время компиляции
- При любом изменении buildSrc инвалидируется весь билд кэш
- В будущем даст дополнительные плюшки при более тесной интеграции Gradle с GitHub
Из минусов – в Android Studio пока не работает автокомплишн, но вот тут есть воркэраунд.
Twitter
Sam Edwards
What is the benefit of moving from buildSrc -> Gradle Version Catalogs? docs.gradle.org/current/usergu… Standardization? Performance? etc? 🤷♂️ I feel like I should use it, so that I'm using a standard, but am looking for performance numbers or something…
Серия статей про JNI, которые достаточно неплохо раскрывают тему:
Введение в JNI и Hello World
JNI-типы и работа с C++
Производительность JNI
Введение в JNI и Hello World
JNI-типы и работа с C++
Производительность JNI
Хабр
JNI Часть 1: Введение
Всем привет! Меня зовут Роман Аймалетдинов и я разрабатываю клиентское приложение Ситимобил. Решил написать небольшую серию из трех статей по JNI, так как технология используется редко, но иногда она...
На прошлой неделе я выкладывал подборку полезных плагинов для Android Studio и судя по реакциям, вам было полезно. Держите еще одну подборку. А в комментариях расскажите про самые полезные плагины, которые вы сами используете!
Medium
Useful Android Studio plugins
Android Studio is a fully-featured IDE built by JetBrains and Google that has all that you need for writing an application. But you always…
Посмотрите, какой классный опенсорсный проект! Реализация простой IDE на Compose for Desktop, которая под капотом использует бэкенд от IntelliJ IDEA для code insight.
GitHub
GitHub - n34t0/compose-code-editor: A desktop code editor app using Jetpack Compose for Desktop and IntelliJ Platform
A desktop code editor app using Jetpack Compose for Desktop and IntelliJ Platform - GitHub - n34t0/compose-code-editor: A desktop code editor app using Jetpack Compose for Desktop and IntelliJ Plat...
RIBs – это архитектура, которую использовали при масштабном рефакторинге приложения Uber. Если вы раньше с ней особо не сталкивались, то вот эта серия статей поможет разобраться, что к чему:
Плюсы RIBs
Минусы RIBs
Плюсы RIBs
Минусы RIBs
Medium
Advantages of RIB(Router, Interactor, Builder)
RIB is the cross-platform architecture framework designed by uber for mobile apps with a large number of engineers and nested states. RIB…
Директория
.gradle
легко может вырасти до нескольких десятков гигабайт. Если вам надо освободить место на диске, а весь кеш сносить не хочется, можно попробовать удалить только те файлы, которые не использовались дольше месяца. В статье рассказывается, какой конкретно командой можно это сделать.Crushing C.O.D.E
Reducing mammoth gradle caches
Blog by Nishant Srivastava
Коллеги требуют, чтобы все методы в проекте были документированы, а вам не хочется тратить на это время? Держите плагин для IntelliJ, который генерирует текст документации автоматически, анализируя нейронкой ваш код.
На самом деле, конечно, польза от такой документации довольно сомнительная, но поиграться с плагином точно стоит!
🔌Plugin Marketplace
💻GitHub
На самом деле, конечно, польза от такой документации довольно сомнительная, но поиграться с плагином точно стоит!
🔌Plugin Marketplace
💻GitHub
JetBrains Marketplace
Mintlify Doc Writer - IntelliJ IDEs Plugin | Marketplace
The AI powered documentation writer. Just highlight code and see the magic. Writing documentation sucks so let Mintlify take care of it. How to use Step 1 Highlight...
Еще одна статья про новый Duration API в Kotlin. Автор посмотрел, как он работает в различных граничных случаях, попробовал возможности по конвертации и парсингу и поделился своим впечатлением. Спойлер – все классно!
foojay
Measuring Time and Durations in Kotlin
The DurationAPI is coming out of its experimental stage and offers a nice DSL to easily work with time durations.
Успели разобраться с контекстными ресиверами, которые появились в Kotlin 1.6.20-M1? Держите подробный гайд с примерами, в которых они будут полезны.
Даты важных изменений в Android, к которым нужно успеть внести изменения в свои приложения.
📆1 апреля: Отключение Advertising ID
📆20 июля: Предоставление информации про Data Safety
📆Где-то в ноябре: Повышение Target Android SDK до 31
📆Конец года: Отключение Kotlin synthetics
Если что-то забыл – пишите в комментарии!
📆1 апреля: Отключение Advertising ID
📆20 июля: Предоставление информации про Data Safety
📆Где-то в ноябре: Повышение Target Android SDK до 31
📆Конец года: Отключение Kotlin synthetics
Если что-то забыл – пишите в комментарии!
Google
Advertising ID - Play Console Help
The advertising ID is a unique, user-resettable, and user-deletable ID for advertising, provided by Google Play services. It gives users better controls and provides developers with a simple, standard
Закон Конвея – это эмпирическое правило, согласно которому архитектура системы повторяет структуру команды, ее разрабатывающей. Возможности Kotlin Multiplatform по шарингу кода сильно влияют на то, как может быть организована команда разработки и как правильно поделить ответственности в кодовой базе. В статье рассказывается про один из возможных подходов.
DEV Community
Dividing Kotlin Multiplatform work in teams
Kotlin Multiplatform is a great way to share code between multiple platforms, but this new approach...
Разбор двух новых способов работать с модулями и компонентами в Koin с помощью koin-annotations и koin-ksp-compiler.
Medium
Koin Annotations
I’m pleased to share with you a new Koin project. The idea is to introduce a new way to declare components in Koin …
Интересный обзор языковых фичей и перфоманса Scala 3 в сравнении с Kotlin. Паттерн-матчинг, конечно, очень кайфовый.
Medium
Comparing implementations of the Monkey language VII: My name is 3… Scala 3
Previously
Официальная позиция JetBrains по Украине. Разработка в России прекращается.
The JetBrains Blog
JetBrains' Statement on Ukraine | The JetBrains Blog
We have already made our position very clear in regard to the invasion of Ukraine. We condemn the attacks of the Russian government, and we stand with the Ukrainian people, including our own colleagues and their families.
Работать напрямую с файлами последние годы приходится все реже. Обычно любое хранение данных по умолчанию находится где-то в облаке и закрыто API. Но если все-таки вам нужно будет поработать с ними напрямую, то держите статью про интересный подход к тестированию взаимодействий с файловой системой.
arturdryomov.dev
Testing Files without Files
Overview of fake VFS on JVM
Продолжение серии статей про техническое устройство Fleet – новой IDE от JetBrains. В этой части рассказывается, как работает редактор кода, его рендеринг и какие структуры данных используются под капотом.
The JetBrains Blog
Fleet Below Deck, Part II - Breaking down the editor | The Fleet Blog
This is a multipart series on building Fleet, a next generation IDE by JetBrains. Part I - Architecture OverviewPart II - Breaking down the editorPart III – State ManagementPart IV – Distributed Tr
Большой разбор того, как Anvil делает проще работу с Dagger:
- Хорошая поддержка модуляризации
- Уменьшение времени сборки
- Кастомные плагины
- Хорошая поддержка модуляризации
- Уменьшение времени сборки
- Кастомные плагины
Medium
Dagger + Anvil: Learning to Love Dependency Injection on Android
Dagger + Anvil has been working so well for us at Tonal that we wanted to share our learnings with the Android community.
Смотрите, какая кайфовая анимация и параллакс у карточки на Jetpack Compose! Код можно посмотреть тут.
Twitter
Prafull Mishra ⚒️
Here's another cool (or hot?) #JetpackCompose post 🔥🔥 An interactive parallax effect that rotates around in response to user's input gesture!🤩🎉 What do you peeps say? (Inspired from a Procreate+Playground post by @VPoltrack ) #AndroidDev #Kotlin #Android