Вдогонку еще одно обсуждение в Твиттере про 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
Альфа-Инвестиции приглашают iOS/Android-разработчиков на One Day Offer 19 марта. Все этапы интервью – за один день, оффер — за сутки. Ваш уровень – middle/senior, опыт в коммерческой разработке – от двух лет.
Подать заявку
Подать заявку
Подборка частых вопросов про то, как писать Gradle плагины, разбор разных подходов к их реализации и типичных ошибок.
А если вы взялись писать свой плагин, то вот еще один материал про то, как его протестировать с помощью фреймворка TestKit.
А если вы взялись писать свой плагин, то вот еще один материал про то, как его протестировать с помощью фреймворка TestKit.
GitHub
GitHub - jjohannes/gradle-plugins-howto: How to write Gradle plugins - answers to common questions and alternative implementation…
How to write Gradle plugins - answers to common questions and alternative implementation solutions - jjohannes/gradle-plugins-howto