ar
Feedback
AppFiles - Mobile Development

AppFiles - Mobile Development

الذهاب إلى القناة على Telegram

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

إظهار المزيد
2 165
المشتركون
-124 ساعات
لا توجد بيانات7 أيام
+130 أيام
أرشيف المشاركات
Распутываем навигацию SwiftUI Если бы SwiftUI был парком развлечений, навигация была бы домом с привидениями — сначала захват
Распутываем навигацию SwiftUI Если бы SwiftUI был парком развлечений, навигация была бы домом с привидениями — сначала захватывающе, но быстро понимаешь, что не знаешь, как из него выбраться. Apple подарила нам NavigationView, а затем деликатно похлопала по плечу, выпустив новенький блестящий NavigationStack. Добавьте NavigationPath, onOpenURL и всеми любимый загадочный ящик — диплинкинг — и теперь даже опытные iOS-разработчики выглядят как тот мем с парнем, вокруг которого парят математические уравнения. Но не волнуйтесь. Создаёте ли вы простое приложение с несколькими экранами или проектируете динамический поток с URL-адресами и кастомными типами данных, SwiftUI действительно может сделать простую навигацию. Как только вы разберётесь с инструментами (и будете знать, когда с ними не стоит бороться), всё станет на свои места. Статья: https://apptractor.ru/info/articles/rasputyvaem-navigatsiyu-swiftui.html Платформа: iOS

Игра в SPM На Хабре уже немало статей об опыте перехода на Swift Package Manager — успешных и не очень. В моем случае переезд
Игра в SPM На Хабре уже немало статей об опыте перехода на Swift Package Manager — успешных и не очень. В моем случае переезд прошел удачно, но на каждом шагу возникали проблемы, которые было сложно нагуглить или вообще найти решения. Поэтому я решил собрать все накопленные знания и поделиться ими в этой статье, надеясь, что другие разработчики сэкономят кучу времени. Статья: https://habr.com/ru/articles/857364/ Платформа: iOS

Swipe to Pay, или Как мы переписали слайдер оплаты на Compose Помните компонент MotionLayout? С его помощью можно просто реал
Swipe to Pay, или Как мы переписали слайдер оплаты на Compose Помните компонент MotionLayout? С его помощью можно просто реализовывать сложные анимации, в том числе и основанные на жестах. У нас в Дринките был компонент, сделанный на MotionLayout — слайдер быстрой оплаты в меню. Он появляется, когда пользователь добавляет продукты в корзину. С помощью этого компонента можно быстро оплатить свой заказ или перейти в корзину, тапнув по нему. Для того, чтобы анимировать его, MotionLayout подходил отлично. Но шло время, баги копились, поддерживать элемент становилось всё сложнее, да и слайдер нуждался в новом функционале. Статья: https://habr.com/ru/companies/dododev/articles/933278/ Платформа: Android

👩‍💻 Как создать свой собственный оператор Flow и использовать его в архитектуре приложения? 🗓 12 августа в 20:00 МСК 🆓 Бе
👩‍💻 Как создать свой собственный оператор Flow и использовать его в архитектуре приложения? 🗓 12 августа в 20:00 МСК 🆓 Бесплатно. Урок в рамках старта курса «Android Developer. Professional». На открытом уроке вы научитесь писать свой собственный оператор Flow с нуля. Мы разберём, как интегрировать оператор в архитектуру приложения, а также научимся строить архитектуру для гибкости и масштабируемости. Этот урок идеально подойдёт разработчикам уровня junior и выше, стремящимся углубить знания и научиться эффективно использовать Flow в своих проектах. 🔗 Ссылка на регистрацию: https://otus.pw/rJhI/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Курс "Генеративный ИИ для начинающих с JavaScript" от Microsoft Microsoft уже выпустила несколько обучающих курсов по ИИ, так
Курс "Генеративный ИИ для начинающих с 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 - приложение для ведения заметок на встречах с ИИ. Оно записывает аудио и ведет транскрибирование, к текстам можно добавлять собственные примечания, есть функции формирования, поиска, различные шаблоны и т.п. Meetingnotes на GitHub: https://github.com/owengretzinger/meetingnotes Платформа: macOS/iOS ⭐️: 38

Первый взгляд на retain{}: новый способ сохранения состояния в Jetpack Compose Появление retain в Compose Runtime стало важны
Первый взгляд на retain{}: новый способ сохранения состояния в Jetpack Compose Появление retain в Compose Runtime стало важным шагом к тому, чтобы сделать Compose самостоятельной UI-системой. Этот механизм закрывает разрыв между краткоживущим состоянием и длительным хранением в памяти, позволяя сохранять значения при переходах, не выходя за пределы composable-мирa. Будь то сложная навигация, обработка конфигурационных изменений или управление временным UI-состоянием — retain предлагает новый многообещающий механизм восстановления состояния за пределами композиции непосредственно в рамках Compose Runtime. Статья: https://apptractor.ru/info/articles/retain.html Платформа: Android

Flocon — это продвинутый инструмент отладки и проверки Android-приложений, созданный по мотивам Flipper. Он позволяет разрабо
Flocon — это продвинутый инструмент отладки и проверки 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 — это инженер, который создает и поддерживает внутренние инструме
Кто такой Mobile Platform Engineer Mobile Platform Engineer — это инженер, который создает и поддерживает внутренние инструменты, библиотеки и архитектуры, позволяя мобильным командам быстрее и стабильнее выпускать продукт. Его «пользователи» — это другие разработчики, а задачей становится автоматизация процессов, стандартизация инфраструктуры и управление качеством, чтобы избавить команду от рутинных технических проблем. Такая роль особенно востребована в больших командах, когда хаос, конфликты и технический долг замедляют релизы. Платформенный инженер не только пишет код, но и выстраивает коммуникации между командами, отвечает за безопасность, релизы, внедрение стандартов и успешные миграции — помогая всей организации развиваться быстрее и эффективнее. Статья: https://www.mobilesystemdesign.com/blog/what-is-a-mobile-platform-engineer/ Платформа: разработка Поставьте 👍, если хотите эту статью на русском!

Стриминг изменений с помощью Observations Появление типа Observations знаменует собой значительное улучшение возможностей Swi
Стриминг изменений с помощью 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_po
Все видео 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. С его помощью вы
AsyncGraphics - это пакет Swift для редактирования изображений и видео с использованием async/await и Metal. С его помощью вы можете применять эффекты или изменять графику в реальном времени с помощью Metal, рисовать с помощью примитивов, осуществлять компоновку и верстку, встраивать графику во View, работать с камерой, писать свои Metal-шейдеры на высоком уровне без ручной настройки пайплайна и т.д. AsyncGraphics на GitHub: https://github.com/heestand-xyz/AsyncGraphics Платформа: iOS ⭐️: 380

👩‍💻 Хотите научиться создавать полноценные Android-приложения с интеграцией API? Приглашаем на открытый урок, создадим прил
👩‍💻 Хотите научиться создавать полноценные 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 и Naviga
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-приложения под 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 После включения строгой проверки конкурентности многие разработчики обнар
Новый взгляд на 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. Побочные эффекты и ELM-архитектура В четвёртой статье цикла про функциональное программирование в Android мы соберём знания, полученные в предыдущих частях цикла. А ещё применим их на практике — соберём скелет приложения для медитации. Статья: https://habr.com/ru/companies/dododev/articles/927100/ Платформа: Android

Навигация SwiftUI: объяснение NavigationStack, Deep Linking и TabView SwiftUI значительно усовершенствовал навигацию во фрейм
Навигация 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