TGViewer
Channel Public Channel
Android Good Reads

Android Good Reads

@droidgr

Самые интересные статьи, видео и новости, связанные с Android разработкой. Не больше трёх материалов в день.

Размещение рекламы: @tanyasanovna
Subscribers
4.03K
Photos
415
Videos
17
Links
2.2K

Showing posts older than #1631 · Back to latest

Older Posts 20 shown
Post #1629 2.22K
Как избежать бойлерплейта при работе с Use Cases

Одна из основных проблем чистой архитектуры и юзкейсов в частности состоит в том, что в ряде случаев они становятся просто бесполезными прослойками над репозиторием. Автор разбирает плюсы и минусы четырех подходов к их организации.

Оптимальный способ их организации – функциональные юзкейсы с функциональными интерфейсами.
  • 💩 20
  • 👍 8
  • 🤔 1
Post #1628 3.73K
Онлайн-книга про алгоритмы

Большая коллекция статей про различные виды алгоритмов, структур данных и связанных с этим областей знаний.
  • 👍 18
  • 🔥 7
Post #1627 2.07K
Как писать плагины для Danger CI

- Danger – это система для автоматизации сообщений во время автоматического code review. По сути, она умеет брать output любых анализаторов кода и превращать его в понятные сообщения в GitHub PR.
- Автор статьи подключает ktlint к Danger и на его примере показывает, как решить такую задачу и для других проверок.
  • ❤ 5
  • 👍 1
Post #1626 2.2K
Cross device SDK Developer Preview

Cross device SDK – это набор API для разработки приложений, которые работают сразу на нескольких типах устройств. Оно помогает со следующими задачами:

- Найти девайсы рядом с текущим и соединиться с ними
- Пошарить стейт между приложениями на разных устройствах
- Запустить приложение на второстепенном устройстве без запуска его на основном
- Начать выполнять задачу на одном устройстве и продолжить на другом

📹Детальное видео
📝Документация
  • 👍 7
Post #1625 2.13K
v9 – библиотека для работы с векторными изображениями

- v9 позволяет динамически ресайзить Path-объекты, сохраняя изначальные размеры некоторых из их частей
- Аналогичным образом работают 9-patch bitmaps
- Автор библиотеки – Romain Guy, ключевой разработчик Compose и Android
  • ❤‍🔥 25
  • 👍 4
  • ❤ 2
Post #1624 2.21K
onBackPressed() deprecated

Начиная с Android 13, метод onBackPressed() депрекейтится. Причина в том, что обработка перехода назад переводится на ahead-of-time модель.
  • 🤡 37
  • 🤔 5
  • 👍 4
  • 🥰 2
Post #1623 3.07K
Официальный гайд по архитектуре offline-first приложений

Основные требования к offline-first приложению: оставаться раьотоспособным без сетевого соединения, всегда показывать локальные данные, не дожидаясь ответа сервера, запрашивать обновления сервера с учетом ограничений сети и батареи. В гайде даются советы, как:

- Организовать слой данных с двумя репозиториями – для локального хранения и работы с удаленными данными
- Построить операции чтения и записи данных
- Обрабатывать ошибки
- Решать конфликты при синхронизации
  • 👍 18
  • 👎 1
Post #1622 2.1K
Accompanist – что это за библиотеки и какая у них судьба

- Сейчас Accompanist включает в себя Pager, FlowLayouts, Navigation Transitions, Swipe Refresh и другие компоненты
- Основная цель Accompanist – тестировать пользу от фичей, пока не готовых к добавлению в Jetpack
- Эти фичи нельзя включать напрямую в AndroidX, так как использовать экспериментальный API между модулями запрещено
- 30% приложений, использующих Compose, используют и Accompanist
Medium Jetpack Compose Accompanist — An FAQ. Accompanist is a group of libraries that aim to supplement Jetpack Compose with features that are commonly required by developers but not…
  • 👍 7
Post #1621 2.24K
Как расчитываются размеры Layout’ов в зависимости от их родительских элементов

- При реализации кастомного Layout вы получаете доступ к measurables, списку элементов для измерения, и constraints, списку ограничений, накладываемых родительскими элементами
- К constraints относятся ограничения не только родительских view, но и различных modifiers
- BoxWithConstraints – особенный вид Layout, в котором композиция элементов происходит уже на этапе measure/layout
  • 👍 7
Post #1620 2.44K
DivKit — в опенсорсе

Ребята из Яндекса опубликовали на гитхабе новый фреймворк DivKit, который ускоряет разработку приложений. Его особенности:

- DivKit позволяет интегрировать подход Server-Driven UI на уровне отдельных элементов
- Изменения UI могут раскатываться с сервера на все версии приложения одновременно
- Кроссплатформенность: пишем один код для Android, iOS и веба.
  • 💩 26
  • 🔥 15
  • 🤔 1
Post #1618 2.35K
Иерархия модулей в приложении Headhunter

- Четкие правила по классификации модулей упрощают жизнь в многомодульном проекте
- Имена модулей должны быть такими, чтобы было понятно, что делает модуль и где лежит его код
- Ограничения на количество зависимостей у модуля позволяют держать под контролем время сборки
- У HH три типа модулей: app-модули, feature-модули, core-модули
- Введенные правила для каждого из типов модулей позволяют растить иерархию вширь, а не вглубь
  • ❤ 9
  • 👍 4
  • 🔥 2
Post #1617 2.05K
Релиз kotlinx-serialization 1.4.0

- Поддержка последней версии Kotlin 1.7.10
- Интеграция с библиотекой Okio для прямой работы с IO
- Поддержка сериализации inline классов вышла из экспериментального режима
- Улучшены сообщения об ошибках благодаря доработкам сабклассов SerializationException
- Переезд документации с GitHub на сайт Kotlin
GitHub Release 1.4.0 · Kotlin/kotlinx.serialization This release contains all features and bugfixes from 1.4.0-RC plus some bugfixes on its own (see below). Kotlin 1.7.10 is used as a default. Bugfixes Fixed decoding of huge JSON data for okio stre...
  • 👍 4
Post #1615 2.05K
Недостатки Kotlin и способы их обойти

- Стандартная библиотека и языковые фичи подталкивают к злоупотреблению работой с nullable, из-за чего код становится плохо читаемым
- Использование nullable в качестве возвращаемого значения – не очень выразительно, так как сложно понять, что в конкретном случае означает null
- Отсутствие union-типов ведет к переусложненному коду
- Операции над коллекциями задизайнены так, что очень легко копировать всю коллекцию без реальной необходимости
  • 👎 15
  • 👍 7
  • 🤔 1
Post #1614 2.11K
Micro – простой и удобный текстовый редактор для консоли

- Micro – идейный наследник редактора nano
- Редактор поставляется отдельным бинарником, не нужны никакие зависимости
- Поддержка множественных курсоров и удобных хоткеев
- Отличная работа с мышкой
- Написан на Go и полностью кроссплатформенный
- Есть автокомплишн и подсветка синтаксиса для 130 языков
- Поддерживает плагины
Post #1613 2.44K
Первое продакшн приложение с Compose for iOS

Touchlab, авторы кучи библиотек и инструментов для КММ, выпустили первое приложение, UI которого полностью реализован на Compose для обеих платформ. Код приложения можно посмотреть здесь.
touchlab.co Droidcon NYC iOS app with Compose Touchlab has been doing a lot of tooling work and research lately, mostly around iOS developer experience and KMP. We forked the Droidcon app into a private repo to dogfood some of that stuff an...
  • 👍 16
Post #1612 2.11K
Расследование загадочного креша

Автор статьи столкнулся с очень странным крешом на стыке Java и Kotlin кода. Расследование завело его в кишки того, как работают оптимизации R8 и компиляция Kotlin Extensions.
  • 👍 6
Post #1611 2.15K
Гайд по миграции на Android 13

- Изменения в Media и Notifications permission’ах
- Отдельный permission для использования Advertising ID
- Изменения в поведении BOOT_COMPLETED и LOCKED_BOOT_COMPLETED событий
- Пользователь может остановить ваш foreground service и само приложение
Medium Migrating My App To Android 13 Lessons Learned from updating my app to targetSdkVersion 33
  • 👍 7
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →