en
Feedback
AppFiles - Mobile Development

AppFiles - Mobile Development

Open in Telegram

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

Show more
2 169
Subscribers
+224 hours
No data7 days
+830 days
Posts Archive
Кастомная сериализация с помощью kotlinx.serialization Сегодня расскажу о JSON Schema и как мы используем эту спецификацию на
Кастомная сериализация с помощью kotlinx.serialization Сегодня расскажу о JSON Schema и как мы используем эту спецификацию на проекте, а также о библиотеке kotlinx.serialization и том, как она упростила нам работу со схемами. Статья будет полезна разработчикам, которые интересуются библиотекой kotlinx.serialization и хотят глубже узнать её устройство. Статья: https://habr.com/ru/companies/okko/articles/961848/ Платформа: Android

Публикация PWA в App Store и Play Store на github actions Понадобилось мне как-то раз сделать из PWA мобильные приложения. Пр
Публикация PWA в App Store и Play Store на github actions Понадобилось мне как-то раз сделать из PWA мобильные приложения. Приключение на 20 минут, зашли и вышли - подумал я и пропал на пару месяцев. В статье будет гремучая смесь из Java, C#, NodeJS, Swift, bash, Dockerfile и github actions. Но в результате возможность непрерывно поставлять свежие сборки в магазины приложений. Статья: https://habr.com/ru/articles/855830/ Платформа: разработка

Nice Toast - красивы и настраиваемые тосты для Android Nice Toast — это потрясающая и легко настраиваемая библиотека для создания уведомлений, доступная как для традиционных View, так и для Jetpack Compose. Повысьте удобство использования своего приложения, заменив стандартные тосты привлекательными, анимированными и информативными уведомлениями, которые отлично смотрятся как в светлой, так и в тёмной темах оформления. Нужно ли вам отображать сообщение об успешном завершении процесса, ошибку, предупреждение или просто какую-то информацию, NiceToast предлагает разнообразные стили, соответствующие дизайну вашего приложения. Nice Toast на GitHub: https://github.com/dononcharles/NiceToast Платформа: Android ⭐️: 9

StoreKit Helper - обертка StoreKit2 для SwiftUI StoreKit Helper - ещё одна легковесная обертка StoreKit2, созданная специальн
StoreKit Helper - обертка StoreKit2 для SwiftUI StoreKit Helper - ещё одна легковесная обертка StoreKit2, созданная специально для SwiftUI, и упрощающая реализацию встроенных покупок. StoreKit Helper на GitHub: https://github.com/jaywcjlove/StoreKitHelper Платформа: iOS ⭐️: 130

Gradle для QA-инженера Если вы автоматизируете на Java или Kotlin, вы не могли не слышать о Gradle. Одни его хвалят за скорос
Gradle для QA-инженера Если вы автоматизируете на Java или Kotlin, вы не могли не слышать о Gradle. Одни его хвалят за скорость и гибкость, другие ругают за сложность конфигурации. Что же это за инструмент и почему всё больше проектов переходят на него с Maven? В этой статье мы разберем Gradle, чтобы вы могли уверенно использовать его в своих проектах для автоматизации тестирования, а так же спокойно ответить на вопросы на собеседовании. Статья: https://habr.com/ru/articles/959912/ Платформа: Android

Самый задаваемый вопрос на iOS-собеседовании, на котором застревают даже Senior разработчики Он не про синтаксис Swift. Не пр
Самый задаваемый вопрос на iOS-собеседовании, на котором застревают даже Senior разработчики Он не про синтаксис Swift. Не про UIKit или SwiftUI. Он про то, насколько хорошо вы разбираетесь в iOS. Статья: https://apptractor.ru/info/articles/samyy-zadavaemyy-vopros-ios.html Платформа: iOS

Быстрее, чище, стабильнее: как мы ускорили UI-тесты в iOS в 2,5 раза Полнота покрытия проекта тестами во многом предопределяе
Быстрее, чище, стабильнее: как мы ускорили UI-тесты в iOS в 2,5 раза Полнота покрытия проекта тестами во многом предопределяет его качество, надёжность и безопасность, поэтому команды предсказуемо стремятся писать тесты на все методы и компоненты. Это имеет и обратную сторону: увеличение покрытия удлиняет прогоны, что, в свою очередь, сказывается на продуктовых метриках. В результате при разработке возникает необходимость искать баланс между покрытием и способами ускорения прогонов. Здесь у каждой компании свой подход. Статья: https://habr.com/ru/companies/vk/articles/961616/ Платформа: iOS

Маленькая RAM vs новые фичи: как мы повышаем детализацию Карт и сохраняем стабильность Чем богаче визуальное и информационное
Маленькая RAM vs новые фичи: как мы повышаем детализацию Карт и сохраняем стабильность Чем богаче визуальное и информационное наполнение, тем выше требования к устройствам, на которых работает приложение. Улучшая пользовательский опыт с помощью новых технологий и более детальной картографии, мы сталкиваемся с постоянным ростом потребления ресурсов — прежде всего оперативной памяти (RAM). Наша задача — находить баланс между развитием продукта и сохранением его стабильной и быстрой работы на разных устройствах, включая самые бюджетные модели. Статья: https://habr.com/ru/companies/yandex/articles/961204/ Платформа: разработка

📺 Видео и подкасты за неделю @AppFiles(iOS En) Optimize your app's speed and efficiency(iOS En) Modern SwiftUI Callbacks using AsyncStream(iOS En) How hard can it be to send a postcard?(iOS En) Beyond Xcode(iOS En) Building Complex Scroll Animations - Custom Bottom Sheet Interaction(iOS En) Keychain Unlocked: Mastering Advanced Security for Smarter, Safer Apps(iOS En) SwiftUI Alert With Progress View(iOS En) iMessage Style Photo Picker Using SwiftUI(And Ru) ART Memory Management(And Ru) Kotlin и контекстно-ориентированное мышление(And Ru) VK Звонки в лесу: звоним в плохих сетях(And En) TheAndroidShow: live from Droidcon, with Agents in Android Studio, Android XR and more!(And En) Google Play Console: Streamlining workflows, from testing to growth(And En) Building for Samsung Galaxy XR, featuring Calm's blueprint to Android XR development(And En) Android XR #AskAndroid(And En) Explaining Google's Guide to App Architecture In Simple Terms(And En) FAB Menu In Material3 Expressive(And En) From Java to Kotlin: Mercedes-Benz.io’s Journey(And En) Merge Queue at Uber Scale(And En) From 25 Minutes to 2.5: Okta's Journey to Faster Builds(Crs Ru) Что не так с Dart и Flutter в 2025 году? (Crs Ru) KMP для ОС Аврора(Crs Ru) Backend-Driven UI как ответ на рост числа платформ(Dev Ru) Как устроена мобильная разработка сегодня(Dev Ru) Как вас взламывают через Open Source — DevSecOps и безопасная разработка Прошлогодние видео: • (iOS Ru) Как устроена библиотека AppMetrica(iOS Ru) Здесь куют Metal(iOS Ru) Как iOS-разработчику выжить на проекте с KMP?(And Ru) Android cookbook: готовим WebView правильно(And Ru) Kotlin Coroutines. Устройство и возможности использования(And Ru) Фреш на полке, фреш в стеке(Dev Ru) От натива до SDUI через гибрид

KMP Starter - шаблон кроссплатформенного приложения на KMP KMP Starter - современный, готовый к использованию шаблон приложен
KMP Starter - шаблон кроссплатформенного приложения на KMP KMP Starter - современный, готовый к использованию шаблон приложения на Kotlin Multiplatform с дизайном Material 3, утилитами и чистой архитектурой. Технический стек: Kotlin Multiplatform для кроссплатформенной разработки, Compose Multiplatform для UI, Material 3 как дизайн-система, Koin для инъекции зависимостей, Room в качестве локальной базы данных, DataStore для хранения настроек, корутины и Flow для асинхронного программирования, RevenueCat для покупок, MixPanel для аналитики, Kotlinx Serialization для сериализации JSON. KMP Starter на GitHub: https://github.com/DevAtrii/Kmp-Starter-Template Платформа: Android/кроссплатформа ⭐️: 51

SwiftUI Onboarding - онбординг, как в приложениях Apple SwiftUI Onboarding — это библиотека SwiftUI, которая реализует процесс онбординга, аналогичный приложениям Apple. Фичи: • Совместимость со Swift 6.0 — разработано в соответствии с новейшими стандартами Swift • Поддержка нескольких языков — 10 языков доступны по умолчанию • Доступность прежде всего — полная поддержка Dynamic Type и функций доступности • Широкие возможности настройки — гибкие возможности конфигурации • Кроссплатформенность — поддержка iOS и macOS • Современный SwiftUI — использует новейшие API и шаблоны SwiftUI • Автоматическое управление состоянием — встроенная интеграция с AppStorage • Светлый и тёмный режимы — полностью поддерживают как светлый, так и тёмный режимы SwiftUI Onboarding на GitHub: https://github.com/Sedlacek-Solutions/SwiftUI-Onboarding Платформа: iOS ⭐️: 302

Cahier - пример современного блокнота для Android Cahier ("блокнот" на французском) — это многофункциональное offline-first п
Cahier - пример современного блокнота для Android Cahier ("блокнот" на французском) — это многофункциональное offline-first приложение для ведения заметок, и призванное продемонстрировать лучшие практики современной разработки Android с использованием Kotlin, Jetpack Compose, Material 3 и набора библиотек Jetpack, таких как Ink API. Оно служит референсным примером Google для создания надежных, адаптивных и увлекательных приложений для повышения производительности на Android. Cahier на GitHub: https://github.com/android/cahier Платформа: Android ⭐️: 38

Анализ производительности для ускорения сборки в Xcode 2025 Изучив производительность сборки и потратив время на её улучшение
Анализ производительности для ускорения сборки в Xcode 2025 Изучив производительность сборки и потратив время на её улучшение там, где это возможно, вы увидите, что можете добиться прогресса несколькими небольшими шагами. Статья: https://apptractor.ru/info/articles/analiz-proizvoditelnosti-dlya-uskoreniya-sborki-v-xcode-2025.html Платформа: iOS

Текстовые эффекты с использованием TextRenderer в SwiftUI Статья раскрывает пользу TextRenderer в SwiftUI — мощный API, котор
Текстовые эффекты с использованием TextRenderer в SwiftUI Статья раскрывает пользу TextRenderer в SwiftUI — мощный API, который открывает полный контроль над визуальным отображением текста. Вместо стандартных модификаторов, вы можете рисовать текст «с нуля», применяя эффекты на уровне строки или отдельного глифа. В статье показаны примеры: постепенное затухание текста, пульсация строк с анимацией, эффект «скачущих» букв и применение фильтров, таких как размытие. Если хотите вывести UI-текст на новый уровень — читайте обязательно. Статья: https://www.createwithswift.com/text-effects-using-textrenderer-in-swiftui/ Платформа: iOS

Плавная анимация в Jetpack Compose — простое решение с animateDpAsState Благодаря Jetpack Compose логика анимации легко встраивается в декларацию пользовательского интерфейса. Всего несколько строк кода — и вы можете создавать плавные, адаптивные переходы, которые придадут вашему приложению премиальный и продуманный вид. Экспериментируем с animateDpAsState — одним из удобных API Compose, который делает переходы пользовательского интерфейса невероятно плавными. Цель была проста: анимировать вертикальное смещение кнопки в зависимости от положения нижнего экрана. Сниппет: Плавная анимация в Jetpack Compose — простое решение с animateDpAsState Благодаря Jetpack Compose логика анимации легко встраивается в декларацию пользовательского интерфейса. Всего несколько строк кода — и вы можете создавать плавные, адаптивные переходы, которые придадут вашему приложению премиальный и продуманный вид. Экспериментируем с animateDpAsState — одним из удобных API Compose, который делает переходы пользовательского интерфейса невероятно плавными. Цель была проста: анимировать вертикальное смещение кнопки в зависимости от положения нижнего экрана. Сниппет:
val targetY by animateDpAsState(
    targetValue = when (sheetState.currentValue) {
        SheetValue.Hidden -> 0.dp
        else -> {
            val currentOffset = with(density) {
                try { sheetState.requireOffset().toDp() }
                catch (_: Exception) { 0.dp }
            }

            (usableHeight - currentOffset)
                .coerceAtLeast(0.dp)
                .coerceAtMost(maxLift)
        }
    },
    label = "gps_button_animation"
)

Box(
    modifier = Modifier
        .offset(y = -targetY) // Negative offset moves the button up
) {
    // Button content here
}
Платформа: Android

От стороннего платёжного решения к собственному SDK: история RuStore Pay SDK Опыт показал: чтобы развиваться, важно брать кон
От стороннего платёжного решения к собственному SDK: история RuStore Pay SDK Опыт показал: чтобы развиваться, важно брать контроль в свои руки. Создание своего SDK потребовало много сил, но дало главное — гибкость, скорость и предсказуемость. Сегодня Pay SDK стабильно работает в сотнях приложений, помогает разработчикам зарабатывать и даёт пользователям удобный и понятный сценарий оплаты. Мы не останавливаемся: впереди новые методы оплаты, дополнительные инструменты монетизации и улучшения по запросам сообщества. Статья: https://habr.com/ru/companies/vk/articles/959520/ Платформа: Android

Eblan Launcher - быстрый настраиваемый и безопасный лаунчер для Android Большинство лаунчеров для Android — это всего лишь фо
Eblan Launcher - быстрый настраиваемый и безопасный лаунчер для Android Большинство лаунчеров для Android — это всего лишь форки Launcher3 от AOSP. Они часто забрасываются из-за своей сложности, что затрудняет участие новичков. Плюс многие из них до сих пор написаны на Java и используют устаревшие API. Автор этого проекта хотел попробовать что-то другое — разработать лаунчер для Android с нуля, приветствуя новых разработчиков и применяя надёжные принципы программирования и лучшие практики, чтобы проект оставался живым в долгосрочной перспективе. Его цель — дать всем возможность пользоваться мощными функциями, не жертвуя при этом конфиденциальностью. Eblan Launcher на GitHub: https://github.com/JackEblan/EblanLauncher Платформа: Android ⭐️: 158

Устранение задержек в Composable: 3 практических метода для создания плавного UI Редко возникает необходимость выполнять слож
Устранение задержек в Composable: 3 практических метода для создания плавного UI Редко возникает необходимость выполнять сложные задачи непосредственно в пользовательском интерфейсе, и большая часть обработки будет выполняться в ViewModel. Однако, если у вас много работы или вам не хватает опыта с Compose, вам может потребоваться выполнять значительный объём кода внутри Composable-объектов для отображения состояния в пользовательском интерфейсе. Надеюсь, когда придёт время, вы вспомните представленные здесь решения и сочтёте их полезными. Статья: https://apptractor.ru/info/articles/ustranenie-zaderzhek-v-composable-3-prakticheskih-metoda-dlya-sozdaniya-plavnogo-ui.html Платформа: Android

Jetliner XR Автор статьи подробно рассказывает о проекте Jetliner XR — демонстрации пространственных (spatial) возможностей н
Jetliner XR Автор статьи подробно рассказывает о проекте Jetliner XR — демонстрации пространственных (spatial) возможностей на платформе Android XR. С помощью 3D-модели самолёта (jetliner) демонстратор показывает, как можно создавать приложения с допол­ненной и смешанной реальностью, используя инструменты из набора Jetpack XR. Статья служит практическим путеводителем для разработчиков: она объясняет ключевые шаги, особенности архитектуры и возможные сложности при работе в пространственной среде. Jetliner XR — не просто демонстрация, а стартовая точка для экспериментов и прототипов. Статья: https://charlesmuchene.com/jetliner-xr Платформа: Android

AppleLoginAnimation - анимация как в логине Apple iCloud Это воссоздание анимации, которую вы видите на экране входа в iCloud, с использованием SwiftUI и SpriteKit. AppleLoginAnimation на GitHub: https://github.com/georgecartridge/AppleLoginAnimation Объяснение в X: https://x.com/georgecartridge/status/1982483221318357253 Платформа: iOS ⭐️: 59