en
Feedback
Мобильная разработка

Мобильная разработка

Open in Telegram

Актуальное по мобильной разработке — Android, iOS, кроссплатформа Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/oVBP

Show more

📈 Analytical overview of Telegram channel Мобильная разработка

Channel Мобильная разработка (@mobi_dev) in the Russian language segment is an active participant. Currently, the community unites 13 152 subscribers, ranking 9 315 in the Technologies & Applications category and 48 865 in the Russia region.

📊 Audience metrics and dynamics

Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 13 152 subscribers.

According to the latest data from 05 October, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -86 over the last 30 days and by 3 over the last 24 hours, overall reach remains high.

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 10.06%. Within the first 24 hours after publication, content typically collects 6.21% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 1 323 views. Within the first day, a publication typically gains 817 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 2.
  • Thematic interests: Content is focused on key topics such as интерфейс, swift, доходность, linux, perfetto.

📝 Description and content policy

The author describes the resource as a platform for expressing subjective opinions:
“Актуальное по мобильной разработке — Android, iOS, кроссплатформа Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/o...”

Thanks to the high frequency of updates (latest data received on 06 October, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.

13 152
Subscribers
+324 hours
-137 days
-8630 days
Attracting Subscribers
Oct '26
October '26
+14
in 0 channels
September '26
+35
in 6 channels
Get PRO
August '26
+37
in 3 channels
Get PRO
July '26
+50
in 1 channels
Get PRO
June '26
+38
in 0 channels
Get PRO
May '26
+47
in 1 channels
Get PRO
April '26
+31
in 3 channels
Get PRO
March '26
+43
in 0 channels
Get PRO
February '26
+48
in 2 channels
Get PRO
January '26
+73
in 0 channels
Get PRO
December '25
+102
in 1 channels
Get PRO
November '25
+49
in 0 channels
Get PRO
October '25
+140
in 0 channels
Get PRO
September '25
+33
in 0 channels
Get PRO
August '25
+68
in 1 channels
Get PRO
July '25
+169
in 3 channels
Get PRO
June '25
+183
in 3 channels
Get PRO
May '25
+134
in 3 channels
Get PRO
April '25
+173
in 4 channels
Get PRO
March '25
+231
in 5 channels
Get PRO
February '25
+169
in 7 channels
Get PRO
January '25
+149
in 7 channels
Get PRO
December '24
+111
in 2 channels
Get PRO
November '24
+81
in 1 channels
Get PRO
October '24
+105
in 6 channels
Get PRO
September '24
+113
in 1 channels
Get PRO
August '24
+115
in 2 channels
Get PRO
July '24
+95
in 5 channels
Get PRO
June '24
+121
in 7 channels
Get PRO
May '24
+120
in 5 channels
Get PRO
April '24
+170
in 5 channels
Get PRO
March '24
+137
in 8 channels
Get PRO
February '24
+111
in 9 channels
Get PRO
January '24
+198
in 11 channels
Get PRO
December '23
+254
in 7 channels
Get PRO
November '23
+92
in 7 channels
Get PRO
October '23
+99
in 8 channels
Get PRO
September '23
+67
in 0 channels
Get PRO
August '23
+79
in 0 channels
Get PRO
July '23
+64
in 0 channels
Get PRO
June '23
+83
in 0 channels
Get PRO
May '23
+83
in 0 channels
Get PRO
April '23
+118
in 0 channels
Get PRO
March '23
+94
in 0 channels
Get PRO
February '23
+89
in 0 channels
Get PRO
January '23
+185
in 0 channels
Get PRO
December '22
+158
in 0 channels
Get PRO
November '22
+156
in 0 channels
Get PRO
October '22
+282
in 0 channels
Get PRO
September '22
+169
in 0 channels
Get PRO
August '22
+383
in 0 channels
Get PRO
July '22
+315
in 0 channels
Get PRO
June '22
+362
in 0 channels
Get PRO
May '22
+502
in 0 channels
Get PRO
April '22
+2 326
in 0 channels
Get PRO
March '22
+685
in 0 channels
Get PRO
February '22
+1 000
in 0 channels
Get PRO
January '22
+852
in 0 channels
Get PRO
December '21
+390
in 0 channels
Get PRO
November '21
+2 348
in 0 channels
Get PRO
October '21
+2 515
in 0 channels
Get PRO
September '21
+209
in 0 channels
Get PRO
August '21
+458
in 0 channels
Get PRO
July '21
+717
in 0 channels
Get PRO
June '21
+464
in 0 channels
Get PRO
May '21
+129
in 0 channels
Get PRO
April '21
+2 702
in 0 channels
Get PRO
March '21
+707
in 0 channels
Get PRO
February '21
+861
in 0 channels
Get PRO
January '21
+5 692
in 0 channels
Date
Subscriber Growth
Mentions
Channels
06 October0
05 October+3
04 October+3
03 October0
02 October0
01 October+8
Channel Posts
Как отделить эффект Baseline Profiles от очистки запуска Android-приложения В Compose-приложении автора Baseline Profiles уск
Как отделить эффект Baseline Profiles от очистки запуска Android-приложения В Compose-приложении автора Baseline Profiles ускоряли запуск, но итоговые 18–34% появились после очистки стартового пути. Разбор эксперимента с запуском показывает, как не приписать весь результат профилю. Автор сравнивал запуск без профиля в verify и с ним в speed-profile, каждый раз принудительно останавливая приложение. Затем убрал запуск интерфейса из фонового события, вынес чтение настроек и блокирующий ввод-вывод из критического пути. Кейс пригодится для воспроизводимых замеров старта Android-приложения: цифра ускорения важна вместе с её причиной.

2
Как внедрить Maestro в React Native и не дублировать E2E-тесты Команда Add Jam сравнила внедрение Maestro и Detox. Maestro ра
Как внедрить Maestro в React Native и не дублировать E2E-тесты Команда Add Jam сравнила внедрение Maestro и Detox. Maestro работает вне кодовой базы приложения: достаточно установить консольную утилиту и направить её на запущенную сборку. Тесты описываются в YAML, а одни и те же сценарии и проверки запускаются на iOS и Android без изменений. Повторяющиеся действия, например вход и переход к нужному экрану, авторы вынесли в переиспользуемые сценарии. В Detox им прежде требовались нативные зависимости, изменения конфигурации сборки и шаблонный код до первого теста. Ограничения тоже разобраны: селекторы по testID нестабильно находили перекрывающиеся и абсолютно позиционированные элементы. Приходилось нажимать по координатам, из-за чего тест зависел от вёрстки. Ещё виртуальная клавиатура мешала следующим нажатиям, а LogBox перекрывал элементы интерфейса.
290
3
Как ускорить React Native-приложение с картой и Zustand На слабых Android-устройствах карта с сотнями маркеров тормозила, а э
Как ускорить React Native-приложение с картой и Zustand На слабых Android-устройствах карта с сотнями маркеров тормозила, а экраны перерисовывались чаще нужного. Разбор оптимизации рабочего проекта показывает, где команда искала причины. Компоненты вынесли из родительского: иначе React заново монтирует их из-за новой ссылки на функцию. В Zustand компоненты подписали отдельными селекторами только на нужные данные. Маркеры обновляли лишь при изменении счётчика, поиск по массиву заменили заранее собранной Map. Страницы API объединяли перед записью в хранилище, а форматирование перенесли с загрузки данных на чтение.
462
4
Android CLI получил Device Streaming для тестов на реальных смартфонах Google добавила в Android CLI поддержку Device Streami
Android CLI получил Device Streaming для тестов на реальных смартфонах Google добавила в Android CLI поддержку Device Streaming: теперь консоль и ИИ-агенты могут работать с физическими устройствами в облаке. Подключение идет через защищенный ADB over SSL, поэтому удаленный смартфон виден тулчейну так же, как если бы был подключен по USB. Из терминала можно деплоить сборки, выгружать системные логи и трейсы, а также снимать скриншоты в headless-режиме. Параллельно каталог официальных инструкций Android skills вырос до 20+ файлов SKILL.md: от профилирования в PerfettoSQL и миграции на CameraX до аудита правил Google Play. В блоге привели кейс команды FotMob: с навыком по Wear Compose Material 3 инженеры за один день перевели восемь списков на TransformingLazyColumn и убрали рукописный rotary-код. При этом инструкции поймали ошибки модели — забытый contentPadding и хардкод размеров sp. @mobi_dev
939
5
Как адаптировать модальные экраны SwiftUI к сгибу iPhone Duo На iPhone Duo модальный экран меняет размер и положение в зависи
Как адаптировать модальные экраны SwiftUI к сгибу iPhone Duo На iPhone Duo модальный экран меняет размер и положение в зависимости от шести состояний устройства. В закрытой портретной ориентации кнопки подтверждения и закрытия переходят на боковую вертикальную панель, на полностью раскрытом экране остаются сверху, а при частичном сгибе в альбомной ориентации сам экран сдвигается на одну половину дисплея. Если в панели нужна только одна кнопка, например Close, вертикальную полосу можно отключить модификатором .toolbarVerticalBehavior(.disabled). Его применяют к содержимому внутри NavigationStack, чтобы освободить ширину формы. Разбор всех шести положений iPhone Duo поможет проверить доступность элементов. Системные sheets, alerts и menus уже отводят интерактивные элементы от изогнутого центра, но собственную вёрстку стоит проверить во всех положениях.
1 143
6
Как проверять другую ветку в Android Studio через Git worktree Git worktree создаёт для ветки отдельную рабочую папку, котора
Как проверять другую ветку в Android Studio через Git worktree Git worktree создаёт для ветки отдельную рабочую папку, которая использует общую историю основного репозитория. Поэтому незакоммиченные изменения текущей задачи можно оставить на месте, а ветку коллеги открыть во втором окне Android Studio. Отдельными будут и рабочие файлы, и каталоги сборки, хотя это само по себе не гарантирует отсутствие повторных сборок Gradle. Новый каталог и ветка создаются командой git worktree add ../myapp-review -b review/fix. Доступные рабочие деревья показывает git worktree list, а после ревью каталог удаляется через git worktree remove ../myapp-review. Одну ветку нельзя одновременно открыть в нескольких worktree. Практическое руководство по Git worktrees также разбирает перенос изменений в основную ветку и организацию параллельной работы без постоянных переключений и stash.
1 101
7
Как заставить VoiceOver озвучивать карточку SwiftUI целиком Составную карточку с иконкой, названием и числом VoiceOver может
Как заставить VoiceOver озвучивать карточку SwiftUI целиком Составную карточку с иконкой, названием и числом VoiceOver может прочитать как набор несвязанных элементов: «изображение, текст, текст». Модификатор .accessibilityElement(children: .combine) объединяет дочерние представления в один логический элемент. После объединения задайте короткое основное описание через .accessibilityLabel(), текущее состояние через .accessibilityValue(), а дополнительный контекст через .accessibilityHint(). Например, карточка со звездой, числом 42 и подписью Favorites вместо трёх отдельных фрагментов будет звучать как «Favorites: 42». Для проверки включите VoiceOver в настройках доступности iOS и пройдите по карточкам свайпами. Каждая должна озвучиваться как законченный объект с понятным названием и состоянием. Код карточки и сценарий проверки VoiceOver помогут сверить реализацию.
1 087
8
Liquid Glass в SwiftUI: как выбрать regular или clear на iOS 26 Модификатор glassEffect() по умолчанию использует вариант .re
Liquid Glass в SwiftUI: как выбрать regular или clear на iOS 26 Модификатор glassEffect() по умолчанию использует вариант .regular. Он сильнее размывает фон и подбирает цвет стандартных надписей и символов под изображение позади панели. В примере с тёмными обоями символы остаются светлыми даже при светлой цветовой схеме интерфейса. Вариант .clear прозрачнее и сохраняет больше деталей фотографии или видео. Но цвет символов у него зависит от светлой или тёмной схемы: на тёмном фоне при Light Mode они могут остаться тёмными и потерять контраст. Для навигации и большинства кнопок стоит выбирать .regular. Если контент под панелью нужно сохранить видимым, подойдёт .clear, но контраст придётся проверить на разных кадрах и при необходимости добавить затемнение. Сравнение вариантов содержит код и примеры для обеих цветовых схем.
1 101
9
Как проверить Auto Layout в iOS 26 на iPhone 17 и Air У iPhone 17 и 17 Pro логическая область экрана составляет 402 × 874 пун
Как проверить Auto Layout в iOS 26 на iPhone 17 и Air У iPhone 17 и 17 Pro логическая область экрана составляет 402 × 874 пункта, у Air: 420 × 912, у Pro Max: 440 × 956. В портретной ориентации ширина у всех относится к классу Compact. В альбомной Air и Pro Max переходят в Regular, а 17 и 17 Pro остаются в Compact. Безопасную область стоит отдельно проверить в альбомной ориентации. Верхний отступ у всех четырёх моделей равен 20 пунктам. У Air боковые отступы составляют 68 пунктов, нижний: 29; у остальных моделей боковые: 62, нижний: 20. Для App Store Connect правило не изменилось: достаточно одного набора скриншотов для iPhone под дисплей 6,9 или 6,5 дюйма, остальные размеры масштабируются. Таблица размеров, классов ширины и безопасных отступов поможет выбрать конфигурации симулятора для проверки Auto Layout.
1 086
10
Как подключать новые API SwiftUI без повышения минимальной версии iOS Если приложению нужен модификатор toolbarVerticalBehavi
Как подключать новые API SwiftUI без повышения минимальной версии iOS Если приложению нужен модификатор toolbarVerticalBehavior из версии 27.1, необязательно сразу менять deployment target для всего проекта. Обёртка Backport проверяет доступность API: на новой системе вызывает модификатор, а на старой возвращает исходное представление без изменений. Так проверки версии собираются в одном месте, а вызовы получают отдельное пространство имён .backport. Для API, поведение которых нужно воспроизвести на старых версиях iOS, в ветке совместимости можно добавить собственную реализацию. Альтернатива пространству имён: префикс ported и аннотация @available. Когда минимальная версия приложения дорастёт до штатного API, компилятор предупредит об устаревшей обёртке. Это помогает сохранить поддержку прежнего deployment target и не забыть удалить временный код.
1 094
11
Как сделать прокрутку LazyVStack в SwiftUI предсказуемее LazyVStack не строит весь список сразу: он загружает элементы у види
Как сделать прокрутку LazyVStack в SwiftUI предсказуемее LazyVStack не строит весь список сразу: он загружает элементы у видимой области, а размеры строк за экраном оценивает по уже размещённым. Когда реальные размеры отличаются, стек уточняет общую высоту и смещение ScrollView. Поэтому логика, привязанная к абсолютному смещению, может срабатывать в разных местах. Для длинной ленты в iOS полезны три правила: задавать предсказуемую высоту строк с переменным текстом; не сдвигать анимацией невидимые элементы в область экрана; отслеживать появление строк через onScrollTargetVisibilityChange, а не по абсолютному смещению. Apple подробно разбирает оценку размеров, загрузку представлений, предзагрузку и программную прокрутку. Доклад рассчитан на разработчиков, уже знакомых с компоновкой стеков в SwiftUI.
1 137
12
Когда SubcomposeLayout в Jetpack Compose оправдывает свою цену Обычный Layout измеряет и размещает готовое дерево. Subcompose
Когда SubcomposeLayout в Jetpack Compose оправдывает свою цену Обычный Layout измеряет и размещает готовое дерево. SubcomposeLayout создаёт компоненты во время измерения, когда уже известны ограничения родителя, поэтому обходится дороже. Он нужен, когда размер определяет состав интерфейса: например, строка тегов создаёт элементы до границы экрана и добавляет счётчик скрытых. В разборе механики и DynamicChipRow показано, почему для расчёта одних размеров обычно достаточно Layout.
1 100
13
Как тестировать App Intents и Spotlight без автоматизации интерфейса На WWDC26 Apple показала AppIntentsTesting для интеграци
Как тестировать App Intents и Spotlight без автоматизации интерфейса На WWDC26 Apple показала AppIntentsTesting для интеграционных тестов App Intents в iOS. Проверки запускают интенты на устройстве через тот же стек, что Siri, Shortcuts и Spotlight, но не зависят от интерфейса приложения или системы. Тесты живут в обычном пакете XCUITest и обращаются к приложению по идентификатору пакета. Можно выполнить интент, проверить результат, прогнать запрос сущностей, связать несколько интентов и проверить индексацию Spotlight. Код приложения импортировать не нужно; приложение и средство запуска тестов должны использовать одну команду разработчика в настройках подписи. В докладе с примерами кода также разбирают подготовку тестовых данных и запуск проверок в CI. Так регрессии интеграций с Siri и Shortcuts можно ловить без ручной проверки интерфейса.
1 087
14
Как связать список и экран деталей анимацией в Jetpack Compose Схема интеграции с Navigation Compose: SharedTransitionLayout
Как связать список и экран деталей анимацией в Jetpack Compose Схема интеграции с Navigation Compose: SharedTransitionLayout размещают над NavHost, а элементам списка и экрана деталей задают одинаковый ключ по ID. Compose сопоставляет их и анимирует положение и размер. Для одного изображения подходит sharedElement, для карточки с меняющимся содержимым — sharedBounds. Не используйте индекс списка как ключ: после перестановки элементы могут связаться неверно. Длительность лучше держать в пределах 300–400 мс и учитывать системное отключение анимаций.
1 098
15
Как ускорить первый кадр камеры в iOS 26 с AVFoundation Apple предлагает разделить запуск камеры: сначала создать превью и кн
Как ускорить первый кадр камеры в iOS 26 с AVFoundation Apple предлагает разделить запуск камеры: сначала создать превью и кнопку затвора, а остальные элементы интерфейса и выходы захвата инициализировать позже. В докладе о быстром запуске камеры Deferred Start сократил ожидание превью примерно вдвое. AVCaptureSession, startRunning и stopRunning блокируют поток, поэтому их не стоит вызывать в главном потоке. Конфигурацию применяют один раз, а при Deferred Start откладывают все выходы, кроме превью. API доступен с iOS 26. При сборке с SDK iOS 26 автоматический режим включён по умолчанию. Первый кадр появится раньше, но фотосъёмка не ускорится, пока не готов её выход.
1 137
16
Как загружать локальный HTML в SwiftUI WebView через свою URL-схему В iOS 26 у SwiftUI появились WebView и WebPage, а собстве
Как загружать локальный HTML в SwiftUI WebView через свою URL-схему В iOS 26 у SwiftUI появились WebView и WebPage, а собственная URL-схема позволяет загружать локальные ресурсы. Например, приложение может открыть quotes://001.html, найти файл в основном пакете и показать страницу без сервера. Обработчик URLSchemeHandler получает запрос, проверяет схему, находит файл, определяет MIME-тип и читает данные. Затем он последовательно передаёт в асинхронный поток URLResponse и содержимое файла, а при ошибке завершает поток с исключением. Обработчик регистрируется в WebPage.Configuration, созданная WebPage передаётся в WebView, а загрузка запускается через page.load. Метод возвращает события, по которым можно отслеживать ход загрузки. Перед внедрением проверьте минимальную версию приложения: этот API доступен начиная с iOS 26.
1 297
17
Как встроить генерацию изображений через Image Playground в iOS-приложение Фреймворк Image Playground позволяет создавать изо
Как встроить генерацию изображений через Image Playground в iOS-приложение Фреймворк Image Playground позволяет создавать изображения в Swift из текста, фотографии, рисунка PencilKit или большого текстового фрагмента. За генерацию отвечает ImageCreator: метод images получает описание, стиль и число результатов, а затем возвращает их по одному через AsyncSequence. Доступны стили animation, illustration и sketch, но конкретный набор зависит от устройства. Перед вызовом стоит проверить availableStyles; создание ImageCreator может завершиться ошибкой, если устройство не поддерживает генерацию. За один запрос система выдаёт не больше четырёх изображений. Примеры на Swift показывают, как передать текст вместе с исходной картинкой и получить CGImage. Минимальную версию ОС и список совместимых устройств статья не называет, поэтому их нужно проверить отдельно перед внедрением.
1 213
18
Как передавать контент между iOS-приложениями через Siri Чтобы Siri могла отдать сущность другому приложению, AppEntity предс
Как передавать контент между iOS-приложениями через Siri Чтобы Siri могла отдать сущность другому приложению, AppEntity представляют системным типом. В примере ContactEntity содержит IntentPerson, реализует Transferable и передаёт свойство через IntentValueRepresentation. Так система получает значение для обмена. При импорте IntentValueQuery ищет сохранённый контакт по имени, телефону, адресу почты или ID. Пустой результат запускает importing-замыкание: оно создаёт новую сущность и сохраняет контакт. Правила сопоставления остаются в приложении. Разбор передачи контента через App Intents содержит Swift-код обоих направлений. Минимальная версия iOS и требования SDK не указаны, поэтому совместимость нужно отдельно сверить с документацией Apple.
1 147
19
Как собрать фильтры и индикаторы в Android на Compose Material 3 В Compose Material 3 есть готовые компоненты для интерфейсов
Как собрать фильтры и индикаторы в Android на Compose Material 3 В Compose Material 3 есть готовые компоненты для интерфейсов, которые часто собирают вручную. TriStateCheckbox связывает общий флажок с дочерними: показывает, выбраны все пункты, ни одного или только часть. SegmentedButton позволяет выбрать один или несколько вариантов из двух-пяти. Для фильтра по цене подойдёт RangeSlider, а BadgedBox поможет оформить индикатор непрочитанных уведомлений. При переносе примера с ползунком проверьте начальную границу диапазона: её нужно исправить. Параметр steps задаёт количество промежуточных значений, а не общее число позиций. Примеры компонентов с кодом подходят для Material 3 версий 1.3.2, 1.4.0-beta02 и 1.5.0-alpha04: используемый API между ними не менялся.
1 191
20
Как Baseline Profiles ускоряют запуск и прокрутку Android-приложений ART сначала интерпретирует байткод Kotlin и Java, а зате
Как Baseline Profiles ускоряют запуск и прокрутку Android-приложений ART сначала интерпретирует байткод Kotlin и Java, а затем компилирует часто вызываемые методы. Baseline Profile заранее задаёт нужные классы и методы: с Android 9 ART компилирует их при установке приложения. Meta собирает последовательности загрузки классов для запуска, прокрутки ленты и открытия фото. По данным компании, профили улучшили отдельные ключевые метрики до 40%. Опыт Meta с Baseline Profiles показывает, как ускорять не только холодный запуск.
1 169