AppFiles - Mobile Development
2.17K subscribers
3.24K photos
46 videos
13 files
4.24K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
ArrangementView: подумайте, прежде чем компоновать

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

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

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
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: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🔥1
Анимация iPhone Duo на Galaxy Fold: от красивой демки до работающего приложения

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

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

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

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Применение gRPC при разработке приложений под iOS

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

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

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
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: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Я написал свой музыкальный плеер со своим стримингом: Android, Windows, Linux и сервер на Rust

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

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

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
Интеллектуальные приложения для Android: агентские рабочие процессы внутри приложения

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

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

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

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
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: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Даем ИИ видеть 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: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
A2UI в Jetpack Compose: как ИИ-агенты могут создавать нативные Android-интерфейсы

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

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

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

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

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
Floe Agent — нативное рабочее пространство с ИИ-агентами для iPhone и iPad

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

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

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

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👎1🤬1🗿1
Gander - просмотр файлов

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

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

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Как бы я спроектировал 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: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM