Android Good Reads
3.87K subscribers
344 photos
13 videos
1 file
2K links
Самые интересные статьи, видео и новости, связанные с Android разработкой. Не больше трёх материалов в день.

Автор канала: @Lamprof

Размещение рекламы: @tanyasanovna
Download Telegram
А вот и первые результаты интеграции k2 compiler. Пока что только для автокомплита, рефакторинга и навигации по проекту, но уже значительно быстрее! Впечатляет?

До Android Studio доберется не скоро. Альфа версия будет в IDE 2024.1, а наша с вами Canary недельной давности основана на IDE 2023.2
Занимаетесь разработкой SDK, а не приложения? А если еще и поддерживаете семейство библиотек (например Firebase, Compose, Kotlin ...), то наличие BOM практически обязательно, чтобы те, кто пользуется ваш продуктом, не сталкивались с проблемами совместимости.

Если кратко:

👉 Все модули стягиваются в SDK в один проект, например, с помощью Git submodule
👉 Создается еще один модуль *-bom , который не будет содержать кода
👉 Внутрь модуля кладется pom-файл со списком зависимостей и исключениями зависимостей
👉 А дальше релиз зависимостей как мы делали с вами тут

Как это будет выглядеть:

implementation(project.dependencies.platform("com.goodreads.android:bom:1.0.0"))
implementation("com.goodreads.android:library1")
implementation("com.goodreads.android:library2")
Небольшой гайд от котлин команды по выбору кроcсплатформенного фреймворка и про медленно, но растущую их популярность.
Неплохая первоапрельская шутка про котлин.
Журнальчик https://kotlintoday.com/

Это мы читаем 😁
🤔 Если с opensource зависимостями более-менее понятно, как заглянуть в реализацию функции, то с androidx не все так очевидно. Android Studio не всегда догружает исходники, да и зачем? Если можно быстро глянуть нужный класс или пакет в браузере с помощью гугловского инструмента Code Search
Please open Telegram to view this post
VIEW IN TELEGRAM
Продолжаем разбирать прикладные вещи, которые могут помочь на собеседовании и в работе:

Паттерн декоратор Динамически добавляем функциональности классу, оборачивая его в нужную обертку. Хорошая замена наследованию

Паттерн мост Разделяем класс на две отдельные иерархии — абстракцию и реализацию

В целом, касательно паттернов, особенно если готовитесь к собеседованию, можно подглядеть тут. Несмотря на отсутствие примеров на Kotlin, псевдокод и визуализация находятся на высоком уровне
И еще 1 паттерн - делегирование. Cайт-учебник наполнен комиксами, объясняющий паттерны человеческим языком. Автор делает упор на паттерн в целом и делегирование свойств класса. Про делегирование свойств объекта неплохо расписано тут

Сам паттерн не сложный, но вы его используете каждый день и хорошо бы знать откуда ноги растут
🚀 Отличная новость прошедшей недели

Отдельные анимации для элементов LazyList уже скоро! Свеже-смерженный PR

Как это будет? Заменили модификатор Modifier.animateItemPlacement() на Modifier.animateItem(). Прошлый теперь помечен Deprecated, а новый поддерживает все три типа анимаций: Появление, Удаление, Перемещение.

Как искать в исходниках стандартных библиотек писал тут
Please open Telegram to view this post
VIEW IN TELEGRAM
Пошаговая эволюция Android с 1 по 14