AppFiles - Mobile Development
2.17K subscribers
3.24K photos
47 videos
13 files
4.25K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download 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
This media is not supported in your browser
VIEW IN TELEGRAM
SweetPad - xcodebuild для людей и агентов

Инструмент командной строки, который собирает, запускает, отлаживает и тестирует приложения для iOS, macOS и других платформ без необходимости открывать Xcode. Он работает с проектами и workspace Xcode, Tuist, XcodeGen и Swift Packages.

Фичи:

• Удобное использование: короткие команды, интерактивные вопросы вместо обязательных флагов и встроенная справка для каждой команды.
• Короткий вывод сборки: сборка небольшого приложения выводит 7 строк вместо примерно 350 у xcodebuild.
• Устройства назначения: симуляторы, подключённые устройства и Mac можно выбирать по имени через --on.
• Тестирование: запуск отдельного теста, повторный запуск упавших тестов, повтор нестабильных тестов и экспорт покрытия и JUnit-отчётов.
• Автодополнение: sweetpad bsp init настраивает SourceKit-LSP для Neovim, Zed, Helix и Emacs.
• Hot reload: sweetpad run --hot применяет сохранённые изменения Swift-кода без перезапуска приложения.
• Отладка: breakpoints в Neovim, Zed или VS Code через sweetpad dap, а также скриптуемые сессии lldb и структурированные отчёты о падениях.
• Скрипты и CI: JSON-вывод и отдельные exit codes для каждой команды.
• Агентские навыки: инструкции, которые обучают coding-агентов использовать CLI.

SweetPad на GitHub: https://github.com/sweetpad-dev/sweetpad
Платформа: iOS
⭐️: 1.9K

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
Rich Push Notifications в iOS: Notification Service Extension, Notification Content Extension и неочевидные детали

Статья рассчитана на iOS‑разработчиков, которые уже знакомы с базовой настройкой пуш‑уведомлений и хотят разобраться с Notification Service Extension и Notification Content Extension. Здесь не рассматривается подключение пушей с нуля — основной фокус сделан на работе расширений, структуре payload, категориях уведомлений, кастомном UI и типичных проблемах при настройке. Все примеры приведены на отдельном демо‑проекте и основаны на публичной документации и открытых источниках. Цель статьи — собрать в одном месте детали, на которых легко потерять время при настройке rich notifications.

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

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
Правда о Coil в Jetpack Compose: измеряем реальный оверхед SubcomposeAsyncImage

Взял пять разных способов загрузить картинку в Compose-списке — от самого простого прямого рисования до того самого SubcomposeAsyncImage, прогнал через одинаковые условия на реальных устройствах и посчитал, во сколько именно миллисекунд обходится каждый подход. Спойлер: ответ оказался не таким однозначным.

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

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
Визуализация данных с помощью шестиугольной тепловой карты в Swift Charts

При создании графиков для пространственных данных измерения часто агрегируют в ячейки примерно одинаковой площади, формируя тепловую карту. В этой статье мы используем Swift Charts, чтобы отобразить землетрясения по всей Аотеароа в Новой Зеландии, с помощью шестиугольных ячеек.

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

Статья: https://apptractor.ru/info/articles/vizualizatsiya-dannyh-s-pomoschyu-shestiugolnoy-teplovoy-karty-v-swift-charts.html
Платформа: iOS

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