TGViewer
IT Makes Me Hate IT Makes Me Hate @iosmakesmehate · 4.17K subscribers
Post #3607 2.3K
Network: Мобильная связь и квота пропускного канала

Зачем думать о 2G интернете? Ведь далеко не все тестят свои апки в этой сети.

Тема мобильной сети — гиперчувствительная. И при этом сильно недооцененная в мобильной разработке.

Недавно я брал консультацию у core команды Яндекс Плеера о том, как оптимизировать видео. Формально разговор был про форматы, коллекции и устройство плеера. Но самым откровенным и очевидным для меня оказался совсем другой пласт — это нетворк-квоты и приоритизация запросов. Казалось бы, очевидно. Но почему мы не задумываемся об этом?

Об этом редко задумываются, когда речь идет об обычной верстке или стандартных апи-запросах. Но в видео все иначе: общий трафик, количество соединений и их приоритет критически важны.

Да, в некоторых крупных компаниях есть платформенные или перфоманс-команды (Авито, Т-Банк), которые глубоко оптимизируют нетворк-слой клиента. Но возникает логичный вопрос: почему обычному мобильному разработчику важно понимать, как работает сеть?

Многие разработчики воспринимают сеть как что-то простое: отправил запрос и получил ответ. В реальности мобильная сеть: нестабильная, медленная, непредсказуемая. Именно поэтому в системном дизайне ей всегда уделяют отдельное место. Игнорировать сеть значит проектировать приложение для идеальных условий, которых у пользователя чаще нет.

О сети можно говорить часами. В этой серии постов я хочу детально разобрать, как работает network в мобильных приложениях и с какими проблемами мы сталкиваемся на практике.

Начнем с базовых, но очень важных сложностей:

1️⃣ Соединение постоянно меняется

Этот вопрос очень важен. Особенно при звонка, которые должны работать даже из парковки и в лифте. Тот же Zoom удивляет многих как работает стабильно с 3G или плохим интернетом, когда же конкуренты, телега или ватсап, еще до замедлений, работали плоховато.

Здесь множество оптимизаций: от хитрых алгоритмов сжатия, то заигрывания с соединениями.

2️⃣ Высокая задержка (latency)

Есть cold и hot ответы. И чаще ответы CDN или других хранилищ нужно заранее "прогревать". Ведь даже при хорошем соединении холодный старт может быть отдавать первый байт долго.

3️⃣ Ограниченный и дорогой трафик

В некоторых регионах, странах, трафик может быть дорогой. В том же Пакистане интернет в 2 раза хуже РФ, но некоторые сервисы уже получают денег больше, чем у себя в стране. Чтобы конкурировать нужно уметь подстраивать под их сеть и быть быстрее конкурентов.

4️⃣ Нетворк квота устройства

Устройство условно на момент соединения имеет доступную пропускную способность 5 Мбит/с. Это общий канал, которым пользуются все процессы сразу: ваше приложение, системные сервисы, другие приложения в фоне. Под наше приложения нет отдельного канала. Все делят один и тот же ресурс.

Если одновременно идут загрузка видео, аналитика, картинки, обработка данных — все запросы конкурируют за один канал. Видео хочет 4 мб/с, аналитика 0.1 мб/с, апи запросы 0.9 мб/с. Канал полностью забит. Если появляется еще один запрос, то появляются лаги и зависания.

И тут еще сложность, что ОС распределяет ресурсы, а не приложение.

В след постах разберем все детальнее
More from @iosmakesmehate
  1. Oct 11, 2026На фоне последних событий решил изучить литературу по антикризисам и хаос инженерингу в IT…
  2. Oct 9, 2026https://yandex.ru/company/news/09-10-2026-01 В ночь с 7 на 8 октября дата-центр Яндекса в…
  3. Oct 9, 2026Эпоха огромной перестройки Последнее время все чаще задумываюсь, насколько непростой перио…
  4. Oct 8, 2026Ну тупые разрабы ща дизайнер сам все навайбкодит
  5. Oct 8, 2026но программисты будут точно в этих 5% жб рип
  6. Oct 8, 2026Глава Microsoft отменил ИИ-апокалипсис: «Через 10 лет под угрозой всего 5% рабочих мест» Н…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →