iOS Makes Me Hate
4.25K subscribers
1.62K photos
252 videos
24 files
1.63K links
Авторский канал про разработку. Путь продуктовых самураев в MAANG.

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK

лектор ВШЭ и тп

Самое большое сообщество практиков: https://boosty.to/lionbond

Сайт iosmakesmehate.tech
Download Telegram
Performance Analytics

Аналитика перфоманса — сложное дело. Обычно здесь много переменных. Нельзя взять 1-2 айфона и на глаз протестировать на пару экранов с секундомером.

1️⃣ нужно реальное устройство

В симуляторах ресурсы шарятся с маком. Не то железо

А ту же скорость интернета даже проксименом нормально не отдебажишь.

2️⃣ правильные данные

Влияет множество сайдэффектов от прод сборки и состояния батареи до качества сети. Не то окружение.

3️⃣ чистота данных

Не все данные полезные и важны. Число и скорость в вакууме часто ни о чем не говорит.

Крупные компании создают сложную систему анализа перфоманса. Каждая метрика от скорости загрузки экрана до вызова ручки — отправляется на бэк. Там дашбордами можно составить график деградаций.

Автор статьи как раз рассказывает как писал такую систему.
85
Регулярная рубрика «корпоративная среда»

Фотки из архивов
2173
Forwarded from iPhone:~ root# (Хозяйн)
Reverse-engineering клиентской детекции VPN / proxy в iOS-приложениях + универсальный bypass-твик на fishhook. Разобрано 16 российских приложений (банкинг, стриминг, доставка, госуслуги, телеком, навигация).

https://github.com/Leeksov/ios-vpndetect-research
11
📺 Frame Based Development в 2026

Большинство разработчиков пишут на Auto Layout. Но не все знают, что есть альтернатива и не всегда Auto Layout подходит. В редких кейсах это просто необходимо

Frame-Based Development — это ручной layout через frame/layoutSubviews/layoutSublayers, в противоположность Auto Layout.


Вы скажите что так никто не делает и это уже не нужно. А я скажу что немаленькое кол-во компаний пишут лайаут вручную.

🛍 Авито почти всю верстку, особенно в коллекциях главной и BDUI, считает через frame based

✈️ Телеграм работал со сложным движком AsyncDisplayKit. Где он вообще рассчитывался в фоне. Сейчас они просто перешли на ручной расчет.

💙 ВК Лента также пишется на ручном лайауте. В этих всех приложениях важен перфоманс.

Тот же auto layout работает через constraints и систему уравнений. При большом кол-ви view'шек это все перерассчитывается на главном потоке.

На картинках свежие бенчмарки iPhone 16. В процентных сравнениях даже на новых устройствах auto layout сильно медленее.

Нужно ли это в 2026к? Вы недооцениваете глубину вложенных вьюшек в том же бдуи. Я сделал небольшой эксперимент, о котором напишу в следующем посту.

Полезные ссылки:
Layout Framework Benchmark
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
124
❤️ Год в яндексе

Сразу скажу быстро. Было очень круто. Мощные задачи крутых масштабов. Глубокие погружения в оптимизации. Архитектурные вызов. BDUI погружение...

Спойлер. На днях меня спросили "А почему ты пришел в яндекс с авито? Обычно всё наоборот...". Не знаю как воспринимать слова. Но я пока наоборот не жалею и рад, что дают кучу возможностей.

Я — Моб.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
23102
Как влияет вложенность вьюх на перфоманс?

В прошлом посте мы поговорили про Frame Based верстку. Судя по анализу и комментам — это не такой уж и непопулярный способ верстать. Где мы отказываемся от Auto Layout'а в сложных коллекциях.

Почему же это снова становится актуальным в 2к26?

На мой взгляд есть две причины:
• SwiftUI/Compose лайк верстки, которые требуют много хостингов
• Всякие BDUI, которые создают огромную вложенность

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

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

Вчера в нашем чате даже поделились кейсом, когда отказ от UIStackView привел к улучшению производительности на 30%.

Полезные ссылки:
Optimizing Auto Layout Performance
• Auto Layout vs Frame Sizes
Mastering Performance Management in Swift: Best Practices for Optimising Your App’s Speed and Efficiency
12
еще одна ачивка. Пока хз что означает, но порадуемся вместе
18
Последнее напоминание

Завтра я буду вести один из дискуссионных столов про AI в инженерных задачах.

Приходите знакомиться, подискутировать, обсудить контент, тренды и реальные практики.

Конференция рассчитана на сеньоров. Поэтому качество дискуссий будет высокое.
18
Раньше мы все мечтали работать в Apple. А теперь в Anthropic

https://h.careers/job/801bba8a-4c25-4426-8d93-73bc1d0037a7
24
This media is not supported in your browser
VIEW IN TELEGRAM
Первые кружки в этом тг. Сорян, будет микро репортаж
622