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

Современная и удобная в использовании библиотека для Android, позволяющая настраивать гитару и распознавать аккорды в реальном времени с помощью микрофона устройства. Она захватывает звук, анализирует частотный спектр и определяет ноту или аккорд — и всё это благодаря ядру цифровой обработки сигналов (DSP), написанному на чистом Kotlin, без использования сторонних аудиобиблиотек. Также предусмотрена полноценная поддержка Jetpack Compose «из коробки».

Pitch Kit на GitHub: https://github.com/NicosNicolaou16/PitchKit
Платформа: Android
⭐️: 11

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

Экран получил первое состояние и застыл: запросы проходят, исключений нет, а в дебаге проблема вообще не воспроизводится. Разбираемся, почему StateFlow может «замолчать», как отличить особенности его семантики от реального бага и при чём здесь R8 в релизной сборке Android‑приложения.

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

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

Нативный RAW фото-редактор с открытым исходным кодом для Mac, iPad и iPhone; интерфейс программы покажется знакомым всем, кто работал с Lightroom.

Redlamp написан с нуля на Swift и Metal специально для Apple Silicon. Программа сосредоточена на одной задаче — обработке фотографий — и стремится выполнять её быстрее и нативнее, чем любые другие аналоги на этой платформе.

Redlamp  на GitHub: https://github.com/pdcgomes/redlamp
Платформа: iOS
⭐️: 196

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Игра на Kotlin, Jetpack Compose и Filament: что сработало, а что нет

Начиналось всё как небольшая игра в стиле приложения — почти без графики, скорее как текстовая игра. Потом мне захотелось видеть, как герои перемещаются по миру. Затем появились деревья, здания, изометрическая карта, погода и цикл дня и ночи. В какой-то момент я понял, что по сути построил небольшой игровой движок.

Статья: https://apptractor.ru/info/articles/igra-na-kotlin-jetpack-compose-i-filament-chto-srabotalo-a-chto-net.html
Платформа: Android

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Spock ADB - отладка Android-приложений без выхода из IDE

Анализируйте, управляйте и отлаживайте Android-приложения и устройства прямо из Android Studio или IntelliJ IDEA — без необходимости постоянно переключаться на терминал, Device Manager, настройки или внешние инструменты.

Spock ADB интегрирует рабочие процессы ADB в среду разработки и сохраняет выбранное устройство и приложение в качестве активной цели во всех разделах: Home, Storage, Work, Shell, Logcat, Debug Timeline, Diagnose и UI Inspector. Кроме того, плагин включает встроенный MCP-сервер, предоставляющий 69 строго типизированных инструментов Android для Claude Code, Claude Desktop, Cursor и других AI-клиентов.

Одна IDE · Одно целевое устройство · Меньше команд ADB

Spock ADB на GitHub: https://github.com/WahdanZ/SpockAdb
Платформа: Android
⭐️: 116

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

• (iOS En) Pinterest Context Menu Using SwiftUI
• (iOS En) Compact Notification OnBoarding Animation Using SwiftUI
• (iOS En) SwiftUI iOS 27 - Smarter Toolbars, Overflow & Tab Bars
• (And En) Android CLI and skills to improve your development
• (And En) Beginner's Guide to Spec-Driven Development (SDD) With OpenSpec
• (Crs En) Shopify is smart
• (Dev Ru) Time-to-Market по закону: риски использования AI-агентов в мобильной разработке
• (Dev Ru) Как AI убил аутсорс — Заказная разработка, аутстафф, студии разработки
• (Dev En) Kotlin Course For Beginners – Full Tutorial
• (Dev En) Mobile System Design: Push Notifications Architecture

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

• (iOS Ru) Неуловимый iOS-ботовод. Задетекти меня, если сможешь: автореги, боты, спамеры
• (iOS Ru) Разработка под Apple Vision Pro: исследуем возможности гарнитуры
• (And Ru) Автообновление Android: когда можно не бояться санкций сторов
• (And Ru) Доверяй, но проверяй: про корневые сертификаты в Android и не только
• (And Ru) Как правильно написать фичу. Часть 1
• (And Ru) Что ждёт Android-разработчика на собесе в Wildberries (+ все собеседования)
• (Crs Ru) Миграция больших приложений на KMP: проблемы, подводные камни, решения

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

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

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

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

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


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