AppFiles - Mobile Development
Kanalga Telegram’da o‘tish
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Ko'proq ko'rsatish2 165
Obunachilar
-324 soatlar
-27 kunlar
+430 kunlar
Postlar arxiv
Шифруем базу данных Room в Android с помощью SQLCipher
Локальные базы данных могут стать настоящей золотой жилой для злоумышленников. Именно поэтому шифрование базы данных Room — это важный шаг к защите пользовательских данных. В этой статье я расскажу вам о готовом к использованию и безопасном подходе к шифрованию базы данных Room с помощью SQLCipher, Android Keystore и некоторых правил криптографической гигиены.
Статья: https://apptractor.ru/info/articles/encrypt-your-room-database.html
Платформа: Android
Взгляд на мой процесс отладки (с реальными примерами)
Я работаю iOS-разработчиком уже более 7 лет и за это время работал над множеством приложений разного размера и сложности. Хотя проекты различались по тематике и технологическому стеку, одно оставалось неизменным — необходимость диагностики и исправления ошибок.
Знание того, как отлаживать приложение, и знание или хотя бы знакомство с имеющимися в вашем распоряжении инструментами — это навык, который сэкономит вам много времени и позволит быстрее перейти к следующей задаче. Это стало для меня особенно важно при работе над собственными инди-приложениями, поскольку ресурсы и время ограничены, и мне нужно использовать их максимально эффективно, при этом ставя на первое место удобство пользователей.
В этой статье я поделюсь несколькими примерами реальных ошибок, которые я недавно исправил в своих приложениях, и покажу вам весь процесс отладки в каждом случае.
Статья: https://apptractor.ru/info/articles/vzglyad-na-moy-protsess-otladki-s-realnymi-primerami.html
Платформа: iOS
Работа с телевизионными каналами на Android TV: учимся использовать TIF в 2025. Стартовый гайд для разработчиков
При создании приложения под Android TV у вас наверняка могут возникнуть вопросы: как получить доступ к списку телевизионных каналов и как организовать у себя трансляцию? В этом материале я отвечу на них и расскажу про взаимодействие с телевизором с помощью Android TV Input Framework (TIF), а также получение через него списка доступных каналов. По сути это первый шаг к созданию полноценного TV-приложения.
Статья: https://habr.com/ru/companies/ru_mts/articles/928726/
Платформа: Android
Рисуем чайник в Metal
Сегодня научимся рендерить 3D модель чайника при помощи Metal API. В процессе познакомимся с устройством модели, настроим пайплайн Metal и напишем шейдеры.
Статья: https://habr.com/ru/articles/930894/
Платформа: iOS
Position - это готовая к Swift 6 библиотека определения местоположения на основе акторов для iOS и macOS с современными async/await API и поддержкой AsyncSequence.
Главные преимущества: полная поддержка параллелизма Swift 6 с изоляцией акторов, современный async/await, реактивные обновления местоположения, направления и авторизации, потокобезопасность по умолчанию с поддержкой параллелизма Swift, настраиваемая точность определения местоположения и т.п.
Position на GitHub: https://github.com/piemonte/Position
Платформа: iOS
⭐️: 87
10 лучших шаблонов Jetpack Compose, которые должен знать каждый Android-разработчик
Независимо от того, являетесь ли вы поклонником Compose или всё ещё пытаетесь понять, что рекомпозиции — это не какие-то штуки из мультивселенной Marvel, эти шаблоны облегчат вам жизнь.
1. Подъем состояния
2. Однонаправленный поток данных (UDF)
3. Слотовые API
4. Интеграция ViewModel + StateFlow
5. Stateless vs Stateful композабл
6. Scaffold для макетов
7. DerivedStateOf для производной UI-логики
8. Помните о Saveable
9. Ключевые эффекты с LaunchedEffect
10. Кастомные модификаторы для согласованности
Статья: https://apptractor.ru/info/articles/10-jetpack-compose-patterns.html
Платформа: Android
Преобразуйте свой iOS-код с помощью принципов SOLID: практическое руководство
Принципы SOLID — это набор правил, которые каждый разработчик должен знать и применять при написании кода, потому что они уменьшают «запах кода», делают его более читабельным и помогают масштабировать проект в любое время с минимальным количеством ошибок.
Статья: https://apptractor.ru/info/articles/ios-solid.html
Платформа: iOS
TimelineView - синхронизированный компонент визуализации двухмерной временной шкалы для Android со встроенной поддержкой Compose.
TimelineView обеспечивает синхронизированную прокрутку с двумя представлениями контента, которые движутся в противоположных направлениях. Первоначально разработанный для визуализации звуковых волн, теперь он является универсальным компонентом, идеально подходящим для любых приложений, основанных на временной шкале.
TimelineView можно использовать для редактирования аудио и видео, для визуализации прогресса, чтения, обработки данных.
TimelineView на GitHub: https://github.com/ferPrieto/TimelineView
Платформа: Android
⭐️: 76
Погружение в разработку плагинов для Android Studio
Если вы всегда хотели написать плагин для Android Studio, но боялись спросить, то вот начальная статья о том, как это можно сделать. В ней рассматриваются важные шаги подготовки, включая настройку Gradle и управление версиями, а также подключение встроенных плагинов IntelliJ Idea и добавление поддержки K2 для плагинов Kotlin. Автор демонстрирует процесс разработки на двух практических примерах: создание настраиваемого диалога для запуска UI-тестов с выбором параметров через терминал Studio и добавление возможности запуска UI-тестов прямо из Gutter редактора, что значительно упрощает рутинные задачи для разработчиков больших Android-проектов.
Статья: https://habr.com/ru/companies/domclick/articles/928744/
Платформа: Android
📺 Видео и подкасты за неделю на @AppFiles
•
(iOS Ru) Инструменты для мониторинга производительности iOS-приложений
• (iOS En) Resizable Header Scroll View Using SwiftUI
• (iOS En) Custom Chat Bubbles with SwiftUI
• (iOS En) Foundation Models Framework PART 2 - Tool Calling
• (iOS En) Permissions OnBoarding using SwiftUI
• (iOS En) How to Obfuscate API Keys in Your Swift Apps Step by Step with ConfidentialKit
• (iOS En) Google Chrome's Pull & Swipe Gesture in SwiftUI
• (And Ru) Navigation 3 для Compose: что нового и зачем это нужно?
• (And En) Enrich your app with live updates and widgets
• (And En) Prepare your Play app for devices with 16 KB page sizes
• (And En) Google I/O Special with Mat Velloso and Logan Kilpatrick
• (And En) The wonders of smart casting
• (And En) Coroutine Debugging in IntelliJ IDEA
• (And En) Don't forget your values!
• (And En) Building Inclusive Jetpack Compose Apps: Leveraging Kotlin and the Accessibility Scanner
• (Crs En) How to Implement Pagination In Compose Multiplatform (KMP)
• (Crs En) Leveraging KMP for navigation in the McDonalds App
• (Crs En) State of Kotlin Wasm and Compose Multiplatform for Web on Modern Browsers
• (Crs En) Kobweb, Kotlin & Cross-Platform chat with David Herman
• (Dev Ru) Как жить с легаси?
• (Dev Ru) IT в космосе — Почему космосу не нужны обычные программисты
• (Dev En) Creating, building, and releasing Gemma, Google's open model family
• (Dev En) Learn TypeScript – Crash Course for Beginners
• (Dev En) Data Structure and Algorithm Patterns for LeetCode Interviews – Tutorial
• (Mrk Ru) Заработок на Habit Tracker. iOS. Подписки. Разбор ниши
Прошлогодние видео:
• (iOS Ru) Разбор SwiftUI проекта стартапа с AI на борту
• (iOS Ru) Вам не нужно хранилище в приложении
• (And Ru) Роман Елизаров про Kotlin, корутины и работу в Jetbrains
• (Crs Ru) Особенности сервиса Яндекс Про и будущее Flutter
• (Dev Ru) Личный бренд разработчикаSwiftUI Backports - библиотека упрощает использование новейших модификаторов SwiftUI, подобных тем, что появились в iOS 26, сохраняя при этом поддержку более старых версий iOS. С помощью простого модификатора .backport вы можете писать современный код SwiftUI, не оборачивая каждый новый API в проверки #available. SwiftUI Backports лёгкий, готов к использованию и сохраняет ваш код пользовательского интерфейса чистым и готовым к будущему.
SwiftUI Backports на GitHub: https://github.com/superwall/iOS-Backports
Платформа: iOS
⭐️: 144
Курс "Шейдеры Metal для SwiftUI"
Курс рассчитан на разработчиков без опыта в графике: объясняет с нуля, начиная с GPU‑основ и математических концепций, заканчивая готовыми эффектами. В курсе используется принцип «от простого к сложному»: сначала фундаментальные темы, затем процедурные узоры, шум, плавные переходы, текстуры, и с временными GLS‑эффектами. Особое внимание — на интеграцию шейдера в SwiftUI, реальную обратную связь и создание рабочего примера.
Анонс: https://apptractor.ru/learn/kurs-sheydery-metal-dlya-swiftui.html
Платформа: iOS
Как избежать распространенных ошибок при разработке Gradle-плагинов
Разработка Gradle-плагинов — мощный, но не самый очевидный процесс, особенно для начинающих. В статье автор делится типичными ошибками, с которыми сталкиваются при создании плагинов: от неправильного использования
Project.afterEvaluate до хрупкой конфигурации через project.properties. Эти ошибки могут привести к непредсказуемому поведению и сложным багам.
Особое внимание уделено рекомендациям: использовать API Property, Provider, ObjectFactory, чтобы обеспечить ленивую и безопасную конфигурацию; избегать доступа к пользовательским параметрам напрямую; а также — писать функциональные тесты, эмулирующие реальное использование плагина. Если вы пишете собственный Gradle-плагин или планируете начать — материал обязателен к прочтению.
Статья: https://itnext.io/avoiding-common-mistakes-in-gradle-plugin-development-22d2e9e8e1ad
Платформа: Android🤖 Ваш подход к разработке устарел? Тратите время на функции, которые давно готовы в сторонних сервисах?
Приглашаем на открытый урок «Стиль разработки 2020-х и среда окружения современного бэкенд-приложения».
🗓 30 июля в 19:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Kotlin Backend Developer. Professional».
На открытом уроке вы узнаете, как поменялся стиль разработки в 2020-х и какие компоненты уже не нужно писать самому. Поговорим о том, как в современном бэкенде выполнять только ключевую бизнес-логику.
🔥Вы получите готовые инфраструктурные файлы, которые упростят создание приложений на Kotlin и любых других языках.
🔗 Ссылка на регистрацию: https://otus.pw/2VL8/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Анализ инцидента при миграции Core Data: скрытые ловушки, которые мы упускаем из виду
В отличие от некоторых фреймворков с открытым исходным кодом, Core Data и SwiftData, несмотря на официальную поддержку Apple, часто оставляют разработчиков беззащитными перед возникающими ошибками из-за своей природы «чёрного ящика», что затрудняет быстрое выявление проблем и поиск эффективных решений. В этой статье описывается инцидент с тайм-аутом при запуске приложения, вызванный миграцией модели Core Data, предлагается решение и проводится глубокий анализ основных причин.
Статья: https://apptractor.ru/info/articles/core-data-migration.html
Платформа: iOS
Преобразуйте свой iOS-код с помощью принципов SOLID: практическое руководство
Поставьте 👍, если хотите эту статью на русском!
Если вы хотите писать более чистый, масштабируемый и сопровождаемый код для iOS, стоит обратить внимание на принципы SOLID. В своей статье автор наглядно показывает, как применять эти принципы на практике — от разделения ответственности до внедрения зависимостей. На простых примерах с UIViewController и менеджерами сетевых запросов он объясняет, как избежать "god objects" и сделать архитектуру проекта гибкой.
Автор выделяет каждый принцип (S, O, L, I, D) с отдельным примером, делая акцент на их роли в реальной разработке. Особенно полезно, как он показывает замену конкретных "плохих" решений более элегантными — например, внедрение протоколов вместо жёсткой зависимости от конкретных классов. Если вы хотите вывести свой Swift-код на новый уровень — статья обязательна к прочтению.
Статья: https://medium.com/@mena.yousry94/transform-your-ios-code-with-solid-principles-a-practical-guide-6adbefe74a81
Платформа: iOS
Шаблон корутин Kotlin, который делает приложения Android в 5 раз более отзывчивыми
Команда автора столкнулась с серьёзными проблемами производительности и отзывчивости Android‑приложения: жалобы на фризы, высокое число ANR‑ошибок и падение рейтинга до 2.1 звезды. Внедрение паттерна «структурированного параллелизма» с использованием
Flow позволило за две недели повысить отзывчивость в пять раз: ANR уменьшились на 94 %, удержание пользователей выросло на 40 %, а рейтинг в Play Market поднялся до 4.6 звезды.
Главная идея — отказ от «адского» управления потоками и колбэков в пользу четкой архитектуры на базе корутин: lifecycleScope и viewModelScope обеспечивают автоматическое управление временем жизни, Flow управляет потоками данных, а структурированная конкурентность упрощает отмену и обработку ошибок. В результате код стал более читабельным, устойчивым и масштабируемым — особенно при параллельных сетевых запросах и операциях с БД.
Статья: https://medium.com/@sohail_saifi/the-kotlin-coroutine-pattern-that-makes-android-apps-5x-more-responsive-389923fbf36c (©)
Платформа: AndroidFloatingTabBar - плавающая панель вкладок Jetpack Compose, имитирующая поведение панели вкладок Liquid Glass в iOS 26. Есть два состояния (свернутое и развернутое), настраиваемое поведение при прокрутке, добавление кастомных аксессуаров (например, медиаплеера), которые адаптируются к обоим состояниям, настраиваемые цвета, формы и размеры.
FloatingTabBar на GitHub: https://github.com/elyesmansour/compose-floating-tab-bar
Платформа: Android
⭐️: 70
Начните повышать безопасность своего Android-приложения уже сегодня
Когда дело доходит до разработки мобильных приложений, безопасность может казаться проблемой кого-то другого… но это не так. Как разработчики, мы не всегда имеем опыт в криптографии или информационной безопасности, но мы на переднем крае защиты пользовательских данных. Создаёте ли вы финтех-приложение или простой инструмент для повышения производительности, эти рекомендации помогут снизить риски и укрепить доверие.
Статья: https://apptractor.ru/info/articles/nachnite-povyshat-bezopasnost-svoego-android-prilozheniya-uzhe-segodnya.html
Платформа: Android
Распознаем текст на изображении с помощью фреймворка Vision
Мы рассмотрим, как использовать машинное обучение для обнаружения и определения местоположения текста на изображении с помощью фреймворка Vision. Фреймворк Vision может гораздо больше, чем просто поиск текста на изображении. Он также способен изолировать определённые области на изображениях, отслеживать объекты в последовательности изображений, определять положение рук и тела и многое другое.
Статья: https://apptractor.ru/info/articles/raspoznaem-tekst-na-izobrazhenii-s-pomoschyu-freymvorka-vision.html
Платформа: iOS
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
