# мобильные приложения

Published articles for мобильные приложения.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Как мы мигрируем навигацию на Compose в Android-приложениях с 400+ экранами

DevFeed: [Как мы мигрируем навигацию на Compose в Android-приложениях с 400+ экранами](<https://devfeed.tech/articles/compose-android-400-30667.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/hh/articles/1044842/>)

Author: horseunnamed (hh.ru)

Published: 2026-06-09T08:00:40Z

Content type: article

Language: ru

Sources: [HeadHunter RU](<https://devfeed.tech/sources/headhunter-ru.md>)

Topics: [Compose](<https://devfeed.tech/topics/compose.md>), [Android](<https://devfeed.tech/topics/android.md>), [ui](<https://devfeed.tech/topics/ui.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [compose](<https://devfeed.tech/tags/compose.md>), [hh-ru](<https://devfeed.tech/tags/hh-ru.md>), [migration](<https://devfeed.tech/tags/migration.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [modo](<https://devfeed.tech/tags/modo.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>), [tag-08a48a9394c3](<https://devfeed.tech/tags/tag-08a48a9394c3.md>), [tag-ae979152fd5d](<https://devfeed.tech/tags/tag-ae979152fd5d.md>), [tag-f538878e20ff](<https://devfeed.tech/tags/tag-f538878e20ff.md>), [ui](<https://devfeed.tech/tags/ui.md>), [vj](<https://devfeed.tech/tags/vj.md>)

### AI overview

An Android tech lead at hh.ru describes the ongoing migration of two Android applications from Fragment-based navigation toward a Compose-first approach. The article explains the scale of the migration, the hierarchy of navigation containers, nested navigation flows, and multistack navigation between main application sections.

### Source excerpt

Привет, Хабр! Меня зовут Константин Дубинко, я -- Android-техлид в hh.ru. Сейчас мы заканчиваем большой переезд навигации в двух Android-приложениях -- для соискателей и работодателей. В этой статье я покажу, как у нас там устроена навигация, почему мы решили отказаться от Fragment-навигации и как превратили хаотичную миграцию с "островками" новой архитектуры в управляемый процесс с метриками и понятным планом работ. Заодно расскажу, какие решения сработали, какие -- нет, и что я сделал бы иначе, если бы начинал заново. Читать далее

## Укрощаем асинхронный код с помощью async/await

DevFeed: [Укрощаем асинхронный код с помощью async/await](<https://devfeed.tech/articles/async-await-30683.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/hh/articles/904506/>)

Author: McDee (hh.ru)

Published: 2025-04-29T06:50:38Z

Content type: tutorial

Language: ru

Sources: [HeadHunter RU](<https://devfeed.tech/sources/headhunter-ru.md>)

Topics: [async/await](<https://devfeed.tech/topics/async-await.md>), [async](<https://devfeed.tech/topics/async.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Swift](<https://devfeed.tech/topics/swift.md>)

Tags: [async](<https://devfeed.tech/tags/async.md>), [await](<https://devfeed.tech/tags/await.md>), [ios](<https://devfeed.tech/tags/ios.md>), [ios-92ecabba3495](<https://devfeed.tech/tags/ios-92ecabba3495.md>), [ios-development](<https://devfeed.tech/tags/ios-development.md>), [swift](<https://devfeed.tech/tags/swift.md>), [tag-218f4e01a540](<https://devfeed.tech/tags/tag-218f4e01a540.md>), [tag-7b7ea8dda2d4](<https://devfeed.tech/tags/tag-7b7ea8dda2d4.md>), [tag-ae979152fd5d](<https://devfeed.tech/tags/tag-ae979152fd5d.md>), [tag-f538878e20ff](<https://devfeed.tech/tags/tag-f538878e20ff.md>)

### AI overview

This Russian-language tutorial explains async/await for asynchronous and multithreaded programming in iOS applications with Swift. It introduces the core concepts and compares async/await with GCD, highlighting code readability and error handling.

### Source excerpt

Привет! Меня зовут Андрей Максимкин, я iOS-разработчик в hh. Мы в команде активно используем async/await подход при написании нового кода, а также активно применяем при переписывании старого. В процессе работы сталкивались с некоторыми интересными и не самыми очевидными моментами -- их и рассмотрим в статье. Работа с различными потоками -- очень важная часть разработки мобильных приложений под iOS. Грамотное распределение нагрузки положительно влияет на скорость работы приложения, а значит, и на пользовательский опыт. До Swift 5.5 для работы с многопоточностью в основном использовали фреймворки GCD и NSOperation. Начиная с версии Swift 5.5 стал доступен функционал async/await. В статье мы кратко расскажем о базовых принципах данного подхода и сделаем акцент на проблемах и особенностях, которые необходимо знать при написании кода. Информация будет полезна тем, кто уже знаком с функционалом async/await, а некоторые примеры могут быть интересны и более продвинутым разработчикам. Поехали!

## Карантин UI-тестов в iOS

DevFeed: [Карантин UI-тестов в iOS](<https://devfeed.tech/articles/ui-ios-30676.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/hh/articles/807351/>)

Author: Timbaev (hh.ru)

Published: 2024-05-13T08:00:34Z

Content type: article

Language: ru

Sources: [HeadHunter RU](<https://devfeed.tech/sources/headhunter-ru.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>)

Tags: [ios](<https://devfeed.tech/tags/ios.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>), [qa](<https://devfeed.tech/tags/qa.md>), [qa-testing](<https://devfeed.tech/tags/qa-testing.md>), [tag-32c911f01784](<https://devfeed.tech/tags/tag-32c911f01784.md>), [tag-4adf7d504f34](<https://devfeed.tech/tags/tag-4adf7d504f34.md>), [tag-7bc388df28ed](<https://devfeed.tech/tags/tag-7bc388df28ed.md>), [tag-8e9a901cca08](<https://devfeed.tech/tags/tag-8e9a901cca08.md>), [tag-97ed25004d35](<https://devfeed.tech/tags/tag-97ed25004d35.md>), [tag-ae979152fd5d](<https://devfeed.tech/tags/tag-ae979152fd5d.md>), [tag-d749bb423e1e](<https://devfeed.tech/tags/tag-d749bb423e1e.md>), [tag-e932065bc8da](<https://devfeed.tech/tags/tag-e932065bc8da.md>), [tag-f538878e20ff](<https://devfeed.tech/tags/tag-f538878e20ff.md>), [ui](<https://devfeed.tech/tags/ui.md>), [ui-3e41457d883f](<https://devfeed.tech/tags/ui-3e41457d883f.md>), [ui-feac40da31e7](<https://devfeed.tech/tags/ui-feac40da31e7.md>), [xcode](<https://devfeed.tech/tags/xcode.md>), [xcuitest](<https://devfeed.tech/tags/xcuitest.md>)

### AI overview

This article describes how hh.ru's iOS platform team handles unstable UI tests. It discusses the causes of flakiness, how failing tests can block pull requests and development, and the team's process for quarantining broken tests for investigation, repair, and later re-enablement.

### Source excerpt

Всем привет! Я Тимур -- iOS разработчик в платформенной команде hh.ru. Сегодня я расскажу о нестабильных UI-тестах в iOS, и как мы с ними справляемся. Мы уделяем массу внимания UI-тестам, ведь именно они обеспечивают качество и стабильность в наших iOS-приложениях. Сейчас у нас включено около 600 UI-тестов: они гоняются утром, вечером и на каждом PR в develop. О том, как мы обеспечиваем качество мобильной разработки есть отдельная статья. Рано или поздно большое количество UI-тестов скорее всего начнут тормозить разработку, потому что их стабильность зависит от множества факторов: стенды (API), инфраструктура (обновление Xcode, машин, СI), кодовая база. Даже из-за проблем в самом XCUITest тесты могут начать выдавать аномалии. Если хотите узнать про наш процесс -- смело нажимайте "Читать далее". Читать далее

## Кошелёк запускает конкурс мобильных разработчиков с призовым фондом в 1 000 000 рублей

DevFeed: [Кошелёк запускает конкурс мобильных разработчиков с призовым фондом в 1 000 000 рублей](<https://devfeed.tech/articles/1-000-000-37992.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/koshelek/articles/526054/>)

Author: ksenia\_r (Кошелёк)

Published: 2020-11-02T09:00:24Z

Content type: news

Language: ru

Sources: ["Кошелёк" RU](<https://devfeed.tech/sources/ru.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [cardsmobile](<https://devfeed.tech/tags/cardsmobile.md>), [geekbrains](<https://devfeed.tech/tags/geekbrains.md>), [ios](<https://devfeed.tech/tags/ios.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [tag-03968a887ba5](<https://devfeed.tech/tags/tag-03968a887ba5.md>), [tag-ae979152fd5d](<https://devfeed.tech/tags/tag-ae979152fd5d.md>), [tag-bd401315e831](<https://devfeed.tech/tags/tag-bd401315e831.md>), [tag-f538878e20ff](<https://devfeed.tech/tags/tag-f538878e20ff.md>)

### AI overview

Cardsmobile has launched the Wallet Mobile Challenge, a competition for iOS and Android developers running from November 2 to December 15. Participants will redesign the Wallet app's main screen and card-details screen, with prizes for the top three entries on each platform and potential invitations to join the team.

### Source excerpt

Полчаса назад мы запустили Кошелёк Mobile Challenge -- конкурс для iOS и Android разработчиков, в котором можно решить реальный кейс приложения и заработать от 100 до 250 тысяч рублей. Лучших участников мы также пригласим в команду, чтобы вместе запустить наш сервис на европейских рынках в 2021 году. Читать дальше ->