AppFiles - Mobile Development
رفتن به کانال در Telegram
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
نمایش بیشتر2 164
مشترکین
-224 ساعت
-67 روز
+330 روز
در حال بارگیری داده...
کانالهای مشابه
ابر برچسبها
اشارات ورودی و خروجی
---
---
---
---
---
---
جذب مشترکین
ژوئن '26
ژوئن '26
+24
در 1 کانالها
مه '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 ژوئن | +2 | |||
| 25 ژوئن | 0 | |||
| 24 ژوئن | +1 | |||
| 23 ژوئن | +1 | |||
| 22 ژوئن | 0 | |||
| 21 ژوئن | 0 | |||
| 20 ژوئن | +1 | |||
| 19 ژوئن | +1 | |||
| 18 ژوئن | 0 | |||
| 17 ژوئن | +1 | |||
| 16 ژوئن | +1 | |||
| 15 ژوئن | +2 | |||
| 14 ژوئن | +2 | |||
| 13 ژوئن | +2 | |||
| 12 ژوئن | +1 | |||
| 11 ژوئن | +1 | |||
| 10 ژوئن | 0 | |||
| 09 ژوئن | +3 | |||
| 08 ژوئن | 0 | |||
| 07 ژوئن | 0 | |||
| 06 ژوئن | +1 | |||
| 05 ژوئن | +2 | |||
| 04 ژوئن | +1 | |||
| 03 ژوئن | 0 | |||
| 02 ژوئن | +1 | |||
| 01 ژوئن | 0 |
پستهای کانال
📺 Видео и подкасты за неделю
•
(iOS Ru) Архитектура, перформанс, дебаг: как мы делали медиаленту
• (iOS Ru) SwiftSyntax: пишем свой DI framework
• (iOS En) iOS 27 Style Glass Sliders Using SwiftUI
• (iOS En) What's new in Swift and SwiftUI (WWDC 2026)
• (iOS En) Setting up Gemini in Xcode's Coding Agent
• (iOS En) Swift Macros Demystified: Build a Freestanding Expression Macro
• (iOS En) Weather App Style Sticky Scroll Section Using SwiftUI
• (And En) How to understand Play’s expanded billing options and lower fees
• (And En) Is THIS How Android Apps Communicate In Future? - Exploring the NEW AppFunctions
• (And En) NEW Scoped ViewModels API in Jetpack Compose
• (Crs Ru) Как мы внедряли Compose Multiplatform в Я.Team
• (Crs Ru) yx_state + yx_scope + yx_navigation: единый стек Flutter-приложений
• (Dev Ru) T-Shape мобильный разработчик
• (Dev Ru) Найм в эпоху AI — собеседования, IT найм, рынок труда
Прошлогодние видео:
• (iOS Ru) Молот и наковальня iOS-разработчика
• (iOS Ru) А так ли нужны акторы в Swift Concurrency?
• (iOS Ru) Реактивный Swift Concurrency
• (And Ru) Эти фичи Kotlin меняют правила игры
• (And Ru) Что не так с Android разработкой?
• (And Ru) Эволюция Android тестов с Marathon Test Runner
👨🦯➡️ AppFiles: код, инструменты, практики, производительность| 2 | SwiftStreamingMarkdown - рендеринг Markdown с поддержкой стриминга
SwiftStreamingMarkdown - библиотека от Microsoft для рендеринга Markdown текста, поддерживающая плавную потоковую обработку.
• Плавные и производительные переходы при поступлении нового текста
• Нативный рендеринг встроенных и блочных формул LaTeX
• Интерфейс встроенных ссылок на источники для ответов LLM
• Гибкая настройка типографики, тем оформления и контекстных меню iOS
• Встроенные инструменты для аналитики и отслеживания взаимодействий
SwiftStreamingMarkdown на GitHub: https://github.com/microsoft/SwiftStreamingMarkdown
Платформа: iOS
⭐️: 223
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
[/vc_message] | 154 |
| 3 | Сетчатые градиенты в Jetpack Compose
Долгие годы сетчатые (mesh) градиенты были той прекрасной вещью, которую мы постоянно заимствовали с других платформ. Вы видели их повсюду — в I****, на обоях Apple, на маркетинговых страницах Stripe, в каждом файле Figma, созданном после 2022 года. SwiftUI добавил MeshGradient ещё в iOS 18. На Android мы обходились хитрыми шейдерными хаками и отличными сторонними библиотеками.
Сейчас это изменится. Jetpack Compose теперь имеет собственный API для создания сетчатых градиентов, встроенный прямо в androidx.compose.ui. В этой статье мы рассмотрим, что это такое, нарисуем несколько примеров и поговорим о том, чем он отличается как от SwiftUI, так и от решений сообщества, которые вы, возможно, уже используете.
Статья: https://apptractor.ru/info/articles/setchatye-gradienty-v-jetpack-compose.html
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 226 |
| 4 | Как нарисовать тысячи объектов на карте и не убить FPS: эволюция рендера на Mapbox GL
В прошлой статье про нетривиальные анимации я обещал показать «ту самую карту с облаками, zoom и движением по кривой Безье». Пришло время. Начну, правда, не с самой анимации, а с того, что было до неё: прежде чем что-то красиво анимировать на карте, надо это что-то на карте хотя бы нарисовать.
Контекст: я делал геолокационную соцсеть. На карте – «облака», посты, привязанные к точке на местности. Их может быть много. Очень много. И вся история ниже – про то, как я пять раз упёрся в производительность и что с каждым разом делал.
Статья: https://habr.com/ru/articles/1051362/
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 207 |
| 5 | Anti-Vocale - транскрибация голосовых сообщений на Android
Anti-Vocale - приложение для Android, позволяющее расшифровывать голосовые сообщения локально на устройстве без подключения к интернету. Anti-Vocale перехватывает аудиофайлы, которыми делятся пользователи (из WhatsApp, Telegram и т. д.), расшифровывает их с помощью встроенных моделей распознавания речи и выводит результат в виде уведомления с возможностью копирования и обратной отправки одним касанием.
Фичи:
• Полностью автономный режим — вся обработка происходит на устройстве, данные не покидают ваш телефон
• Несколько движков ASR — выбирайте между моделями Gemma (LLM), Whisper, Parakeet TDT, Qwen3-ASR или Nemotron 3.5 (потоковая передача)
• Интеграция с функцией обмена — делитесь аудио из любого мессенджера для транскрипции
• Цели обмена для конкретных моделей — выбирайте конкретную модель непосредственно из меню обмена Android
• Повторная транскрипция — повторите любую транскрипцию с другой моделью
• Умные уведомления — скопируйте результат или отправьте его обратно в исходное приложение одним касанием
• Индикатор достоверности — отображает обнаруженный язык и предупреждает о результатах с низкой достоверностью
• Прогрессивное отображение — текст транскрипции отображается по сегментам, вместо ожидания полного результата
• Действия с помощью жестов — проведите пальцем по записям лога, чтобы скопировать, поделиться или удалить
• Постоянный журнал транскрипции — все транскрипции сохраняются в локальной базе данных с возможностью поиска
• Обработка с учетом очереди — обрабатывает несколько одновременных запросов с отображением прогресса
• Оценка времени выполнения на основе калибровки — оценки прогресса улучшаются по мере адаптации модели к вашему устройству
• Статистика производительности — отслеживайте реальную скорость транскрипции для каждой модели на вашем устройстве
• Удаление тихих сегментов VAD — при необходимости удаляйте тихие сегменты перед транскрипцией для более быстрых результатов
• Настраиваемые потоки вывода — автоматическое определение или ручная установка количества потоков для оптимизации производительности
• Настройки для каждого приложения — настройте поведение уведомлений для каждого мессенджера
• Картинка в картинке — смотрите транскрипцию в реальном времени в плавающем окне при использовании других приложений
• Многоязычный интерфейс — интерфейс приложения полностью переведен на английский и итальянский языки
• Автоматическое копирование — при необходимости автоматически копируйте транскрипцию в буфер обмена
• Поддержка задач/автоматизации — запускайте транскрипцию с помощью широковещательных интентов
Anti-Vocale на GitHub: https://github.com/RisorseArtificiali/anti-vocale
Платформа: Android
⭐️: 19
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 222 |
| 6 | Пять ошибок начинающих Android‑разработчиков при работе с жизненным циклом
Начинающие разработчики про это забывают, и через месяц после релиза накапливаются утечки, после поворота экрана теряются данные форм, а после возврата из фона приложение крашится с NullPointerException в неожиданных местах.
Разберём пять типичных ошибок, на которых сыпется почти каждый первый Android‑проект, и покажем, какие инструменты появились в современном Android‑стеке для борьбы с этой болью
Статья: https://habr.com/ru/companies/otus/articles/1049294/
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 233 |
| 7 | AetherEngine - медиаплеер для iOS, tvOS и macOS
AetherEngine — это движок медиаплеера для платформ Apple. FFmpeg демультиплексирует, VideoToolbox декодирует, AVPlayer обрабатывает Dolby Atmos. Он правильно обрабатывает сложные компоненты (HDR, Dolby Vision, Dolby Atmos, покрытие контейнеров, покрытие кодеков) и предоставляет один AetherPlayerView (UIKit / AppKit) или AetherPlayerSurface (SwiftUI) плюс несколько асинхронных методов. Нет AVPlayerViewController, нет настраиваемых элементов управления, нет аналитики. Привяжите представление, вызовите play(), считывайте опубликованные свойства для получения состояния.
На платформах Apple реальный выбор сводится к AVPlayer, обладающему глубокой интеграцией с ОС, но работающему только с форматами, поддерживаемыми Apple, и движку на основе VLC или mpv, который воспроизводит практически всё, но обрабатывает собственные кадры и обходит встроенную обработку Dolby Vision, Atmos и HDR. AetherEngine создан для того, чтобы предоставить вам оба варианта: широкий спектр форматов FFmpeg, наложенный поверх VideoToolbox и AVPlayer, благодаря чему Dolby Vision, Atmos и Match Content продолжают работать. KSPlayer — ближайший аналог, он достигает того же результата тем же путём, что и AVPlayer, но поставляется как полноценный плеер со своим собственным пользовательским интерфейсом и ограничивает доступ к MKV, Dolby Vision и Atmos платным уровнем лицензии LGPL (бесплатная версия — GPL). AetherEngine — это встраиваемый движок, управляемый из вашего SwiftUI, с широким спектром кодеков и HDR в ядре с открытым исходным кодом.
AetherEngine на GitHub: https://github.com/superuser404notfound/AetherEngine
Платформа: iOS
⭐️: 84
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 234 |
| 8 | Preview-Driven скриншот тестирование для локалей, ключей и масштабов шрифта
Некоторые работы в тестировании начинаются с ошибки. В данном случае всё началось с требования клиента. У них уже был внутренний процесс перевода, и частью этого процесса на веб-стороне была возможность видеть не только отрендеренный текст, но и его ключ. Таким образом, когда переводчик изменяет строку, ему гораздо понятнее, где она появляется и используется ли этот же ключ где-то ещё.
Они хотели такой же видимости и на Android.
На первый взгляд, это звучит как узкоспециализированное требование. На практике же это оказалось одним из самых полезных элементов UI инфраструктуры, которые я добавил за последнее время, потому что это перестало быть просто переводом и быстро стало полезным и для дизайнеров.
Статья: https://apptractor.ru/info/articles/preview-driven-skrinshot-testirovanie-dlya-lokaley-klyuchey-i-masshtabov-shrifta.html
Платформа: Android/тестирование
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 250 |
| 9 | Пять ошибок при работе с Jetpack Compose, из-за которых тормозит recomposition
Jetpack Compose в 2026 году стал стандартом разработки UI на Android, но в проектах регулярно повторяется одна и та же история: на экране со списком в пару сотен элементов прокрутка идёт рывками, профайлер показывает скачки кадров до 200 миллисекунд, а команда чешет голову и предлагает откатиться обратно на RecyclerView.
Проблема почти всегда не в Compose, а в том, как написан UI: recomposition спроектирован как дешёвая операция, но эта дешевизна работает только при соблюдении ряда правил, которые в документации описаны рассыпанно и часто игнорируются.
Разберём пять ошибок, из-за которых производительность Compose-экранов проседает заметно для глаза, и покажем, как их находить и чинить.
Статья: https://habr.com/ru/companies/otus/articles/1049282/
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 239 |
| 10 | Hydra - защита Android-приложения
Hydra - Gradle-плагин RASP (Runtime Application Self-Protection) для Android. Добавьте его, как любой другой плагин сборки, и он динамически внедрит усиленный нативный слой защиты прямо в ваш APK — без кода, без вызовов SDK, без серверов. Примените плагин, соберите приложение, и полученный APK-файл будет защищенным. «Под капотом» применение Hydra добавляет в ваш APK сильно обфусцированное с помощью OLLVM нативное ядро (libdicore.so), уникальную для каждой сборки эталонную базу проверки целостности и рандомизированный загрузчик. Защита запускается в момент создания процесса и полностью работает на устройстве — в нативном коде.
Задача Hydra — повысить стоимость атаки. Большинство атак носят массовый и оппортунистический характер и выполняются с помощью готовых инструментов. Если приложение не удаётся взломать за пять минут привычными средствами, злоумышленники часто переключаются на другую цель. Незащищённое приложение можно без труда перепаковать, перехватить его работу с помощью хуков и клонировать. В случае приложения, защищённого Hydra, атакующему сначала придётся разобраться с обфусцированным нативным кодом, механизмами самопроверки и безусловным применением защитных мер. Это не делает взлом невозможным, но задерживает его — а для большинства приложений именно такая задержка меняет экономику атаки.
При этом защита не усложняет процесс разработки. Защита, которую можно включить одной строкой в конфигурации плагина, с большей вероятностью действительно попадёт в релиз. Поэтому Hydra придерживается принципа: лучше хорошая защита, которая реально применяется, чем идеальная защита, от которой отказались из-за сложности внедрения.
Hydra на GitHub: https://github.com/iamjosephmj/hydra
Платформа: Android
⭐️: 28
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 241 |
| 11 | Как мне удалось уменьшить размер классификатора болезней растений с 16 до 5 МБ с потерей точности менее 1%
Я работал над проектом по обнаружению болезней растений в рамках своих исследований в области периферийного ИИ, над проектом, где модель должна работать на Android-смартфоне фермера в деревне без интернета. Довольно быстро я столкнулся с проблемой, с которой рано или поздно сталкивается каждый специалист по машинному обучению.
Модель точная, но слишком большая и медленная для реального мира.
Обученная мной модель EfficientNetB0 достигла точности 96,33% на наборе данных PlantVillage с 15 классами. Отличный результат. Но модель весила около 16 МБ в формате float32. Для Android-смартфона среднего класса с нестабильным 4G-соединением и ограниченным объемом памяти это не идеально.
В этой статье я расскажу о том, что я сделал дальше. Я пропустил модель через три конвейера квантизации: FP16, INT8 и экспорт ONNX, измерил изменения точности, размера и задержки, а затем развернул лучший формат в Android-приложении, работающем полностью в автономном режиме.
Главный результат: квантизация INT8 уменьшила размер модели с 16 МБ до 5,25 МБ — снижение на 67% при потере всего 0,62% точности. Это тот компромисс, который делает реальное развертывание жизнеспособным.
Статья: https://apptractor.ru/info/articles/kak-mne-udalos-umenshit-razmer-klassifikatora-bolezney-rasteniy-s-16-do-5-mb-s-poterey-tochnosti-menee-1.html
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 286 |
| 12 | Как мы научились видеть иерархию корутин в Android‑приложении: Coroutine Tracer в библиотеке Demeter
Отладка корутин в Android — задача, с которой сталкивается каждый разработчик, использующий Kotlin. На один экран могут приходиться десятки вызовов launch и async, но стандартные инструменты показывают потоки, а не корутины. В итоге, когда одна из корутин зависает, разработчик оказывается в тупике: отладчик показывает живой поток, но не показывает, какая корутина на нём выполнялась, в каком suspend‑вызове она остановилась и кто её запустил. Приходится искать причину вслепую — расставлять логи и пытаться воспроизвести проблему вручную.
Статья: https://habr.com/ru/companies/yandex/articles/1045576/
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 292 |
| 13 | «Это уже тысячу раз делали»: как мы добавили медиаленту в Яндекс Еду для iOS. А потом переделали
Самое интересное в таких задачах начинается не на этапе «как добавить медиаленту», а на этапе ограничений и деградаций. В статье я разберу именно эту сторону задачи на примере приложения Яндекс Еды: как мы проектировали медиаленту, какие архитектурные решения не сработали, какие баги всплыли только на реальных данных, как мы строили observability для дебага и какие компромиссы в итоге оказались эффективнее красивой реализации.
Статья: https://habr.com/ru/companies/yandex/articles/1048718/
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 267 |
| 14 | JBird - быстрая, типобезопасная библиотека для работы с JSON в Swift
Работа с JSON в Swift обычно означает выбор между двумя крайностями. JSONSerialization из Foundation предоставляет вам тип Any и заставляет вас приводить и распаковывать данные на каждом шаге. Codable типобезопасен, но негибок: он ожидает, что ваши типы Swift будут точно соответствовать данным, и доступ к одному полю произвольного документа неудобен.
JBird закрывает этот пробел. Он моделирует JSON как первоклассное значение Swift, которое вы можете читать, обрабатывать и изменять напрямую — без потери типобезопасности — и сочетает эту модель с быстрым ядром парсинга на основе C. А когда вам нужно работать с конкретными типами Swift, JBird чисто преобразует их туда и обратно, подключая встроенный кодировщик и декодер Codable.
JBird на GitHub: https://github.com/vsanthanam/JBird
Платформа: iOS
⭐️: 18
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 276 |
| 15 | 📺 Видео и подкасты за неделю
• (iOS En) Inside Apple Intelligence and Xcode: Special Presentation
• (iOS En) WWDC26: SwiftData Group Lab
• (iOS En) WWDC26: Machine Learning & AI Group Lab
• (iOS En) Safari Style Swipeable Tabbar Using SwiftUI
• (iOS En) Adaptive TabView for iOS 27 (iPhone) Using SwiftUI
• (iOS En) Build a Swift Terminal Developer Toolkit with TUIkit
• (And En) Android 17 AOSP is here
• (And En) What's new in Jetpack Compose
• (And En) What's new in Android XR development
• (And En) Lifecycle 2.11 Just Changed Android ViewModels FOREVER!
• (And En) Migrating 25-year-old legacy code to Kotlin
• (And En) Building androidskills.dev
• (Dev Ru) Как пройти алгоритмическое собеседование в Яндексе
• (Dev Ru) Внедрение AI в инженерные команды
• (Dev Ru) Эволюция скилов в агентской разработке: сценарии использования и сравнение с МСР
• (Dev Ru) Почему Al-агенты тормозят в больших кодовых базах из-за grep и как это исправить
• (Dev Ru) Оживляем мобильное приложение с помощью LLM-агента
• (Dev Ru) Обратная сторона AI в мобильной разработке
• (Dev Ru) Как ИИ меняет разработчика, менеджера и всю индустрию — Денис Неклюдов
• (Dev En) Why AI Will Likely Make Your Codebase BETTER
• (Dev En) Build a Self-Healing CI/CD Pipeline with AI
• (Mrk Ru) Малоизвестный приём ASO: как смена основного языка в App Store расширяет индексацию
Прошлогодние видео:
• (iOS Ru) Как перевезти 250+ SPM модулей из динамики в статику и не сойти с ума
• (iOS Ru) Пагинация: от идеи до реализации
• (iOS Ru) Стратегии ускорения старта на практике
• (And Ru) Адаптация мобильного приложения под ТВ-платформы
• (And Ru) Баттл codegen-инструментов от разработчиков дизайн-систем
• (And Ru) История, принципы и концепции библиотеки навигации Decompose
• (And Ru)Как ускоряют Android-приложения в Яндексе: интервью с инженером
• (Crs Ru) Duit – как создать эффективный BDUI-фреймворк для Flutter
• (Crs Ru) Аудит безопасности мобильных приложений
• (Dev Ru) Как решать задачи на Leetcode
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 2 178 |
| 16 | Chucker - HTTP инспектор для Android
Chucker упрощает проверку HTTP(S) запросов/ответов, отправляемых вашим Android-приложением. Chucker работает как Charles, только на устройстве - он перехватывает OkHttp, сохраняя все события внутри вашего приложения и предоставляя пользовательский интерфейс для проверки и шаринга их содержимого.
Приложения, использующие Chucker, будут отображать уведомление с кратким обзором текущей HTTP-активности. Нажатие на уведомление запускает полный пользовательский интерфейс Chucker. Приложения могут по желанию подавить уведомление и запустить пользовательский интерфейс Chucker непосредственно из своего собственного интерфейса.
Chucker на GitHub: https://github.com/ChuckerTeam/chucker
Платформа: Android
⭐️: 4.5K
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 307 |
| 17 | От класса размера к доступному пространству: остается ли horizontalSizeClass надежным параметром?
Как показали на WWDC 26, при зеркальном отображении приложения для iPhone на Mac через функцию iPhone Mirroring, размер его окна можно свободно изменять. Одновременно с этим, приложения для iPhone, работающие на iPad, также получат возможность изменять размер окна. Даже без обновления физического устройства до бета-версии новой ОС, разработчики уже могут оценить это изменение в предварительных версиях Xcode 27 или в среде симулятора iOS 27 в Device Hub.
Однако влияние этого обновления выходит далеко за рамки простого изменения размера окон приложений для iPhone. Оно меняет представление многих разработчиков о системе компоновки. Некоторые характеристики, которые ранее часто использовались в качестве параметров компоновки, такие как horizontalSizeClass, больше не подходят в качестве основного критерия определения ширины окна.
Так является ли это изменение внезапным сдвигом или неизбежным результатом долгосрочной эволюции системы компоновки Apple? В этой статье мы рассмотрим этот вопрос.
Статья: https://apptractor.ru/info/articles/ot-klassa-razmera-k-dostupnomu-prostranstvu-ostaetsya-li-horizontalsizeclass-nadezhnym-parametrom.html
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 329 |
| 18 | Создание гида в смешанной реальности с использованием Android XR, геопространственного API и Gemini
Представьте, что вы приезжаете в незнакомый город, надеваете проводные очки расширенной реальности — например, готовящиеся к выпуску XREAL Project Aura — и сразу получаете персонального местного экскурсовода, который хорошо знает город. Вам больше не нужно постоянно смотреть на плоскую карту: трёхмерные модели ненавязчиво указывают путь, а интеллектуальный голосовой помощник рассказывает об исторических достопримечательностях, находящихся прямо перед вами.
Мы объединили геопространственные программные интерфейсы, программный интерфейс Gemini с использованием Firebase AI Logic, привязку данных Google Maps к реальному миру и комплект средств разработки Jetpack XR. В результате получилось иммерсивное приложение для пешеходных экскурсий, которым можно пользоваться без помощи рук.
Статья: https://apptractor.ru/info/articles/sozdanie-gida-v-smeshannoy-realnosti-s-ispolzovaniem-android-xr-geoprostranstvennogo-api-i-gemini.html
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 309 |
| 19 | SWCompression - работа с архивами на Swift
SWCompression - фреймворк с алгоритмами (де)компрессии и функциями для работы с различными архивами и контейнерами.
Фичи:
• Декомпрессия (а иногда и сжатие) с использованием различных алгоритмов
• Чтение (а иногда и запись) архивов различных форматов
• Чтение (а иногда и запись) контейнеров, таких как ZIP, TAR и 7-Zip
Работает на платформах Apple, Linux и Windows.
SWCompression на GitHub: https://github.com/tsolomko/SWCompression
Платформа: iOS
⭐️: 273
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 310 |
| 20 | Лучшие практики SwiftUI из агентского навыка Xcode 27
Xcode 27, представленный на WWDC 2026, впервые включает в себя агентские навыки разработки, в том числе на SwiftUI, от Apple. Эти навыки отлично подходят для агентской разработки в Xcode или при использовании навыков из Xcode 27 в Claude, Codex и Cursor — любой IDE для ИИ.
Хотя мы можем использовать эти навыки и не оглядываться назад, гораздо интереснее углубиться в анализ того, что Apple считает достаточно важным для включения в навык. Навыки должны быть компактными и оптимизированными для использования токенов, поэтому в них будут включены только необходимые части. В этой статье мы углубимся в лучшие практики SwiftUI, рассмотрев навык SwiftUI Specialist Agent, входящий в состав Xcode 27.
Статья: https://apptractor.ru/info/articles/luchshie-praktiki-swiftui-iz-agentskogo-navyka-xcode-27.html
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность | 324 |
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
