TGViewer
Channel Public Channel
Android Good Reads

Android Good Reads

@droidgr

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

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

Showing posts older than #2483 · Back to latest

Older Posts 19 shown
Post #2481 2.72K

Forwarded from Антоха Разраб про AI

Тем временем Google активировал Android developer verification, против которого собирали петицию. Хоть и пошел немного на попятную, частично разрешив установку с ОЧЕНЬ херовыми условиями

Все апки пометили галочкой. Весь процесс работы с приложениями превращается в ужас с Apple...

Антоха Разраб
  • 😢 12
  • 👍 2
  • 😡 2
  • ❤ 1
  • 🔥 1
Post #2480 2.37K
Android Good Reads А вот и ответ GooglePlay на петицию - разрешат ставить приложения в обход, но с ограничениями
Ну вот и вступил в силу первый этап раскатки новой системы
  • 😱 2
Post #2478 2.54K
Android: Offline-first system design

Таких статей мы читали и слушали уже миллион. На картинке вы видите конечный результат проектирования, но эта статья неплохо показывает то, как прийти к такому решению последовательно. Такого типа задачки это часть этапа собеседований (system design)

🔗 Freedium link
Внутри: путь от "Апка крашится без доступа к интеренету" к Offline-first

Android Good Reads
  • 👍 7
  • 🔥 6
Post #2477 1.82K
Kotlin 2.4.0 Sorted-Order валидация

Добавили новых extension функций в стандартную библиотеку для валидации того как отсортированы коллекции:
.isSorted()
.isSortedDescending()
.isSortedWith(comparator)
.isSortedBy(selector)
.isSortedByDescending(selector)

🔗 Ссылка на документацию

Ну и сразу пример:
data class User(val name: String, val age: Int)

fun main() {
val users = listOf(
User("Alice", 24),
User("Bob", 31),
User("Charlie", 29),
)
println(users.isSortedBy(User::age))
// false
}


Android Good Reads
  • 👍 7
  • 🔥 2
  • 😱 2
Post #2476 2.58K
Используем @RequireOptIn чтоб пометить Composable для использования только в превью

Собственно говоря, весь код на превьюшке. Будет бодро слать вам ошибку компиляции, пока вы не добавите @Suppress или не уберете помеченную функцию

Android Good Reads
  • 👍 4
  • 🔥 2
  • 🤔 1
Post #2475 2.71K
Cascade editor

Composable блочный редактор (как Notion/Craft) с возможностью масштабирования. Удобно встроится в проект, где нужно редактирование текста, но не хочется уводить это в вебвью или костылить свое

👉 Независимое состояние и жизненный цикл у каждого блока
👉 Удобное разделение, объединение и преобразование блоков
👉 Поддержка drag-and-drop для изменения порядка блоков
👉 Вставка новых элементов через slash-команды
👉 Возможность делать собственные рендереры блоков
👉 Поддержка rich-text форматирования внутри блоков
👉 Версионируемая сериализация документа, что упрощает сохранение и миграции

GitHub (70 ⭐️): https://github.com/linreal/cascade-editor
Compose 1.10, Kotlin 2.3, minSdk 28, iOS 16+


Android Good Reads
  • 🔥 11
  • 👍 3
  • 🤯 2
  • 😨 2
  • ❤ 1
Post #2474 2.27K
Android Good Reads TikTok поделился опытом миграции на Jetpack Compose Главные цифры и профит: 👉 Объем кода уменьшился на 58% по сравнению с реализацией на классических Views 👉 Время загрузки экранов сократилось до 78% на новых или полностью переписанных экранах (и на 20–30%…
Я думал делать разбор еще 3 статей вышедших в Android блоге, но читать самопохвалы от google команды как то грустно, поэтому вот что стоит вынести из:

👉 Monzo boosts performance metrics by up to 35% with a simple R8 update
👉 Instagram and Facebook deliver instant playback and boost user engagement with Media3 PreloadManager
👉 How WHOOP decreased excessive partial wake lock sessions by over 90%

R8 у многих всё ещё работает не в полную силу из-за старого конфига, Baseline Profiles уже давно надо тащить в релизный цикл, для видосов стоит смотреть на Media3 PreloadManager и подгонять стратегию под конкретный UI, а по поводу работы в фоне пора регулярно смотреть в Android vitals, особенно на wake locks и долгоживущие Worker-ы.

production performance — это часто не “переписать всё”, а докрутить то, что Android уже даёт из коробки


Android Good Reads
  • 👍 5
Post #2473 2.62K
Why HTTPS Alone Is Not Enough for Sensitive Android Payloads

👉 TLS не тож самое, что и защита данных на уровне самого сообщения. Если до сетевого слоя вы уже плохо реализовали крипту, HTTPS не спасет
👉 Как надо: AES-GCM с fresh IV, AAD и проверкой целостности
👉 Как НЕ надо: ECB, захардкоженные ключи, слабый MAC и особенно Base64 вместо шифрования
👉 Еще есть мини-демо с ECDH: не production-ready, но хорошо показывает, как вообще выглядит договоренность о session key на практике

Вопрос не в том, “мы же зашифровали?”, а в том, какие именно security properties дает ваша схема и что именно сломается, если срезать углы

Android Good Reads
  • 👍 6
  • 😱 4
  • 🙏 1
Post #2472 2.42K
Не знаю, кто в Google решил, что Beta 3 — идеальный момент для такого объема изменений

👉 Beta 3 = platform stability, то есть API уже зафиксирован и пора прогонять финальную совместимость
👉 На больших экранах больше нельзя будет уклоняться от resizable/orientation/aspect ratio ограничений при targetSdk 17
👉 dynamic code loading закручивают еще сильнее: нативные библиотеки, загружаемые через System.load(), теперь должны быть read-only
👉 local network access для targetSdk 17+ теперь по умолчанию закрыт, нужен новый подход и новый ACCESS_LOCAL_NETWORK
👉 появился кастомайз фото-пикера, RAW14, vendor-defined camera extensions и API для определения типа камеры
👉 в desktop mode всё становится интереснее: interactive pinned windows, виджеты на внешних дисплеях, плюс Google явно двигается в сторону более внятного UX для десктопов
👉 добавили system location button: можно дать precise location только на текущую сессию
👉 настройку показа паролей разделили для touch и physical keyboard
👉 появился способ понять, что вы близко к ANR timeout. Наконец-то хоть какой-то ранний сигнал перед смертью процесса
👉 еще завезли FileManager, stricter StrictMode вокруг URI grants, bridged notifications и пачку новых менеджеров/сервисов, часть из которых пока документирована довольно туманно

В самой статье найдете конкретные ссылки на то что заинтересовало прям в документацию
  • 👍 6
  • ❤ 4
Post #2471 2.77K
Я не фанат статей с хабра, но тут отражена моя боль по публикации приложений в сторах. Более того автор пошел дальше и даже денежку смог вывести.
Ловил блокировки, закидывал модераторов документами и прочее. В общем, полный пакет!
Альтернативные сторы со своими болячками. Может кто поделиться как оно там?

Свой опыт описал тут, постов было несколько, потому что процесс реально долгий
  • 🤷‍♂ 3
  • 👍 3
Post #2470 3.18K
TikTok поделился опытом миграции на Jetpack Compose

Главные цифры и профит:
👉 Объем кода уменьшился на 58% по сравнению с реализацией на классических Views
👉 Время загрузки экранов сократилось до 78% на новых или полностью переписанных экранах (и на 20–30% при локальных миграциях)
👉 Compose решил проблему double taxation при измерении элементов, что сильно упростило оптимизацию

Технические инсайты от команды:
📌 Стратегия: Миграцию проводили постепенно. Начали с экрана QR-кода, замерили профит и только потом пошли в сложные флоу
📌 RecyclerView: Использование множества мелких ComposeView внутри одного ViewHolder вызывает оверхед на композицию. Идеальный вариант — один корневой ComposeView на весь ViewHolder
📌 ViewPager: Если у вас Fragment внутри ViewPager со сложной логикой (например, динамическая высота под A/B тесты), лучше переписать на Compose сам ViewPager — это дает больший прирост производительности, чем просто миграция фрагмента
  • 👍 9
  • ❤ 2
  • 🤔 2
Post #2469 2.37K
Если вы пропустили анонс прошлой недели - в экспериментальном режиме добавили поддержку SPM в KMP. А это значит что можно наконец-таки избавиться от сотню лет задепрекейченного cocoapods с его медленными зависимостями.
Это была одна из самый проблемных точек KMP за последний год у меня в работе
Kotlin Multiplatform Help Adding Swift packages as dependencies to KMP modules | Kotlin Multiplatform
  • 👍 8
Post #2468 2.66K
Android Good Reads HotReload теперь доступен тем, кто работает с Compose Если вы скучаете по заброшенному и сломанному instant run, или немного завидовали друзьям с Flutter и React Native, которые обновляют UI во время разработки моментально - то теперь и вы так же можете делать…
HotSwan - Android hot reload for Jetpack Compose

Теперь чисто под Android нативный таргет. Установка простая в app модуль через плагин. Пробуем!

Либа JB под JVM таргет специфична (только KMP проект)
HotSwan под Android таргет (и в KMP проекте тоже)


На гифку надо кликнуть, чтоб открылась в хорошем качестве
  • ❤ 5
  • 👍 5
  • 🔥 2
Post #2467 2.39K

Forwarded from Антоха Разраб про AI

AI не сделает вас богатым, а исправление ошибок в AI slopware сделает

Ради интереса попросили топовые LLM (Claude, ChatGPT, Gemini) написать простейшую апку: стянуть данные из трех API и обработать. Итог? Все три выдали последовательные вызовы без какого-либо кэширования. Зато с красивыми комментариями и претензией на production-ready

О чем это говорит:

👉 ИИ плодит спагетти-код. Это уровень ленивого студента. Внешне выглядит чисто, но на деле страница рендерится минуту, как на диалапе в 1995-м
👉 У LLM нет инженерной интуиции. Они не понимают вычислительную сложность, алгоритмы и причины, по которым архитектура ляжет уже при 100 юзерах
👉 Бизнес копит самый дорогой техдолг в истории. Компании, поверившие в AI-first, скоро столкнутся с дикими тормозами и космическими счетами за инфраструктуру. А их «10х-инженеры» с нейросетями по факту окажутся 0.5х-инженерами

Что в итоге:
Пока инфоцыгане продают курсы по «правильному промптингу», качайте фундаментальные навыки

На рынке может появится гигантский спрос на «спасательные операции». Сеньоры, понимающие базу (кэширование, асинхронность, масштабируемость), будут грести бабки лопатой просто за то, чтобы разгребать этот сгенерированный мусор и чинить то, что сломали роботы

Пост о статье писал в рамках упражнения Dissoi logoi, ибо я слишком верю в революцию ИИ
  • 😁 15
  • 🤨 5
  • ❤ 4
  • 🤔 1
  • 🤣 1
Post #2466 2.11K
Немножко накинул на вентилятор про современное состояние AI
@androidraft
Post #2465 2.98K
Android Good Reads Итак, вопрос с собеседования! Чем отличается Dispatchers.Main от Dispatchers.Main.immediate Внутри разбирают с картинками: 👉 А что если продьюсить на Main, а консьюмить на immediate. И вообще перебрать всевозможные комбинации? 👉 А зачем выбирать immediate?…
Coroutine Dispatcher in Android: Полный гайд

Очередной полный гайд о том как надо и как не надо и в каких ситуациях. Можно кидаться им в тех, кто в вашем окружении сует везде withContext(Dispatchers.IO) и потом внутри withContext(Dispatchers.Main)

Офф дока в догонку: https://kotlinlang.org/docs/coroutine-context-and-dispatchers.html
  • 🔥 11
  • 👍 6
  • ❤ 2
Post #2463 2.41K
Android Good Reads Петиция KeepAndroidOpen В августе 2025 года Google объявила, что начиная с сентября 2026 года разрабатывать приложения для платформы Android будет невозможно без предварительной централизованной регистрации в Google. Эта регистрация будет включать: 👉 Оплату…
А вот и ответ GooglePlay на петицию - разрешат ставить приложения в обход, но с ограничениями
  • 😐 18
  • 😡 7
  • 👍 4
Post #2462 2.66K
Вступайте в Podlodka AI Engineers Club

Если ваша основная цель на этот год – прокачаться в использовании AI в разработке, то вы не одни. Все пытаются разобраться и в том, как оптимально использовать агентов самому, и в том, а как под это дело перестроить процессы в команде. Но поставить цель легче, чем ее достичь. State-of-the-art модели, инструменты и подходы меняются каждую неделю, лучшие практики ещё не устоялись, а городские сумасшедшие либо хоронят программирование, либо пытаются нафармить просмотры за ваш счет.

Мы в Подлодке хотим помочь опытным инженерам, которые учатся работать с AI – да что там, и самим себе тоже. Поэтому в начале марта мы запустили Podlodka AI Engineers Club – закрытое сообщество для тех, кто уже пробует AI в работе и хочет делать это системно, а не на ощупь.

👉Что внутри. Каждую неделю – воркшопы и лайвкодинги с людьми, которые внедряют AI в реальных продуктах. Разбор конкретных инженерных практик: как строить своих агентов, как работать по Spec-Driven Development, как собирать комбайн, превращающий таски Jira в PRы, как масштабировать это на команду и в бигтехе, и в небольшом стартапе.

Между встречами – сеть закрытых чатов в Telegram, клубные созвоны с шарингом опыта, random coffee, совместные эксперименты с AI.

👉Кто уже в программе. Среди экспертов – инженеры из компаний разного масштаба: Степан Гончаров (xAI), Роман Елизаров (Яндекс), Андрей Бреслав (CodeSpeak), Денис Неклюдов (Google), Алексей Козятинский (Cursor) и много других крутых ребят. Полная программа на март-апрель есть на сайте.

👉А кто в клубе. Мы собрали уже 350 инженеров с медианным опытом 12 лет – российский и зарубежный бигтех, банки, стартапы. Большинство уже активно используют агентов в своей работе, поэтому обсуждаем прямо прикладные вопросы. У кого-то в компаниях AI внедряется очень активно, а кто-то работает в супер зарегулированных отраслях, где запрещено почти все – так что мы собираем весь спектр проблем.

👉Как попасть. Клуб платный, вход через список ожидания с отбором – нам интересно сделать сообщество именно для опытных разработчиков – людей, которые большую часть своей карьеры писали код, решали технические задачи, принимали архитектурные решения, и жили с их последствиями. Мы набираем участников постепенно – нам важно сохранить атмосферу, в которой можно открыто делиться опытом и проблемами.

Подробности, расписание и заявка – на сайте. А если есть какие-то конкретные вопросы, пишите прямо в личку @etolstoy!
Podlodka AI Engineers Club Учимся применять AI и внедрять его в команды. Еженедельные сессии с экспертами и живое сообщество от создателей подкаста Подлодка.
  • 🤣 5
  • 😎 4
  • ❤ 3
  • 👍 3
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 →