TGViewer
Channel Public Channel
AppFiles - Mobile Development

AppFiles - Mobile Development

@applib

Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Subscribers
2.17K
Photos
3.2K
Videos
46
Links
4.2K
Recent Posts 20 shown
Post #4468 221
Как бы я спроектировал iOS-приложение с нуля, если бы оно должно было прожить 10 лет

Тест, который я бы использовал, — представить разработчика, открывающего проект в 2036 году. Он видит немного старого Swift, несколько UIKit-компонентов, новый SwiftUI рядом со старым SwiftUI, миграции, compatibility code, комментарии, объясняющие странные решения, тесты, понятный процесс сборки и документацию. Я бы хотел, чтобы он подумал: «Приложение старое, но с ним можно работать», а не: «Кто вообще это написал?» Речь о том, чтобы дать следующему разработчику честный шанс, потому что идеального варианта всё равно не будет. Если свести всё к одному вопросу, то он звучал бы так: станет ли человеку, которому придётся менять это через пять лет, легче или сложнее из-за решения, которое я принимаю сейчас?

Статья: https://apptractor.ru/info/articles/kak-by-ya-sproektiroval-ios-prilozhenie-s-nulya-esli-by-ono-dolzhno-bylo-prozhit-10-let.html
Платформа: iOS

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Post #4467 249
Gander - просмотр файлов

Gander - компактное приложение с открытым исходным кодом для просмотра файлов на Android, работающее полностью в автономном режиме. Оно позволяет открывать PDF, документы Word (.docx), Excel, PowerPoint (.pptx), фотографии, видео, аудио, файлы Markdown, текстовые и программные файлы, а также архивы .zip — и всё это в одной программе, не требующей никаких разрешений, без рекламы, отслеживания и доступа к интернету.

Gander на GitHub: https://github.com/mokshablr/gander
Платформа: Android
⭐️: 1.2K

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
  • ❤ 1
Post #4466 1.71K
Post #4465 270
Floe Agent — нативное рабочее пространство с ИИ-агентами для iPhone и iPad

Floe Agent превращает разговор с моделью в долгоживущую задачу. Каждое новое сообщение продолжает ту же задачу, а каждый отдельный запуск модели становится самостоятельным запуском со своим прогрессом, журналом использования инструментов, подтверждениями, контрольными точками и состоянием для восстановления.

Задача может работать либо в приватном рабочем пространстве, управляемом самим приложением, либо в явно выбранном пользователем рабочем пространстве проекта.

Floe Agent на GitHub: https://github.com/JiangNanGenius/floe-agent
Платформа: iOS
⭐️: 177

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Post #4464 272
A2UI в Jetpack Compose: как ИИ-агенты могут создавать нативные Android-интерфейсы

К концу этого руководства вы полностью поймёте:

• почему ИИ-агентам вообще нужен протокол UI;
• что такое A2UI и какие пять понятий лежат в его основе;
• какие четыре сообщения может отправлять агент и как работает data binding;
• как устроен Jetpack Compose renderer и как пошагово его подключить;
• как создавать собственные компоненты и собственный каталог дизайн-системы;
• как A2UI сохраняет высокую производительность, справляется с ошибками ИИ и переживает обновления приложения.

Эта статья задумана как единственный материал про A2UI, который вам понадобится. Берите кофе.

Статья: https://apptractor.ru/info/articles/a2ui-jetpack-compose.html
Платформа: Android

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Post #4463 275
Даем ИИ видеть SwiftUI: Xcode Preview MCP на практике — проблемы и надежды

Xcode 26.3 стал первой версией, в которой Apple открыла собственные фичи внешним агентам через MCP. Многие из этих возможностей и раньше были доступны через CLI, но рендеринг Preview был совершенно новым. В Xcode 27 Apple пошла ещё дальше и добавила headless MCP-сервер, сделав эти инструменты ещё удобнее для вызова, поэтому я глубоко встроил рендеринг Preview в свои сценарии ИИ-разработки. По пути я столкнулся с несколькими проблемами, а также сформулировал несколько наблюдений и надежд.

Статья: https://apptractor.ru/info/articles/daem-ii-videt-swiftui-xcode-preview-mcp-na-praktike-problemy-i-nadezhdy.html
Платформа: iOS

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Post #4462 268
ComposeBridge - визуальный редактор для Jetpack Compose

ComposeBridge — это набор инструментов, который связывает запущенное на физическом устройстве Android-приложение с вашей IDE через локальный WebSocket. В результате получается визуальный редактор для Jetpack Compose, работающий непосредственно на устройстве в реальном времени, и MCP-сервер для ИИ-агентов. Настройка интерфейса «на лету», точечная модификация исходного кода на основе анализа AST и автономное редактирование кода с помощью ИИ — без необходимости подключения к телефону.

Вы можете:

• Нажать на любой Composable-компонент на телефоне, чтобы исследовать его в реальном времени
• Настраивать цвета, размеры и отступы «на лету» с частотой 60 кадров в секунду — без пересборки через Gradle
• Сохранять изменения непосредственно в исходный код на Kotlin (например, в AppDimens.kt или AppColors.kt) благодаря точечной модификации байт-кода, сохраняющей форматирование файла
• Генерировать полноценные экраны Compose на основе декларативной JSON-схемы
• Перемещаться по дереву компонентов в рантайме — выбирать родительский элемент и переходить к дочерним

ComposeBridge на GitHub: https://github.com/JALAL591/compose-bridge
Платформа: Android
⭐️: 10

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
  • 🔥 1
Post #4461 276
Интеллектуальные приложения для Android: агентские рабочие процессы внутри приложения

Добро пожаловать обратно в серию публикаций «Интеллектуальные приложения для Android», где мы берём базовое Android-приложение и постепенно превращаем его в персонализированный, интеллектуальный и агентный продукт. В предыдущей статье вы узнали, как подключаться к системе интеллектуальных функций с помощью AppFunctions.

В этой статье вы узнаете, как создавать автономные агентные сценарии внутри приложения, работающие в облаке.1

Статья: https://apptractor.ru/info/articles/intellektualnye-prilozheniya-dlya-android-agentskie-rabochie-protsessy-vnutri.html
Платформа: Android

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Post #4460 269
Я написал свой музыкальный плеер со своим стримингом: Android, Windows, Linux и сервер на Rust

Готовые решения закрывали задачу по кусочкам. Poweramp отлично играет, но только на одном телефоне. Plex и Plexamp умеют стриминг, но требуют аккаунт, а часть функций у них за подпиской. Связка Navidrome и Symfonium хороша, но это два разных продукта от разных авторов, и половина того, что мне было нужно, не входила ни в один из них.

Статья: https://habr.com/ru/articles/1088018/
Платформа: Android

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Post #4459 266
HomeKit - управление умным домом через MCP

HomeClaw предоставляет доступ к вашим аксессуарам HomeKit через утилиту командной строки, MCP-сервер (работающий через stdio) и плагины для Claude Code и OpenClaw. Приложение работает в фоновом режиме и отображается в строке меню macOS.

У Apple HomeKit нет публичного API, интерфейса командной строки (CLI) и встроенных средств интеграции с ИИ-ассистентами или системами автоматизации. HomeClaw решает эту проблему с помощью приложения на базе Mac Catalyst, которое взаимодействует с HomeKit от вашего имени и предоставляет удобный API.

HomeClaw на GitHub: https://github.com/omarshahine/HomeClaw
Платформа: iOS
⭐️: 174

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Post #4458 278
Применение gRPC при разработке приложений под iOS

При широком распространении REST подхода для клиент‑серверного взаимодействия всегда существовали и существуют альтернативные решения, иногда незаслуженно обделенные вниманием. Об одном из них речь пойдет в сегодняшней статье. В ней будут даны некоторые теоретические основы, необходимые для работы и создан небольшой проект, который можно использовать для перехода на gRPC.

Статья: https://habr.com/ru/articles/982776/
Платформа: iOS

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Post #4457 270
Анимация iPhone Duo на Galaxy Fold: от красивой демки до работающего приложения

Мне хотелось пойти дальше: открыть любое приложение, сложить телефон, увидеть переход на внешнем экране и продолжить пользоваться им. Если остановить движение телефона на полпути, анимация тоже должна остановиться, а после полного раскрытия весь цикл должен работать снова, без перезапуска демонстрации. Причём это мой основной телефон, поэтому менять прошивку, жертвовать навигацией или держать внутренний дисплей включённым в закрытом устройстве ради эффекта я не собирался.

Так начался Hinge Lab, в котором анимация поверх приложений в итоге заработала, хотя системное мигание осталось, а некоторые приложения до сих пор не дают пригодный внешний кадр. Пришлось разбираться, как при очередном складывании получать свежий угол, включать нужную панель и находить изображение, которое на ней вообще можно нарисовать.

Видео: https://youtu.be/hjuiHh_GrL0?si=9wY0RVm_drCoXxF_
Статья: https://habr.com/ru/articles/1087304/
Платформа: Android

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
YouTube Hinge Lab: анимация складывания Samsung Fold поверх приложений Так работает Hinge Lab на реальном Samsung Fold. Экспериментальная ...
  • 👍 1
Post #4456 251
Focora - подсветка фич для знакомства пользователей

Премиальная Android-библиотека для знакомства пользователей с функциями приложения — без внешних зависимостей. Большинство библиотек для знакомства пользователей с функциями приложения предлагают лишь простой прожектор и текстовый блок либо добавляют в проект тяжёлые зависимости. Focora создана с упором на минимальный размер, максимальную производительность и премиальный внешний вид.

Возможности:

• Прожектор с плавным изменением формы — при переходе между шагами плавно превращается из скруглённого прямоугольника в круг, капсулу или обычный прямоугольник
• Радарное пульсирующее свечение — эффектные расширяющиеся кольца вокруг выделенной области сразу привлекают внимание
• Переход по нажатию на целевой элемент — пользователь может перейти дальше, нажав непосредственно на выделенный элемент интерфейса или кнопку Next
• Выделение по виртуальным координатам — можно подсвечивать элементы Canvas, иконки Toolbar или произвольные координаты на экране без экземпляра View
• 4 стиля анимации — Expand, Fade, Pulse, Slide или None для режима с уменьшенным количеством анимаций
• Полностью программная подсказка — никаких XML-макетов и конфликтов ресурсов с вашим приложением
• Глубокая настройка темы — цвета, радиус углов, высота, размеры текста, шрифты, стили кнопок, стрелка, индикаторы шагов — всё настраивается
• Настройка каждого шага отдельно — каждый шаг может независимо переопределять форму, стиль анимации, положение подсказки и радиус углов
• Собственное представление подсказки — встроенную подсказку можно заменить любым View для конкретного шага
• Одноразовое обучение и умное продолжение — состояние «уже просмотрено» автоматически сохраняется через tutorialKey, а при добавлении новых шагов можно показывать только их
• Учитывает жизненный цикл — автоматически удаляет себя при уничтожении Activity с помощью Application.ActivityLifecycleCallbacks
• Передача касаний — нажатия внутри области прожектора попадают в настоящее представление под ним
• Обработка кнопки «Назад» — можно настроить закрытие по нажатию Back
• Закрытие по нажатию за пределами области — настраивается как для всей сессии, так и для отдельных шагов
• Индикаторы шагов — анимированный ряд точек или автоматически увеличивающийся текст вроде «1 из 3»
• Кнопка пропуска — необязательная, с полностью настраиваемым текстом
• Стрелка-указатель — треугольная стрелка, соединяющая подсказку с выделенной областью
• Задержка запуска — можно задать паузу перед появлением оверлея
• Поддержка уменьшенного количества анимаций — учитывает системную настройку «Отключить анимации»
• Поддержка RTL — стрелка и компоновка автоматически зеркалятся
• TalkBack / Accessibility — содержимое шага озвучивается через announceForAccessibility
• Ноль зависимостей — без Material, Kotlin, Hilt и сторонних библиотек
• API 23+ — поддерживается Android 6.0 и новее
• Безопасно для ProGuard/R8 — необходимые consumer rules уже включены

Focora на GitHub: https://github.com/cocodestudio/Focora
Платформа: Android
⭐️: 6

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
  • ❤ 1
  • 🔥 1
Post #4455 315
ArrangementView: подумайте, прежде чем компоновать

ArrangementView кажется неудобным потому, что он упаковывает очень специфический класс проблем устройства в то, что выглядит как универсальный контейнер для двух представлений. Но в этом же заключается и его элегантность: когда отношение между содержимым действительно соответствует правилам устройства, сложность, которую иначе пришлось бы реализовывать в приложении, можно передать системе.

Статья: https://apptractor.ru/info/articles/arrangementview.html
Платформа: iOS

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Post #4454 308
Apple Shipkit - инфраструктурная основа для релизов

Apple Shipkit - готовая инфраструктура для выпуска приложений под iOS и macOS. Все процессы уже настроены: подпись кода, CI на базе GitHub Actions для обработки пулл-реквестов, создание свежих сертификатов для каждой сборки, загрузка в TestFlight и отправка в App Store. При этом намеренно не навязываются конкретные UI-фреймворк, сетевой стек или слой работы с данными.

Apple Shipkit на GitHub: https://github.com/indiagrams/apple-shipkit
Платформа: iOS
⭐️: 18

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Post #4453 394
Как я всё‑таки опубликовала игру в Google Play из России

Когда я только начала разбираться, как опубликовать приложение в Google Play из России, у меня довольно быстро появилось ощущение, что я занимаюсь чем‑то если не запрещённым, то как минимум подозрительным. Почти везде логика была примерно одинаковой: из России вроде бы можно, но желательно иметь иностранную карту, иностранный адрес, иностранный номер телефона, жить где‑нибудь в Сербии, Грузии или Казахстане и, по возможности, вообще перестать быть российским разработчиком.

Очень обнадёживающе.

Статья: https://habr.com/ru/articles/1086240/
Платформа: Android

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
  • 💩 6
Post #4452 2.44K
📺 Видео и подкасты за неделю

• (iOS En) Vertical Segmented Control Like iPhone Duo Using SwiftUI
• (iOS En) New SwiftUI APIs for iPhone Duo
• (iOS En) SwiftUI Alerts & Confirmation Dialogs in iOS 27
• (And En) My Local AI Coding Workflow (Hardware, Setup, Implementation)
• (And En) Kotlin's Name-Based Destructuring
• (Crs En) Swift Export: Where We Stand
• (Crs En) Building AI‑Powered Web Apps in Kotlin/Wasm
• (Dev Ru) Математики останутся без работы? — AI, Навье–Стокс, Lean, OpenAI
• (Dev Ru) Сопротивление ИИ: как сеньор-разработчик внедрил то, против чего был сам
• (Dev En) Jev in Action: AI Matched My Resume to 747 Jobs in 10 Seconds
• (Dev En) TimescaleDB Course – PostgreSQL for Time-Series Data

Прошлогодние видео:

• (iOS Ru) Ускоряем SwiftUI с Observable
• (iOS Ru) Как укротить виджеты в супераппе?
• (iOS Ru) UICollectionViewLayout с самого начала
• (iOS Ru) UITableView с различными типами ячеек
• (And Ru) Роболектрик-скриншот-тесты на платформе Android
• (And Ru) Поймай меня, если сможешь: как обнаружить Root и Frida
• (And Ru) Размер имеет значение: как измерить и уменьшить вес Android-приложения
• (And Ru) Установка Android-приложений от доисторических времен до наших дней
• (Crs Ru) React Native перевернул игру
• (Crs Ru) Темная сторона изолятов в Dart

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Post #4451 300
AppFiles - Mobile Development Перенесите свои приложения на Googlebook с помощью адаптивной разработки Адаптивная разработка — это естественный способ, с помощью которого современные Android-приложения масштабируются под большие дисплеи, новые положения устройств и появляющиеся форм-факторы.…
LastWave - клиент YouTube Music нового поколения

LastWave — это современное нативное Android-приложение для прослушивания музыки, использующее обширный каталог YouTube Music и созданное для тех, кто ценит умные рекомендации, динамичную визуализацию и удобное отслеживание истории прослушиваний. Приложение, разработанное с использованием дизайна Material 3 Expressive, предлагает комфортное воспроизведение музыки без рекламы, генератор умных плейлистов на базе ИИ, синхронизированные тексты песен (караоке) в реальном времени и встроенный скробблер Last.fm, отслеживающий прослушивание треков в ваших любимых музыкальных сервисах.

Технологический стек и архитектура:

• Язык и UI: 100% Kotlin + Jetpack Compose (Material 3 Expressive)
• Аудиодвижок: AndroidX Media3 ExoPlayer с элементами управления воспроизведением на экране блокировки и интеграцией с Android Auto
• Каталог потокового вещания: движок YouTube Music с использованием высокоэффективного аудиокодека Opus
• Скробблинг и отслеживание: API Last.fm и нативное отслеживание медиасессий ОС
• Система отображения текстов: синхронизация текста с точностью до миллисекунд (LRCLIB)
• Архитектура: MVVM + Clean Architecture, Room DB, Jetpack DataStore, Dagger Hilt, Coroutines и Flow

LastWave на GitHub: https://github.com/Clash-Projects/LastWave-Native
Платформа: Android
⭐️: 735

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Post #4450 317
Перенесите свои приложения на Googlebook с помощью адаптивной разработки

Адаптивная разработка — это естественный способ, с помощью которого современные Android-приложения масштабируются под большие дисплеи, новые положения устройств и появляющиеся форм-факторы. Если ваше приложение уже использует адаптивные макеты, оно практически готово к Googlebook. Опираясь на существующую базу адаптивного UI, классы размеров окон и поддержку нескольких способов ввода, можно предоставить полностью оптимизированный опыт.

Статья: https://apptractor.ru/info/articles/perenesite-svoi-prilozheniya-na-googlebook-s-pomoschyu-adaptivnoy-razrabotki.html
Платформа: Android

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Post #4449 299
Как мы вдвоем писали кроссплатформенный мессенджер: Compose Multiplatform, SFU на Go и сжатие трафика

Идея написать собственный мессенджер появилась не от хорошей жизни. У нас была конкретная прикладная потребность: получить полностью независимый инструмент связи, который не завязан на сторонние облачные сервисы, нормально поднимается на скромных серверах и адекватно ведет себя при перебоях со связью.

Мы разрабатывали другой проект, и поначалу для него был написан минимальный чат на CodeIgniter 4 с Vanilla JS и CSS плюс WebSocket‑сервер на Go. Затем стало очевидно, что такой чат слабоват, а для проекта, ориентированного на бизнес‑среду (B2B), еще и недостаточно безопасен. Тогда мы начали внедрять шифрование. Постепенно улучшали код, дорабатывали архитектуру и в какой‑то момент решили выделить мессенджер в самостоятельный проект — заодно хотелось получить реальный опыт в мобильной разработке. А потом просто увлеклись.

Статья: https://habr.com/ru/articles/1085446/
Платформа: кроссплатформа

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Older posts →

About this channel

How can I read @applib without a Telegram account?
TGViewer shows the public web preview Telegram publishes for AppFiles - Mobile Development: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does AppFiles - Mobile Development have?
AppFiles - Mobile Development (@applib) has 2.17K subscribers on Telegram, refreshed roughly every 30 minutes.
Does AppFiles - Mobile Development know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
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 →