AppFiles - Mobile Development
Открыть в Telegram
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Больше2 173
Подписчики
Нет данных24 часа
+17 дней
-830 день
Загрузка данных...
Похожие каналы
Облако тегов
Входящие и исходящие упоминания
---
---
---
---
---
---
Привлечение подписчиков
август '26
август '26
+20
в 1 каналах
июль '26
+39
в 1 каналах
Get PRO
июнь '26
+31
в 1 каналах
Get PRO
май '26
+42
в 1 каналах
Get PRO
апрель '26
+26
в 1 каналах
Get PRO
март '26
+35
в 1 каналах
Get PRO
февраль '26
+23
в 1 каналах
Get PRO
январь '26
+45
в 2 каналах
Get PRO
декабрь '25
+43
в 3 каналах
Get PRO
ноябрь '25
+46
в 1 каналах
Get PRO
октябрь '25
+132
в 1 каналах
Get PRO
сентябрь '25
+38
в 1 каналах
Get PRO
август '25
+40
в 1 каналах
Get PRO
июль '25
+31
в 1 каналах
Get PRO
июнь '25
+33
в 1 каналах
Get PRO
май '25
+41
в 1 каналах
Get PRO
апрель '25
+54
в 2 каналах
Get PRO
март '25
+162
в 1 каналах
Get PRO
февраль '25
+42
в 1 каналах
Get PRO
январь '25
+40
в 1 каналах
Get PRO
декабрь '24
+50
в 1 каналах
Get PRO
ноябрь '24
+65
в 1 каналах
Get PRO
октябрь '24
+52
в 1 каналах
Get PRO
сентябрь '24
+48
в 1 каналах
Get PRO
август '24
+81
в 2 каналах
Get PRO
июль '24
+48
в 1 каналах
Get PRO
июнь '24
+41
в 1 каналах
Get PRO
май '24
+29
в 1 каналах
Get PRO
апрель '24
+18
в 1 каналах
Get PRO
март '24
+26
в 2 каналах
Get PRO
февраль '24
+25
в 1 каналах
Get PRO
январь '24
+36
в 1 каналах
Get PRO
декабрь '23
+49
в 2 каналах
Get PRO
ноябрь '23
+20
в 2 каналах
Get PRO
октябрь '23
+35
в 2 каналах
Get PRO
сентябрь '23
+25
в 0 каналах
Get PRO
август '23
+16
в 0 каналах
Get PRO
июль '23
+16
в 0 каналах
Get PRO
июнь '23
+27
в 0 каналах
Get PRO
май '23
+99
в 0 каналах
Get PRO
апрель '23
+34
в 0 каналах
Get PRO
март '23
+28
в 0 каналах
Get PRO
февраль '23
+62
в 0 каналах
Get PRO
январь '23
+31
в 0 каналах
Get PRO
декабрь '22
+21
в 0 каналах
Get PRO
ноябрь '22
+13
в 0 каналах
Get PRO
октябрь '22
+25
в 0 каналах
Get PRO
сентябрь '22
+11
в 0 каналах
Get PRO
август '22
+9
в 0 каналах
Get PRO
июль '22
+16
в 0 каналах
Get PRO
июнь '22
+23
в 0 каналах
Get PRO
май '22
+38
в 0 каналах
Get PRO
апрель '22
+65
в 0 каналах
Get PRO
март '22
+29
в 0 каналах
Get PRO
февраль '22
+48
в 0 каналах
Get PRO
январь '22
+60
в 0 каналах
Get PRO
декабрь '21
+26
в 0 каналах
Get PRO
ноябрь '21
+26
в 0 каналах
Get PRO
октябрь '21
+19
в 0 каналах
Get PRO
сентябрь '21
+27
в 0 каналах
Get PRO
август '21
+35
в 0 каналах
Get PRO
июль '21
+22
в 0 каналах
Get PRO
июнь '21
+20
в 0 каналах
Get PRO
май '21
+11
в 0 каналах
Get PRO
апрель '21
+46
в 0 каналах
Get PRO
март '21
+34
в 0 каналах
Get PRO
февраль '21
+44
в 0 каналах
Get PRO
январь '21
+32
в 0 каналах
Get PRO
декабрь '20
+1 148
в 0 каналах
| Дата | Привлечение подписчиков | Упоминания | Каналы | |
| 26 августа | 0 | |||
| 25 августа | +1 | |||
| 24 августа | +1 | |||
| 23 августа | 0 | |||
| 22 августа | 0 | |||
| 21 августа | +4 | |||
| 20 августа | +2 | |||
| 19 августа | 0 | |||
| 18 августа | +1 | |||
| 17 августа | +1 | |||
| 16 августа | 0 | |||
| 15 августа | 0 | |||
| 14 августа | 0 | |||
| 13 августа | 0 | |||
| 12 августа | +2 | |||
| 11 августа | +1 | |||
| 10 августа | 0 | |||
| 09 августа | 0 | |||
| 08 августа | 0 | |||
| 07 августа | +1 | |||
| 06 августа | +1 | |||
| 05 августа | 0 | |||
| 04 августа | +3 | |||
| 03 августа | 0 | |||
| 02 августа | +2 | |||
| 01 августа | 0 |
Посты канала
Как создать сверхперсонализированный пейвол с помощью Apple Foundation Models
Chorus — приложение для определения птиц по голосу и отслеживания прогулок, которое я создаю для Shipaton 2026. Во время онбординга оно узнаёт, зачем пользователь вообще открыл приложение и что могло бы заставить его чаще выходить на прогулки. Приложение спрашивает о птице мечты, с кем человек обычно гуляет, когда он выходит на прогулку, что действительно могло бы мотивировать его чаще выходить из дома.
Эта статья — о том, что происходит дальше: как использовать локальный фреймворк Foundation Models от Apple, чтобы в момент предложения подписки вернуть пользователю его собственную мотивацию, прямо внутри удалённо конфигурируемого пейвола RevenueCat.
И самое приятное — это бесплатно.
Статья: https://apptractor.ru/marketing-monetization/engagement/kak-sozdat-sverhpersonalizirovannyy-peyvol-s-pomoschyu-apple-foundation-models.html
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
| 2 | Kwery - управление серверными данными для Android-приложения
Kwery — это библиотека для управления серверным состоянием в Android-приложении. По смыслу она очень похожа на TanStack Query/React Query, только для Kotlin/Android. Она не заменяет Retrofit, Ktor или OkHttp, а работает поверх них. Автор формулирует идею так: "Room хранит данные, которыми владеет приложение. Kwery управляет данными, которыми владеет сервер".
Kwery предлагает взять на себя значительную часть типовой логики между UI и сетевым клиентом. При этом сам HTTP-запрос всё равно делает Retrofit/Ktor/OkHttp. Kwery однако решает, когда его вызывать, нужно ли вообще вызывать, можно ли отдать уже имеющиеся данные и как показывать состояние запроса.
Основные вещи, которые она делает:
• Кэширует ответы сервера. Если экран повторно запрашивает те же данные, Kwery может вернуть существующий результат вместо нового HTTP-запроса.
• Дедупликация запросов. Если несколько экранов/компонентов одновременно запросили один ресурс, не обязательно делать несколько одинаковых запросов.
• Управляет состояниями loading/success/error.
• Делает retry при ошибках.
• Может обновлять данные в фоне.
• Управляет устареванием кэша.
• Поддерживает offline-сценарии, в том числе управляет записью данных без сети и затем синхронизацией при ее появлении.
• Может переиспользовать один результат между несколькими подписчиками.
• Использует корутины Kotlin + Flow.
• Есть интеграция с Compose.
Kwery на GitHub: https://github.com/dbjpanda/kwery
Платформа: Android
⭐️: 16
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 129 |
| 3 | Один код для многих платформ - вот что вам никто не расскажет о KMP
Привет, Kotlin-разработчики. Скажу честно. Когда я начал разрабатывать своё приложение для разделения расходов на Kotlin Multiplatform, я подумал: «Напиши один раз, запускай везде. Что может быть сложного?»
Оказалось, может быть очень сложно. Но и невероятно полезно.
Это не очередной туториал «как начать работу с KMP». Таких и без того полно. Это скорее статья, которую я сам хотел бы прочитать до начала работы: реальные проблемы, реальные ошибки и реальные решения. Всё основано на моём опыте создания ExpenseSplitter KMP — полноценного приложения для совместного учёта расходов, которое работает на Android, Desktop и Web из одной общей кодовой базы.
Вот как всё было на самом деле.
Статья: https://apptractor.ru/info/articles/odin-kod-dlya-mnogih-platform-vot-chto-vam-nikto-ne-rasskazhet-o-kmp.html
Платформа: кроссплатформа
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 216 |
| 4 | Android CameraX: детекция лица в реалтайме для биометрии
Представим ситуацию: клиент хочет перевести большую сумму, используя мобильное приложение. Внутренние системы видят подозрительную активность и запрашивают проверку по селфи, человек наводит камеру на лицо — получает отказ. А все из-за того, что на бэкенде была получена размытая фотография потолка с кусочком лица пользователя, по которому никак не понять, действительно ли это владелец счета хочет провести операцию. Клиент звонит в поддержку, злится. Банк теряет доверие. Именно такие сценарии заставили нас серьезно заняться качеством записываемого фото.
Статья: https://habr.com/ru/companies/tbank/articles/900136/
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 216 |
| 5 | Kadr - декларативное создание видео для платформ Apple
SwiftUI для видео. Компонуйте, трансформируйте и экспортируйте видео на Swift — так, как действительно хочется писать код. Kadr - cовременная декларативная библиотека на Swift для создания видеокомпозиций на платформах Apple. Видео собираются с помощью DSL на основе result builder, а асинхронная работа построена на async/await.
Поддерживаются многодорожечные временные шкалы, переходы, наложения, фильтры с анимацией по ключевым кадрам, собственные покадровые композиторы, привязанный ко времени звук с плавными перекрёстными переходами — всё это поверх AVFoundation и без сторонних зависимостей.
Kadr на GitHub: https://github.com/SteliyanH/kadr
Платформа: iOS
⭐️: 48
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 206 |
| 6 | Надежное выполнение фоновых задач в iOS: часть 1
Можно подумать, что если у вас в кармане лежит суперкомпьютер, то он уж точно должен уметь надёжно выполнять разные рутинные задачи в фоне, пока вы занимаетесь своими делами. Примерно так же, как cron в Unix-системах делает это ещё с 1970-х.
В первой статье этой серии из трёх частей я расскажу о начале своего пути с BGTaskScheduler — фреймворком Apple для запуска фоновых задач на iOS. А также о том, как методом проб, ошибок и наблюдений мне удалось добиться достаточно хорошей надёжности в моём приложении Calendar Copilot, которое я использую для синхронизации событий между календарями.
Сразу раскрою итог: BGTaskScheduler не настолько надёжен, как cron, но добиться достаточно стабильного расписания можно. Правда, есть важная оговорка — вам или вашим пользователям придётся открывать приложение хотя бы раз в неделю или две. Если этого не делать, iOS со временем начинает реже запускать фоновые задачи, а затем вообще прекращает это делать ради экономии батареи.
Статья: https://apptractor.ru/info/articles/nadezhnoe-vypolnenie-fonovyh-zadach-v-ios-chast-1.html
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 258 |
| 7 | Шпаргалка: Kotlin Coroutines Channels и Actor‑модель
Пытаюсь лучше понять работу Kotlin Coroutines. Беру небольшую тему про Kotlin Coroutines и пытаюсь разобраться и написать шпаргалку (максимально кратко и лаконично). Сегодня поговорим про Каналы (Channel) и паттерн Actor.
В предыдущих частях я писал, что обычные suspend‑функции возвращают результат только один раз. Но что делать, если у нас есть непрерывный поток данных, который асинхронно генерируется в одной корутине, а обрабатываться должен в другой (или даже в нескольких)? Нам нужна потокобезопасная «труба». В мире корутин этой трубой является Channel.
Статья: https://habr.com/ru/articles/1071290/
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 245 |
| 8 | DroidGauge - Local-first регрессионное тестирование Android-приложений
DroidGauge — это инструмент командной строки, ориентированный на локальную работу, для воспроизводимых измерений производительности приложений Android. Он не требует root-доступа, APK-файла на устройстве, облачных сервисов или внешних ресурсов для создания отчетов. Он выявляет регрессии производительности и энергопотребления Android локально с помощью одной команды adb и готового автономного отчета.
Возможности:
• Сбор показателей CPU, PSS-памяти, рывков при отрисовке кадров, батареи, температуры и сетевой активности отдельных приложений — если соответствующие данные доступны в используемой версии Android.
• Устойчивый сбор данных: недоступные команды и поля отмечаются как отсутствующие метрики, а не приводят к прерыванию всего запуска.
• Стабильный JSON-формат schema_version: 1 со средним значением, p50, p95, минимумом, максимумом и изменением от первого до последнего измерения.
• Адаптивные HTML-отчёты в тёмной теме со встроенными SVG-графиками, без CDN, JavaScript, внешних шрифтов и дополнительных файлов.
• A/B-сравнение с учётом направления изменения (improved, regressed, stable) и детерминированными выводами на основе правил.
• Проверка в CI с кодом выхода 2 при обнаружении настроенных регрессий.
• Не собираются логи, списки приложений, содержимое экрана или другие персональные данные.
DroidGauge на GitHub: https://github.com/RuizheGu0/droidgauge
Платформа: Android
⭐️: 4
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 238 |
| 9 | Забавные анимации с меш-градиентами в Jetpack Compose 1.12
В Jetpack Compose всегда были интерфейсы для линейных и радиальных градиентов. Но если хотелось получить более сложное смешивание цветов, подходящего встроенного решения не было. Теперь оно появилось: в Jetpack Compose 1.12 представлен MeshGradientPainter.
Статья: https://apptractor.ru/info/articles/zabavnye-animatsii-s-mesh-gradientami-v-jetpack-compose-1-12.html
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 279 |
| 10 | MYCloudKit - синхронизация и и возможности обмена данными через CloudKit
MYCloudKit — это фреймворк, разработанный для упрощения и автоматизации операций синхронизации, удаления и получения данных из CloudKit для вашего приложения.
MYCloudKit на GitHub: https://github.com/mufasaYC/MYCloudKit
Платформа: iOS
⭐️: 215
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 258 |
| 11 | ⚡️⚡️Мобильные разработчики снова соберутся на Mobius этой осенью!
21–22 октября в Санкт-Петербурге и онлайне пройдет Mobius — конференция JUG Ru Group для мобильных разработчиков. По традиции в фокусе — практические задачи, нативный и кроссплатформенный подходы, архитектура и реальный опыт продуктовых команд.
✨Программа уже активно формируется, делимся наиболее интересными докладами:
🔹Портирование Android-приложений под HarmonyOS NEXT. Спикер расскажет про автоматизированный перенос с сохранением архитектуры: от преобразования Kotlin-кода в ArkTS до трансляции Jetpack Compose в ArkUI.
🔹AI-driven T-shape. Разбор реального опыта команды о том, как искусственный интеллект помогает осваивать соседние платформы и бэкенд, ускоряя развитие инженеров и уменьшая time-to-market.
🔹Liquid Glass своими руками на Metal. Анатомия визуального эффекта из iOS 26 и его воссоздание для более старых версий с разбором интеграции в кодовую базу Telegram.
📣 Встречаемся 21–22 октября (Санкт-Петербург + online).
Подробнее о программе и билетах — на сайте. | 298 |
| 12 | React Native в 2026 году: New Architecture, нативный код и AI в реальном проекте
React Native по-прежнему часто описывают формулой «один код для iOS и Android». В 2026 году она звучит слишком просто. Современное приложение на React Native — это общий продуктовый слой на TypeScript, нативный интерфейс, Hermes, Fabric, JSI, фоновые процессы, platform-specific код и довольно много решений о том, где именно должна выполняться каждая задача.
Мы столкнулись с этим в Synchra.24 — мобильном приложении для линейных и распределённых команд. В проекте больше тысячи TS/TSX-файлов и свыше ста экранов, но рядом с ними живут Kotlin и Swift: геопозиция, push-уведомления, биометрия, системные виджеты и работа с медиа. Это не история о функциях нашего продукта и не попытка его рекламировать. Это разбор того, чем на практике стала разработка на React Native к 2026 году — и какую часть этой работы действительно можно поручить нейросетям.
Статья: https://habr.com/ru/articles/1072522/
Платформа: кроссплатформа
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 313 |
| 13 | 📺 Видео и подкасты за неделю
• (iOS En) SwiftUI in motion
• (iOS En) AllTrails: Momentum without a rewrite
• (iOS En) Flow data through SwiftUI
• (iOS En) SwiftUI essentials
• (iOS En) A guide to layout in SwiftUI
• (iOS En) Design with SwiftUI
• (iOS En) Reorderable Modifier | Multi-Item Reordering | Section Reordering | SwiftUI
• (iOS En) Prominent Action Custom Tab Bar | SwiftUI
• (iOS En) Device Hub Explained - What Every Apple Developer Should Know
• (And Ru) Android Runtime под капотом
• (And En) The Multi-Agent Code Review Workflow For My Production Android Apps
• (And En) Vertical vs. Horizontal Slicing - The ONLY Right Way to Split Down Your App
• (And En) A tale of the Gradle DSLs
• (Crs En) SwiftPM support for Kotlin Multiplatform
• (Crs En) All platforms are unique but some platforms are more unique than others
• (Crs En) KMP at Scale in Kuaishou Super App for over 700M users
• (Dev Ru) Выпрямляем руки агентов: как сделать MCP удобными и действительно полезными
• (Dsg Ru) DesignOps: операционная система команды, которая работает на вас
• (Dsg Ru) Дизайн для программиста: пробую Claude Design
• (Dev En) Build a live translation broadcast app with the Gemini Live API and LiveKit
• (Dev En) Go Get It, with Kotlin Lessons Learned Evolving Uber’s Java Backend
Прошлогодние видео:
• (Dev Ru) Генерация UI Kit с использованием ИИ
• (Dev Ru) Надежность мобильных приложений: что это и как достичь
• (Dev Ru) Задача на логику из собеседования в Amazon (+ все собеседования)
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 1 878 |
| 14 | Boxlore - умный плеер подкастов для Android
Большинство приложений для подкастов обращаются к открытому API, выполняют буквальный поиск по словам, показывают чарты Apple — и на этом всё. Ошибитесь в написании названия шоу — и ничего не найдёте. Попробуйте искать по теме — получите совпадения по заголовкам, которые вообще не отражают смысл запроса. А когда вы уже внутри приложения, главный экран редко ощущается как ваш: одинаковые подборки для всех и почти никакого обучения на основе того, что вы действительно слушаете.
Boxlore создан именно вокруг этих двух проблем. Он помогает найти шоу даже при неточном написании названия или искать подкасты и отдельные эпизоды по смыслу, когда вы примерно знаете, что хотите, но не можете сформулировать точный запрос. А по мере прослушивания приложение становится персональнее: Home, Explore, очередь и загрузки переупорядочиваются прямо на устройстве с учётом ваших предпочтений. Появляются подборки по времени суток, Because You Like, персональные рекомендации For You, а также карточки для случайных открытий — когда хочется найти что-то такое, что вы сами никогда не стали бы искать. Данные о ваших предпочтениях остаются на телефоне. Можно слушать потоково или скачивать выпуски для офлайн-доступа, полноценно управлять очередью и обходиться без рекламы и платных ограничений там, где это действительно важно.
Умный каталог охватывает популярные подкасты из чартов и ежедневно расширяется — пока в нём есть не абсолютно все шоу в мире. Но даже за пределами этого индекса Boxlore продолжает работать как обычный клиент для подкастов: можно подписываться, слушать, скачивать выпуски и импортировать OPML.
Boxlore на GitHub: https://github.com/boxcreate/boxlore
Платформа: Android
⭐️: 59
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 292 |
| 15 | Как Tinder сократил холодные старты на 47%, благодаря R8 Configuration Analyzer
Используя R8 Configuration Analyzer, Tinder смог найти и удалить непреднамеренные блокировки оптимизации. Результаты оказались заметными сразу: холодные запуски сократились на 47%, размер загружаемого приложения уменьшился на 28,98% — до 61,5 МБ, а число заметных пользователю ANR снизилось на 28%.
Статья: https://apptractor.ru/info/articles/kak-tinder-sokratil-holodnye-starty-na-47-blagodarya-r8-configuration-analyzer.html
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 322 |
| 16 | Подготовьте ваше приложение к более широким ограничениям объема памяти
Отличный пользовательский опыт — одна из ключевых целей Android, а для этого устройства должны оставаться быстрыми, отзывчивыми и надёжными. Именно поэтому оптимизация памяти становится важнее, чем когда-либо. На фоне роста цен на память новые устройства сохраняют прежний объём оперативной памяти или даже получают меньше, однако пользователи по-прежнему ожидают такой же плавной и производительной работы приложений.
В Android 17 ввели ограничения памяти для отдельных приложений, начав с устройств Pixel. Их задача — защитить общую отзывчивость системы от приложений, которые потребляют слишком много памяти и вызывают замедление всего устройства. В течение следующего года всё больше производителей начнут использовать ограничения памяти Android для приложений на устройствах с объёмом ОЗУ от 4 ГБ до 16 ГБ и более. Если приложение превысит эти лимиты, система замедлит его работу, а затем может завершить процесс. Поэтому уменьшение объёма потребляемой приложением памяти становится критически важным: это помогает избежать ограничения производительности со стороны ОС и сохранить плавный пользовательский опыт.
В этой статье разберём, как эти ограничения работают внутри системы, как измерять потребление памяти с помощью новых метрик Android vitals и какие конкретные действия помогут оптимизировать приложение или игру.
Статья: https://apptractor.ru/info/articles/podgotovte-vashe-prilozhenie-k-bolee-shirokim-ogranicheniyam-obema-pamyati.html
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 334 |
| 17 | Stitch - инъекция зависимостей для SwiftUI
Stitch — это лёгкая библиотека внедрения зависимостей (DI), вдохновлённая SwiftUI и обеспечивающая безопасность на этапе компиляции. Она позволяет описывать карту зависимостей без необходимости использовать инструменты генерации кода.
Безопасность Stitch на этапе компиляции даёт уверенность в корректности настройки: если проект компилируется, значит зависимости сконфигурированы правильно. В отличие от типичных контейнеров зависимостей, здесь не возникает ошибок в рантайме из-за того, что какая-либо зависимость не была зарегистрирована.
Для описания карты зависимостей Stitch использует новые макросы Swift 5.9+, что делает API более удобным, а для получения объектов из карты предоставляет соответствующие реализации @propertyWrapper.
Stitch предлагает следующие ключевые возможности:
1. Интеграция в жизненный цикл SwiftUI и привычный для SwiftUI стиль работы — использовать Stitch можно так же, как другие оболочки свойств SwiftUI.
2. Внедрение зависимостей через протоколы внутри представлений SwiftUI. Библиотека расширяет возможности ObservableObject, позволяя работать с протокольными типами и при этом корректно обновлять представления.
3. Доступ к Combine-издателям для свойств протокольных типов без необходимости добавлять в протокол переменные вида Publisher<Object, Never> и вручную проксировать их в реализации.
Stitch на GitHub: https://github.com/entrhq/stitch
Платформа: iOS
⭐️: 19
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 305 |
| 18 | Senior инженеры замолчали, и вот почему это плохой знак
Речь не о том, что у этих инженеров закончились мнения. Мнений у них по-прежнему хватает. Изменилось другое — куда эти мнения теперь направляются. Стало меньше замечаний на дизайн-ревью. Меньше возражений в архитектурных обсуждениях. Меньше тех моментов, когда человек с десятью годами производственного опыта говорит: подождите, я уже видел нечто подобное, и вот чем всё закончилось.
Встречи по-прежнему проходят. Решения по-прежнему принимаются. Но один конкретный вид трения стал почти незаметным. А это трение выполняло важную функцию.
Статья: https://apptractor.ru/info/articles/senior-inzhenery-zamolchali-i-vot-pochemu-eto-plohoy-znak.html
Платформа: разработка
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 307 |
| 19 | ZeroDroid - инструменты для анализа сетей, сигналов и безопасности
ZeroDroid — открытое Android-приложение, которое превращает смартфон в универсальный набор инструментов для анализа беспроводных сетей, радиосигналов, датчиков и безопасности. Проект объединяет 29 инструментов в пяти категориях: Wireless, RF & Signals, Sensors, Network и Security. Для работы используются аппаратные возможности самого телефона — Wi-Fi, Bluetooth и BLE, NFC, GPS, сотовый модем, магнитометр, барометр, микрофон, USB, UWB и ИК-порт, если они присутствуют в конкретном устройстве.
Среди наиболее интересных функций — анализатор Wi-Fi, BLE-сканер с просмотром GATT, инструменты NFC, Wi-Fi Direct и Wi-Fi Aware, анализ ультразвукового диапазона 18–24 кГц, работа с внешними SDR-приёмниками через USB OTG и мониторинг датчиков смартфона. Есть также GPS-трекер с информацией о GNSS-спутниках и записью NMEA, EMF Mapper на основе магнитометра, инспектор USB-устройств и анализатор сотовых вышек.
ZeroDroid написан на Kotlin с использованием Jetpack Compose и Material 3. Архитектура построена вокруг MVVM, StateFlow и Hilt, для локального хранения используется Room, для камеры — CameraX, а для распознавания QR-кодов — ML Kit и ZXing. Минимальная поддерживаемая версия — Android 8.0, хотя для полноценной работы современных Bluetooth и Wi-Fi API автор рекомендует более новые версии Android. Не все возможности доступны на каждом смартфоне: например, UWB, ИК-передатчик или барометр зависят от конкретного аппаратного оснащения.
ZeroDroid на GitHub: https://github.com/theabhishekchandra/ZeroDroid
Платформа: Android
⭐️: 22
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 312 |
| 20 | Android Skills — что выпустил Google и почему большинство разработчиков используют навыки неправильно
Вы, скорее всего, уже видели анонс. Android Skills запустили в апреле; реакция превзошла ожидания Google, а в начале августа команда Android Developer Relations опубликовала подробный материал, в котором объяснила философию проекта.
Большинство разработчиков восприняли это как обычное описание релиза.
На самом деле это набор архитектурных решений о том, как должна выглядеть Android-разработка с помощью ИИ. И если их не понять, можно в итоге получить конфигурацию агента, которая будет стоить дороже, работать медленнее и выдавать результаты хуже, чем если бы вы вообще ничего не настраивали.
Статья: https://apptractor.ru/info/articles/android-skills-chto-vypustil-google-i-pochemu-bolshinstvo-razrabotchikov-ispolzuyut-navyki-nepravilno.html
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 331 |
