ch
Feedback
AppFiles - Mobile Development

AppFiles - Mobile Development

前往频道在 Telegram

Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.

显示更多
2 165
订阅者
-324 小时
-27
+430
帖子存档
Поддержка приложения для Android - это большой труд

Что нового в SwiftUI после WWDC25 Всемирная конференция разработчиков 2025 уже идет, и это идеальное время для изучения самых
Что нового в SwiftUI после WWDC25 Всемирная конференция разработчиков 2025 уже идет, и это идеальное время для изучения самых значительных изменений и дополнений к фреймворку SwiftUI. Давайте узнаем обо всех новых интересных функциях, которые Apple приготовила для нас в этом году. Статья: https://apptractor.ru/info/articles/chto-novogo-v-swiftui-posle-wwdc25.html Платформа: iOS

Кэширование фреймворков — популярный метод, позволяющий сократить время сборки во многих крупных проектах. Некоторые из наибо
Кэширование фреймворков — популярный метод, позволяющий сократить время сборки во многих крупных проектах. Некоторые из наиболее известных инструментов в этой категории — cocoapods-binary-cache, Rugby и XCRemoteCache. Rugby и cocoapods-binary-cache специально разработаны для проектов на базе CocoaPods, а XCRemoteCache подходит для более общей структуры проектов. Однако все три инструмента имеют одно и то же ограничение: отсутствие поддержки пакетов SPM/Swift. Инструмент xccache призван восполнить этот пробел. Долгосрочная цель этой инициативы — сделать его универсальным инструментом кэширования для iOS-проектов, включая структуры на базе CocoaPods. Инструмент управляет специальным пакетом umbrella для работы с кэшированными зависимостями в проекте. В случае попадания в кэш он заменяет исходную зависимость (с исходным кодом) на соответствующую предварительно собранную зависимость. Xccache на GitHub: https://github.com/trinhngocthuyen/xccache Платформа: iOS ⭐️: 45

Использование ИИ и Cursor для локализации каталогов строк Xcode Каталоги строк Xcode отлично подходят для локализации, но по
Использование ИИ и Cursor для локализации каталогов строк Xcode Каталоги строк Xcode отлично подходят для локализации, но по сравнению со старыми файлами .strings затрудняют добавление новых языков. Давайте посмотрим, как экспортировать и импортировать языки каталога строк, а также как использовать Cursor для перевода приложения на новые языки с помощью искусственного интеллекта. Статья: https://apptractor.ru/info/articles/ispolzovanie-ii-i-cursor-dlya-lokalizatsii-katalogov-strok-xcode.html Платформа: iOS

Оборачиваем любой Composable красивой ленточкой В этой небольшой статье мы узнаем, как создать модификатор ленты, который рисует контур, обтекающий любой элемент интерфейса Compose. Этот эффект можно использовать в качестве эффекта наведения курсора на нужную кнопку или для привлечения внимания к новому действию. Статья: https://apptractor.ru/info/articles/oborachivaem-lyuboy-composable-krasivoy-lentochkoy.html Платформа: Android

TriggerX — это модульная, удобная для разработчиков библиотека для выполнения сигналов по расписанию для Android. Она упрощае
TriggerX — это модульная, удобная для разработчиков библиотека для выполнения сигналов по расписанию для Android. Она упрощает планирование точных сигналов и отображение пользовательских интерфейсов в определенное время, даже если ваше приложение было закрыто или вы не управляете фоновыми службами, блокировками пробуждения или флагами блокировки экрана. Вы можете использовать TriggerX когда вам необходимо отобразить пользовательский интерфейс (напоминание, предупреждение, экран действий) в определенное время, когда пользовательский интерфейс требует получения данных в режиме реального времени из базы данных, кэша или API, если вы хотите избежать обработки крайних случаев для Doze, фоновых служб или флагов, вы хотите получить универсальное решение для сигналов по расписанию, которое будет работать на всех версиях Android. TriggerX на GitHub: https://github.com/meticha/triggerx Платформа: Android ⭐️: 46

Создание живой звуковой волны в SwiftUI В этом кратком руководстве мы расскажем вам, как использовать FFT для анализа наборов звуковых данных, чтобы визуализировать полученные частоты в виде живой функции звуковой волны в приложении SwiftUI. Статья: https://apptractor.ru/info/articles/sozdanie-zhivoy-zvukovoy-volny-v-swiftui.html Платформа: iOS

Как ИИ помог создать систему видеонаблюдения на Android Все началось с простой мысли: у многих дома лежат старые или неисполь
Как ИИ помог создать систему видеонаблюдения на Android Все началось с простой мысли: у многих дома лежат старые или неиспользуемые Android-смартфоны. Почему бы не превратить один из них в умного "сторожа"? Представьте: вы уходите из дома и хотите быть в курсе, если что-то изменится в комнате — откроется дверь, появится домашний питомец в запретной зоне или, не дай бог, кто-то посторонний. Статья: https://habr.com/ru/articles/916598/ Платформа: Android

MosaicGrid — это библиотека SwiftUI, которая предоставляет как горизонтальные, так и вертикальные мозаичные сетки, а также утилитарные функции для настройки размера и расположения плиток. Эти компоненты позволяют расположить несколько элементов в визуально привлекательной сетке. MosaicGrid на GitHub: https://github.com/hainayanda/MosaicGrid Платформа: iOS ⭐️: 26

Redroid: легковесная альтернатива стандартному эмулятору Android, работающая как Docker-контейнер Это решение помогает разраб
Redroid: легковесная альтернатива стандартному эмулятору Android, работающая как Docker-контейнер Это решение помогает разработчикам и тестировщикам глубже понимать, как их Android-приложения взаимодействуют с сетью, выявлять проблемы безопасности и оптимизировать сетевые взаимодействия без необходимости использования физических устройств или сложных настроек эмуляторов. Статья: https://habr.com/ru/articles/915954/ Платформа: Android

📺 Видео и подкасты за неделю на @AppFiles • (iOS Ru) Привязать карту: что может быть проще? • (iOS Ru) Архитектура для кросс
📺 Видео и подкасты за неделю на @AppFiles(iOS Ru) Привязать карту: что может быть проще?(iOS Ru) Архитектура для кросс-функциональных команд(iOS En) Types of Window Scenes | SwiftUI(iOS En) Swift: Dead Simple Formatting (Dates, Numbers, Currency, Measurement, Time)(iOS En) 10 Years of Swift – A Decade in Review(iOS En) Better Error Messages with ErrorKit(iOS En) Pull To Search SwiftUI | Expandable Search Bar(iOS En) iOS App Testing with SwiftLens: A SwiftUI UI Testing Framework(And Ru) Катим в прод, не тестируя(And Ru) Figma + Compose. Упрощаем верстку(And Ru) Что хотят работодатели от Android-разработчика(And Ru) Топ-5 обновлений Google I/O, о которых вам нужно знать(And En) Now in Android: 117 – What’s new in Android development at Google I/O 2025 (part 1)(And En) Tech Interviews, Talks & More - My Day at KotlinConf 2025 In Copenhagen(And En) Testing software is awful: Here is how we can fix it(And En) State Hoisting: Eine Jetpack Compose Best Practice(Crs En) Kotlin Multiplatform (KMP) at McDonald’s(Dev Ru) Как избавиться от рекурсии и исправить глупую ошибку в Google(Dev Ru) IT-коучинг, Developer Advocate, софт-скиллы(Dev Ru) Эволюция карьерного роста: путь от Intern до Senior(Dev Ru) Вайбкодим всей командой — AI, Cursor, Claude, ChatGPT, MCP(Mrk Ru) Как сделать 3 миллиона загрузок на органике с ASO и попасть в Apple Best of(Mrk Ru) ASO в iOS. Подписки. Как сделать 100к MRR на органик приле Прошлогодние видео: • (iOS Ru) Как не наломать дров с Live Activity(iOS Ru) Баланс между скоростью и надежностью: переиспользовать нельзя перепроверять(And Ru) Кодревью опенсорс проекта или как выглядят 10 лет технического долга(And Ru) Сколько памяти нужно для сборки? Android-разработчикам о JVM(And Ru) Что скрывает State в Compose(Crs Ru) Best practices локальной аутентификации на Flutter

WallStreet - это приложение использует Compose Multiplatform и Kotlin Multiplatform для создания красивого и отзывчивого прил
WallStreet - это приложение использует Compose Multiplatform и Kotlin Multiplatform для создания красивого и отзывчивого приложения с обоями для Android, Linux, Windows и MacOS. WallStreet на GitHub: https://github.com/StarkDroid/WallStreet Платформа: Android/кроссплатформа ⭐️: 23

Ускорение сборки Swift-проектов с макросами: как Xcode 16.4 решает проблему SwiftSyntax Если вы работаете с макросами в Swift
Ускорение сборки Swift-проектов с макросами: как Xcode 16.4 решает проблему SwiftSyntax Если вы работаете с макросами в Swift и сталкивались с длительными временами сборки из-за зависимости от SwiftSyntax, то есть хорошие новости! В последнем обновлении Xcode 16.4 появилась возможность использовать предварительно скомпилированные бинарные файлы SwiftSyntax, что значительно сокращает время сборки проектов. В тестовом приложении, использующем библиотеку Structured Queries с макросами, время сборки в режиме отладки сократилось с 37 до 15 секунд. В режиме релиза улучшение ещё более заметно: с 226 до 45 секунд. Особенно ощутимы эти улучшения при сборке небольших модулей, тестов и при использовании Xcode Previews. Статья: https://www.pointfree.co/blog/posts/171-mitigating-swiftsyntax-build-times Платформа: iOS

Rich Errors в Kotlin 2.4 — революционное изменение в обработке ошибок Это одно из самых интересных дополнений к Kotlin, котор
Rich Errors в Kotlin 2.4 — революционное изменение в обработке ошибок Это одно из самых интересных дополнений к Kotlin, которое я видел за последние годы. Оно способствует изменению мышления: не относитесь к ошибкам как к неожиданностям — относитесь к ним как к ожидаемым возможностям. Я с нетерпением жду возможности попробовать это (особенно в блоках try-catch, похожих на спагетти). Если вы работаете над чем-либо на основе Kotlin, особенно над Android-приложениями, вам стоит обратить на это внимание. Статья: https://apptractor.ru/info/articles/rich-errors.html Платформа: Android

Как создать импульсный эффект в Jetpack Compose В этой статье описан процесс создания захватывающего импульсного эффекта с ис
Как создать импульсный эффект в Jetpack Compose В этой статье описан процесс создания захватывающего импульсного эффекта с использованием Jetpack Compose. Реализация такой анимации — отличный способ привлечь внимание пользователя. Статья: https://nuancesprog.ru/p/24866/ Платформа: Android

Как построить свою ферму устройств и упростить работу с устройствами и эмуляторами: делимся опытом создания DeviceHub Меня зо
Как построить свою ферму устройств и упростить работу с устройствами и эмуляторами: делимся опытом создания DeviceHub Меня зовут Даниил Смирнов, я руководитель команды Android Core R&D, которая развивает VK DeviceHub и другие внутренние решения. Мы вместе с Иваном Левиковым, руководителем тестирования в команде контента, решили улучшить инфраструктуру тестирования и объединили усилия, чтобы построить собственную ферму устройств. И на этом пути преодолели множество технических и организационных вызовов, о которых хотим вам рассказать. Статья: https://habr.com/ru/companies/vk/articles/915340/ Платформа: Android

Как мы превратили iPhone в лабораторный микроскоп с AI и BLE: real-world edge-приложение В этой статье я хочу поделиться опыт
Как мы превратили iPhone в лабораторный микроскоп с AI и BLE: real-world edge-приложение В этой статье я хочу поделиться опытом разработки iOS-приложения для роботизированного микроскопа с AI-распознаванием клеток крови — как оно устроено, какие задачи пришлось решать, на какие грабли пришлось наткнуться и как iPhone можно использовать в качестве лабораторного инструмента. Это не очередной todo-лист с авторизацией или приложение для наложения масок на селфи — в центре внимания: видеопоток с окуляра микроскопа, нейронки, работа с железом, Bluetooth-управление перемещением стекол, и всё это — прямо на iPhone. При этом я постарался не уходить в чрезмерные технические детали, чтобы статья оставалась доступной для большей части аудитории. Статья: https://habr.com/ru/articles/915372/ Платформа: iOS

SwiftSMTP предоставляет реализацию на основе SwiftNIO для отправки электронных писем с использованием SMTP-серверов. Существу
SwiftSMTP предоставляет реализацию на основе SwiftNIO для отправки электронных писем с использованием SMTP-серверов. Существует структура Configuration (и ее вложенные структуры и перечисления), которая настраивает доступ к SMTP-серверу (имя хоста, учетные данные и т.д.). После того, как у вас есть Configuration (вместе с NIO EventLoopGroup), вы можете создать Mailer. Mailer отвечает за настройку канала NIO, который подключается к SMTP-серверу и доставляет электронную почту. Имея Mailer в своем распоряжении, вы можете использовать его для отправки электронной почты. Поскольку SMTP прерывает соединение после каждой доставки, Mailer создает новое соединение для каждой электронной почты, которая должна быть доставлена. SwiftSMTP на GitHub: https://github.com/sersoft-gmbh/swift-smtp Платформа: iOS ⭐️: 49

Kotlin 2.4 представляет расширенные ошибки — революционное изменение в обработке ошибок На конференции KotlinConf 2025 была п
Kotlin 2.4 представляет расширенные ошибки — революционное изменение в обработке ошибок На конференции KotlinConf 2025 была представлена новая функция Kotlin 2.4 — Rich Errors, которая обещает изменить подход к обработке ошибок в языке.
fun fetchUser(): User | AppError {
    if (/* network fails */) return NetworkError(503)
    if (/* user not found */) return UserNotFoundError
    return User("123", "Ada")
}

fun loadUserData() {
    val result = fetchUser()
    when (result) {
        is User -> show(result)
        is NetworkError -> showError("Проблема с сетью (${result.code}). Попробуйте снова.")
        is UserNotFoundError -> showError("Пользователь не найден. Проверьте данные.")
    }
}
Почему это важно? 1. Безопасность типов: Компилятор знает о всех возможных ошибках и требует их обработки. 2. Меньше шаблонного кода: Уменьшается необходимость в многочисленных блоках try-catch. 3. Упрощение тестирования: Тестировать функции становится проще, так как ошибки возвращаются как значения, а не выбрасываются как исключения. Везде, где возможны предсказуемые ошибки, Rich Errors делают код более надежным и понятным. Статья: https://xuanlocle.medium.com/kotlin-2-4-introduces-rich-errors-a-game-changer-for-error-handling-413d281e4a05 Платформа: Android 👍 если хотите русский перевод

Творческая переработка MVVM и TCA на примере iOS За основу мы взяли архитектуру MVVM (Model—View—ViewModel), в которой View о
Творческая переработка MVVM и TCA на примере iOS За основу мы взяли архитектуру MVVM (Model—View—ViewModel), в которой View отвечает за графическое представление данных, вся бизнес логика сосредоточена внутри ViewModel. ViewModel обрабатывает запросы от View, обновляет свои данные, и View посредством data binding автоматически обновляет своё представление, что очень удобно. Model — модель для хранения и передачи данных. Статья: https://habr.com/ru/companies/gri/articles/913610/ Платформа: iOS