AppFiles - Mobile Development
Открыть в Telegram
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Больше2 165
Подписчики
-324 часа
-27 дней
+430 день
Архив постов
👩💻 Как создать свой собственный оператор Flow и использовать его в архитектуре приложения?
🗓 12 августа в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Android Developer. Professional».
На открытом уроке вы научитесь писать свой собственный оператор Flow с нуля. Мы разберём, как интегрировать оператор в архитектуру приложения, а также научимся строить архитектуру для гибкости и масштабируемости.
Этот урок идеально подойдёт разработчикам уровня junior и выше, стремящимся углубить знания и научиться эффективно использовать Flow в своих проектах.
🔗 Ссылка на регистрацию: https://otus.pw/rJhI/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Курс "Генеративный ИИ для начинающих с JavaScript" от Microsoft
Microsoft уже выпустила несколько обучающих курсов по ИИ, таких как "AI Agents for Beginners", "Copilot Adventures" и "Generative AI for Beginners". В этом курсе "Генеративный ИИ для начинающих с JavaScript" от Microsoft, размещенном на GitHub, вы научитесь создавать приложения GenAI с использованием JavaScript.
Это новое предложение можно рассматривать как продолжение общего курса "ИИ-агенты для начинающих", но посвящённого JavaScript. Курс также заимствует повествовательный стиль исследования из курса "Copilot Adventures", оформленного в виде приключения с путешествием во времени. Суть курса заключается в том, что вы выбираете задачу, или так называемое приключение, и затем пишете код для его выполнения.
Таким образом, вы отправитесь в захватывающее приключение, путешествуя во времени и сотрудничая с величайшими умами истории. Вместе вы будете решать сложные задачи и изучать, как генеративный ИИ может произвести революцию в ваших JavaScript-приложениях.
Курс на GitHub: https://github.com/microsoft/generative-ai-with-javascript
Платформа: обучение
Meetingnotes - приложение для ведения заметок на встречах с ИИ. Оно записывает аудио и ведет транскрибирование, к текстам можно добавлять собственные примечания, есть функции формирования, поиска, различные шаблоны и т.п.
Meetingnotes на GitHub: https://github.com/owengretzinger/meetingnotes
Платформа: macOS/iOS
⭐️: 38
Первый взгляд на retain{}: новый способ сохранения состояния в Jetpack Compose
Появление
retain в Compose Runtime стало важным шагом к тому, чтобы сделать Compose самостоятельной UI-системой. Этот механизм закрывает разрыв между краткоживущим состоянием и длительным хранением в памяти, позволяя сохранять значения при переходах, не выходя за пределы composable-мирa.
Будь то сложная навигация, обработка конфигурационных изменений или управление временным UI-состоянием — retain предлагает новый многообещающий механизм восстановления состояния за пределами композиции непосредственно в рамках Compose Runtime.
Статья: https://apptractor.ru/info/articles/retain.html
Платформа: AndroidFlocon — это продвинутый инструмент отладки и проверки Android-приложений, созданный по мотивам Flipper.
Он позволяет разработчикам подключать Android-устройства к компьютеру и наблюдать, проверять и взаимодействовать с работающим мобильным приложением в режиме реального времени.
Flocon SDK - легковесная библиотека всего 140 Кб. Flocon Desktop — это проект Kotlin Multiplatform, структурированный аналогично Android-приложению с использованием ViewModels, Room, Ktor и корутин.
С Flocon вы получаете полный доступ к критически важным внутренним компонентам приложения, таким как
• сетевые запросы (http, изображения, grpc, graphql)
• локальное хранилище (sharedpref, базы данных, файлы приложения)
• аналитические события (и кастомные события)
• меню отладки, отображаемое на рабочем столе
• глубокие ссылки
И многое другое — без необходимости иметь root-доступ или выполнять утомительные команды ADB. Он разработан для ускорения процессов разработки, контроля качества и отладки.
Flocon на GitHub: https://github.com/openflocon/Flocon
Платформа: Android
⭐️: 119
Кто такой Mobile Platform Engineer
Mobile Platform Engineer — это инженер, который создает и поддерживает внутренние инструменты, библиотеки и архитектуры, позволяя мобильным командам быстрее и стабильнее выпускать продукт. Его «пользователи» — это другие разработчики, а задачей становится автоматизация процессов, стандартизация инфраструктуры и управление качеством, чтобы избавить команду от рутинных технических проблем.
Такая роль особенно востребована в больших командах, когда хаос, конфликты и технический долг замедляют релизы. Платформенный инженер не только пишет код, но и выстраивает коммуникации между командами, отвечает за безопасность, релизы, внедрение стандартов и успешные миграции — помогая всей организации развиваться быстрее и эффективнее.
Статья: https://www.mobilesystemdesign.com/blog/what-is-a-mobile-platform-engineer/
Платформа: разработка
Поставьте 👍, если хотите эту статью на русском!
Стриминг изменений с помощью Observations
Появление типа Observations знаменует собой значительное улучшение возможностей Swift по наблюдению за данными, особенно для разработчиков, использующих Swift Concurrency. Он стирает разрыв между реактивными обновлениями и современными асинхронными шаблонами, упрощая создание понятных, эффективных и отзывчивых пользовательских интерфейсов.
Статья: https://apptractor.ru/info/articles/observations.html
Платформа: iOS
🔥 Всё ещё сталкиваетесь с долгими релизами и ручной проверкой кода?
Приглашаем на открытый урок который поможет решить эти вопросы.
🗓 12 августа в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Kotlin Backend Developer. Professional».
На открытом уроке «Почему все переходят на Kotlin? Секреты успешной миграции с Java» мы покажем, как сократить время разработки на 30% и минимизировать риски NullPointerException.
Вы узнаете ключевые отличия Kotlin, пошаговый план миграции без переписывания проекта и лучшие практики корутин для асинхронности.
🦾 Представьте, что каждый новый модуль пишется быстрее, ошибок становится в три раза меньше, а вы получаете бесценный навык для современных бэкенд-проектов.
🔗 Ссылка на регистрацию: https://otus.pw/WFy9/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Все видео droidcon NYC 2025
Всего 61 видео. Все доступны на сайте DroidCon.
Сайт: https://www.droidcon.com/content/?filter_postyear=2025&filter_post_event_tag=droidcon-new-york
Платформа: Android
AsyncGraphics - это пакет Swift для редактирования изображений и видео с использованием async/await и Metal. С его помощью вы можете применять эффекты или изменять графику в реальном времени с помощью Metal, рисовать с помощью примитивов, осуществлять компоновку и верстку, встраивать графику во View, работать с камерой, писать свои Metal-шейдеры на высоком уровне без ручной настройки пайплайна и т.д.
AsyncGraphics на GitHub: https://github.com/heestand-xyz/AsyncGraphics
Платформа: iOS
⭐️: 380
👩💻 Хотите научиться создавать полноценные Android-приложения с интеграцией API?
Приглашаем на открытый урок, создадим приложение «Фото дня»
🗓 05 августа в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Android Developer. Professional».
На вебинаре:
- Разберемся с API сервера для скачивания фотографии и описания к ней
- Сверстаем простой экран для отображения данных
- Пропишем выход в интернет для скачивания данных
- Пропишем бизнес-логику для отображения данных на экране приложения
🔗 Ссылка на регистрацию: https://otus.pw/7b9V/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
📺 Видео и подкасты за неделю на @AppFiles
•
(iOS En) Custom Liquid Morphing Menu Effect
• (iOS En) Create Beautiful Liquid Glass: iOS 26 & SwiftUI in Figma & Xcode 26
• (iOS En) Supercharge Your SwiftUI App with SF Symbols & Emoji Pickers
• (iOS En) Liquid Glass Morphing Effects Using SwiftUI
• (And Ru) Нюансы работы Android Runtime в сравнении с HotSpot VM
• (And Ru) Как Google тайно изменил Android на глазах у всех: Project Mainline
• (And En) WearOS Material 3 shape morphing
• (And En) Compose Prototyping in Kotlin Notebooks
• (And En) Writing Your Third Kotlin Compiler Plugin
• (And En) Kotlin compatibility crash course
• (And En) Compose draw speedrun - reloaded
• (And En) Gradle 9.0.0 is Live - What's new? Configuration Cache, Java 17, Kotlin 2, and more
• (And En) Gradle Build Cache - Deliver faster by doing less
• (Crs En) The Easing Symphony: AnimationSpec in detail
• (Crs En) Using Previews with Compose Multiplatform
• (Dev Ru) Запись Avito Mobile Meetup
• (Dev Ru) Как работает синтез речи: от робота до живого голоса — синтез речи, TTS
• (Dev En) What is a Mobile Platform Engineer? 4 Years of Real Experience
• (Mrk Ru) Заработок на AI-фоторедакторах и аватарах. iOS. Подписки. Разбор ниши
Прошлогодние видео:
• (iOS Ru) Почему Metal перестал быть страшным
• (iOS Ru) Локализация iOS-приложения за 1$ в 2024 году
• (And Ru) Нужно ли учить Java для Android-разработки в 2024
• (Vrs Ru) KMP на ОС Аврора: проблемы и пути их решения
• (Dev Ru) Алгоритмическая сессия на собеседовании (все собеседования)
• (Dev Ru) Автоматическая генерация верстки под Server-driven UI из макетов Figma
• (Dev Ru) Учимся договариваться о деньгах — Офферы, Зарплаты, ПовышениеYA Habit Tracker - простой, но современный трекер привычек для Android. Технологии: Compose, Hilt, Room, Reorderable и Navigation 3.
YA Habit Tracker на GitHub: https://github.com/zaved707/Yet-Another-Habit-Tracker
Платформа: Android
⭐️: 22
Как создавать BLE-приложения под Android — личный опыт
Bluetooth Low Energy (BLE) — это энергоэффективный протокол передачи данных, который подходит для устройств с малым энергопотреблением, таких как фитнес-трекеры или датчики. В основе BLE лежит протокол GATT, организующий обмен данными через сервисы и характеристики. Разработка BLE-приложений на Android сопряжена с особенностями: нестабильностью соединений, сложным управлением правами доступа и особенностями разных устройств.
Для успешной реализации важно хорошо понимать GATT, уделять особое внимание энергопотреблению и тестировать приложение в реальных условиях. BLE требует асинхронного подхода и постоянной адаптации к аппаратным особенностям, но при правильном подходе обеспечивает надежную и эффективную связь для IoT-устройств с небольшим объемом передаваемых данных.
Статья: https://medium.com/codetodeploy/building-ble-apps-in-android-a-developers-journey-c1ecc04d6bdf (как читать ©)
Платформа: Android
Новый взгляд на Default Actor Isolation в Swift 6.2
После включения строгой проверки конкурентности многие разработчики обнаружили, что их рабочий однопоточный код начинает выбрасывать предупреждения и ошибки — несмотря на явную работу с MainActor. Это происходило потому, что до Swift 6.2, если у функции или типа не было указания области изоляции (isolation domain), компилятор рассматривал их как "non-isolated" (можно использовать конкуррентно). Для железной гарантии компилятор требовал отдельные аннотации, даже если весь модуль работал на MainActor.
Default Actor Isolation (SE-0466) теперь позволяет установить область изоляции по умолчанию на уровне Target — чаще всего это будет MainActor. Весь код без явных аннотаций автоматически будет считаться изолированным к MainActor, а ненужных деклараций станет меньше. Default Actor Isolation не только облегчает жизнь при строгой проверке конкурентности, но и подталкивает к модульному проектированию — ведь для разных Targets можно устанавливать разные области изоляции.
Итог: Default Actor Isolation в Swift 6.2 снижает «болезненность» внедрения строгой конкурентности, автоматизируя то, что раньше требовало от разработчиков рутинной работы. Однако для сложных или гибридных сценариев все еще надо помнить о нюансах и ограничениях новых опций.
Статья: https://fatbobman.com/en/posts/default-actor-isolation/
Платформа: iOS
Функциональное программирование в Android. Побочные эффекты и ELM-архитектура
В четвёртой статье цикла про функциональное программирование в Android мы соберём знания, полученные в предыдущих частях цикла. А ещё применим их на практике — соберём скелет приложения для медитации.
Статья: https://habr.com/ru/companies/dododev/articles/927100/
Платформа: Android
Навигация SwiftUI: объяснение NavigationStack, Deep Linking и TabView
SwiftUI значительно усовершенствовал навигацию во фреймворке с появлением NavigationStack и переходом от привычного NavigationView. Теперь управление навигацией строится не вокруг представлений (views), а вокруг значений (values). Важно понять: NavigationStack не просто переименованная версия NavigationView, а мощный инструмент для построения сложных сценариев переходов между экранами. Вместе с NavigationPath разработчик получает полный контроль над навигацией, включая программное перемещение по стеку и поддержку deep linking — обработки ссылок, ведущих пользователя сразу к нужному экрану внутри приложения. Такой подход особенно полезен для сложных приложений с множеством состояний и переходов между экранами.
Помимо NavigationStack, в статье отдельное внимание уделено TabView — классическому решению для построения таб-ориентированных приложений. Современная архитектура SwiftUI позволяет объединять TabView с NavigationStack, обеспечивая сохранение навигационного состояния внутри каждой вкладки. Это упрощает реализацию профессиональных и масштабируемых интерфейсов с поддержкой глубоких переходов (deep linking) и минимизацией типичных “подводных камней” SwiftUI-навигирования. Понимание этих инструментов экономит часы на отладку и делает код более структурированным и поддерживаемым.
Статья: https://swift-pal.com/swiftui-navigation-navigationstack-deep-linking-and-tabview-explained-0f905bbb20d4 (как читать ©)
Платформа: iOS
PokedexUI - это пример современного приложения на SwiftUI. Оно интегрируется с PokeAPI для получения и отображения данных о покемонах, используя чистую реактивную архитектуру с использованием async/await и Swift Concurrency.
Этот пример приложения демонстрирует:
• Сеточный пользовательский интерфейс с LazyVGrid и плавной прокруткой;
• Асинхронную загрузку изображений и извлечение доминирующего цвета;
• Чистую архитектуру Model + View + ViewModel (MVVM) с SOLID;
• Современную сетевую абстракцию с использованием async/await и фреймворка Networking;
• Настраиваемые переходы и эффекты согласованной геометрии;
• Композицию представлений с использованием protocol-oriented моделей представлений;
• Поиск и фильтрацию покемонов;
• Бесконечную прокрутку.
Приложение отображает прокручиваемую сетку покемонов, каждый из которых имеет динамически извлекаемый доминирующий цвет на основе его спрайта. Также приложение отображает список игровых предметов с возможностью поиска.
PokedexUI на GitHub: https://github.com/brillcp/PokedexUI
Платформа: iOS
⭐️: 70
Под капотом Android: как создаются, управляются и восстанавливаются процессы приложений в системе
Эта статья родилась из практической задачи — понять, как устроен Android в общем и целом, как он сохраняет и восстанавливает состояния приложения (помимо БД и файлов) при внезапном завершении процесса, как управляет процессами. Знание этих механизмов критично для:
• Разработчиков, создающих свои ОС на базе AOSP.
• Понимания жизненного цикла приложений на глубоком уровне.
• Корректной реализации сохранения/восстановления состояния (Bundle, ViewModel с SavedStateHandle).
Статья: https://habr.com/ru/companies/psb/articles/931712/
Платформа: Android
Liquid Glass - эффект "жидкого стекла" для Android Jetpack Compose. Библиотека находится в стадии альфа-версии, каждый API может быть изменен, используйте ее на свой страх и риск.
Liquid Glass на GitHub: https://github.com/Kyant0/AndroidLiquidGlass
Платформа: Android
⭐️: 624
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
