AppFiles - Mobile Development
2.17K subscribers
3.26K photos
48 videos
13 files
4.27K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Pixelate - размытие контента в Compose

Pixelates преобразует контент Compose Multiplatform в мозаику из сплошных блоков. Сам контент сохраняет свои фактические данные и реальный размер, поэтому элементы макета не смещаются.

Pixelates на GitHub: https://github.com/hitherejoe/Pixelate
Платформа: Android/кроссплатформа
⭐️: 15

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

Каждому iOS-разработчику знакома ситуация: задача уже готова, кажется, что самое сложное уже позади. Но затем наступает этап написания unit-тестов. Мы пробовали поручить это ChatLLM, но модель генерировала код, который не компилировался: придумывала несуществующие Mock-объекты, игнорировала архитектурные соглашения проекта и использовала не те тестовые утилиты.

Проблема оказалась не в модели, а в отсутствии контекста. Вместо очередного набора промптов мы создали систему правил на базе AGENTS.md и SKILL.md. Это превратило генерацию тестов из разового запроса в воспроизводимый инженерный процесс.

В статье расскажу, как мы организовали работу AI-агента, какие проблемы встретили и почему хорошие правила сегодня важнее выбора «самой умной» модели.

Статья: https://habr.com/ru/companies/tbank/articles/1091898/
Платформа: тестирование

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

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

Сегодня разработчики задают уже совсем другой вопрос: если мобильные приложения всё ещё нужны всем, почему работы для тех, кто их создаёт, не становится больше?

Статья: https://apptractor.ru/info/articles/kuda-delis-vse-vakansii-dlya-android-razrabotchikov.html
Платформа: работа

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

CodexKit — это SDK на Swift для встраивания агентов в стиле Codex в приложения для iOS 17+ и macOS 14+. Он предоставляет вход через ChatGPT, сохраняемые диалоги, потоковую генерацию ответов, инструменты, определяемые самим приложением, и опциональную локальную память.

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

• Текстовый и графический ввод, потоковые ответы и типизированный вывод по ходам с предварительными событиями и финальным подтверждённым результатом.
• Возобновляемые треды с сохранением в SQLite или Realm и сжатием контекста.
• Инструменты, определяемые приложением, с этапами подтверждения, ограничениями политик для навыков и ограниченным опциональным параллельным выполнением.
• Персоны, навыки и локальная память для поведения, специфичного для конкретного приложения.
• Идентификаторы GPT-6.1 Sol, GPT-6 Sol/Luna/Astra, обнаружение доступных моделей аккаунта и отображение лимитов использования.
• Прогресс провайдера, фазы сообщений, добавление ввода в активные ходы и прерывание выполнения.
• OAuth через браузер, вход по device code и доступ только для чтения к локальным сессиям Codex на macOS.

CodexKit на GitHub: https://github.com/timazed/CodexKit
Платформа: iOS
⭐️: 32

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

С развитием AI-кодинга возникает новая проблема: нейросети способны писать тысячи строк кода за день, но кто будет разбираться во всём этом, когда что-то сломается? Инженер Синди Шридхаран поделилась опытом отладки сложных систем с помощью Claude Code. В основе статьи — три реальные проблемы: рост задержек, утечка памяти и зависание сервиса.

Главная мысль: для эффективной отладки больше не обязательно понимать каждую строку кода. Важнее уметь проверять гипотезы ИИ.

Автор предлагает несколько принципов:

• Факты важнее объяснений. Логи, метрики, трассировки и результаты экспериментов надёжнее, чем убедительная история, которую рассказывает AI-агент.
• Разделяйте факты и гипотезы. Модель может предложить правдоподобную причину ошибки, но это ещё не доказательство.
• Сравнивайте работающую и сломанную системы. Иногда одно различие в поведении даёт больше информации, чем изучение тысяч строк исходников.
• Заставляйте ИИ опровергать собственные выводы. Хорошая гипотеза должна объяснять все наблюдаемые факты, а не только часть симптомов.
• Меняйте роль разработчика. Вместо ручного анализа каждой функции — проектирование проверок, сбор данных и контроль достоверности выводов AI-агентов.

Самый интересный вывод: программирование постепенно превращается из процесса написания и понимания кода в процесс управления его созданием и проверки корректности. И, возможно, главным навыком разработчика будущего станет не умение читать чужой код, а умение доказать, что он работает правильно.

Статья: https://copyconstruct.medium.com/how-to-effectively-debug-when-you-no-longer-understand-the-code-bd3dcb2c5f7b 🇺🇸
Платформа: разработка

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

Несколько недель назад мои сборки начали странным образом падать. Сначала сломался этап линковки. Потом lipo. Затем кэш модулей начал жаловаться, что файл «был изменён после того, как был собран module file». Чистые сборки не помогали.

Оказалось, диск был заполнен. И ни одна из этих ошибок прямо об этом не говорила.

Такое начинает происходить гораздо чаще, когда в рабочем процессе появляются ИИ-агенты. Я запускаю по два-три агента одновременно, каждый в своём git worktree, каждый собирает приложение и запускает тесты. Каждое рабочее дерево также получает собственные копии симуляторов. Если агенты используют один и тот же симулятор, они начинают устанавливать свои сборки поверх чужих и нажимать кнопки на чужих экранах. Каждая сборка, каждый прогон тестов и каждая копия симулятора оставляют после себя гигабайты данных, и ничего из этого автоматически не очищается.

Статья: https://apptractor.ru/info/articles/kuda-devaetsya-mesto-na-diske-xcode-rabochie-derevya-i-ii-agenty.html
Платформа: iOS

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
AsoBeast - self-hosted ASO-инструмент для отслеживания ключевых слов в App Store и Google Play

AsoBeast — это инструмент для App Store Optimization (ASO) и отслеживания позиций по ключевым словам в Apple App Store и Google Play. Он импортирует страницу приложения, ежедневно отслеживает позиции по ключевым словам до 200-го места, следит за конкурентами, отзывами и метаданными, а затем превращает накопленную историю в приоритетную очередь задач по ASO. Этот репозиторий содержит бесплатную версию с открытым исходным кодом, которую можно запустить на собственном сервере.

Каждый запрос к магазину выполняется непосредственно на машине, где размещён AsoBeast, как обычный публичный поисковый запрос или запрос страницы, поэтому Apple и Google видят каждую отслеживаемую фразу так же, как любой другой поисковый запрос. Вам не нужно регистрироваться у стороннего ASO-провайдера, покупать API-ключ или передавать стороннему ASO-сервису информацию о том, какие ключевые слова вы отслеживаете. За исключением этих запросов к магазинам, ваши данные остаются внутри вашего развёртывания, если только вы явно не включите внешнюю интеграцию, например webhook-уведомления, электронную почту, помощь OpenAI, данные о популярности запросов из Apple Ads или обновления статуса магазинов.

AsoBeast на GitHub: https://github.com/AsoBeast/asobeast
Платформа: ASO
⭐️: 53

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Dari — инспектор взаимодействия WebView bridge для Android

Dari — это библиотека-инспектор для отладки взаимодействия через Android WebView bridge, вдохновлённая Chucker. Она перехватывает и отображает все сообщения WebView ↔️ App bridge в постоянном уведомлении и во встроенном интерфейсе приложения, не требуя изменений существующей логики бриджа.

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

• Перехват в реальном времени сообщений Web→App и App→Web
• Отслеживание трёх состояний: IN_PROGRESS, SUCCESS, ERROR
• Поддержка тёмной темы
• Жест встряхивания для открытия инспектора
• Фильтр по статусу, чтобы сосредоточиться на ошибках или незавершённых вызовах
• Экспорт перехваченных сообщений в JSON
• Опциональная инспекция Protocol Buffers с декодером, предоставляемым приложением
• No-op модуль (dari-noop) для release-сборок без дополнительных затрат во время выполнения
• Поддержка вызовов fire-and-forget для одностороннего взаимодействия через бридж
• Одинаковый публичный API для debug- и release-артефактов

Dari на GitHub: https://github.com/easyhooon/dari
Платформа: Android
⭐️: 35

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

В прошлой статье мы рассмотрели несколько базовых метрик. В этой части поговорим о менее очевидных, но не менее полезных критериях и способах измерения различных аспектов мобильной разработки. Тема не новая, однако получила новый импульс благодаря развитию и широкому внедрению искусственного интеллекта (ИИ).

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

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

• (iOS Ru) Анатомия LazyVStack. Проблемы, скрытые возможности, оптимизации
• (iOS Ru) Влияние температурного режима на UX в iOS-приложениях
• (iOS En) iPhone Duo Group Lab + iPhone Duo Group Lab
• (iOS En) Top 6 Swift Concurrency Interview Questions Explained
• (iOS En) Animated Launch Screen With OnBoarding View Using SwiftU
• (iOS En) AI is now really good at building iOS apps
• (iOS En) iPhone Duo Is Here - What Happens to Your Existing iOS
• (iOS En) SwiftUI Animated App Theme Switcher
• (And Ru) 1 байт вместо 32: анатомия ScatterMap
• (And Ru) 15 лет Kotlin: ретроспектива
• (And Ru) А вы можете сказать, что все-таки такое «корутина» в Kotlin?
• (And En) From Android to QuakeCon: What 90s Game Engines Teach Us About Extreme Optimization
• (Crs Ru) Как превратить абстрактную задачу в оптимизационную на примере KMP-движка коллажей
• (Crs Ru) Swift для Android и кроссплатформы. Разбираем на практике
• (Crs Ru) CMP на ОС Аврора: с нуля до альфы
• (Crs Ru) Пробуем Сompose-alpha для ОС Аврора
• (Crs Ru) Под капотом изолятов и Garbage Collector Dart VM
• (Crs Ru) KMP Contest Winners | KotlinConfersations 2026
• (Dev Ru) Метрики плавности мобильных приложений
• (Dev Ru) Первый бескомпромиссный SDUI
• (Dev Ru) Разработчик вышел из кода
• (Dev Ru) Вуз в эпоху ИИ — развод на 4 года?
• (Dev Ru) Koog — твой друг: специализированный агент на Kotlin
• (Dev En) Line-by-line review of AI code is a mistake
• (Dev En) I didn't know I needed this new AI model so badly
• (Dev En) Design Software Systems Like a Senior Engineer – Complete Course

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

• (And Ru) Семантический Gradle: публикуем артефакты со спокойствием и уверенностью
• (Dev Ru) Собеседование DS инженера в Авито: ML system design (все собеседования)

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

Нашей команде поставили задачу разработать мобильное приложение для iOS и Android. Нативных разработчиков на Swift и Kotlin в команде нет, зато половина хорошо знает Vue. Поэтому я как лид выбрал Vue и Capacitor — фреймворк, который упаковывает обычное веб‑приложение в нативную оболочку и даёт доступ к функциям телефона через JavaScript‑плагины.

Статья: https://habr.com/ru/articles/1094782/
Платформа: разработка

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