Прикольная серия статей от запретограма* как они ускоряли сайт/приложение.
Тему оптимизаций и скорости загрузки контента кто-то так или иначе копал. Сначала менеджеры говорят "мы не будем это делать в MVP". А потом "А че так медленно?". Знакомая история?
Вообще тема перфоманса не так проста, как кажется. В крупных компаниях как ВБ, Авито, Озон и тп даже есть отдельная мобильная команда Perfomance, чьи задачи только и связаны как с ускорением контента.
Я решил поискать интересный контент на эту тему. В чате сообщества кинули топовые статьи как инстаграм улучшал работу сторисов, фильтров и других.
Главные советы:
1️⃣ Prefetching
Prefetch контента должен быть не сразу всего, а только приоритизированного. Не весь контент важен. Не стоит заранее префетчить весь контент. Не до всего пользователь дойдет
2️⃣ Контент
Не забывайте про размеры и качество изображений. Очень актуально для слабого соединения.
3️⃣ Chuncking
Инстаграм разделяет ответы на части везде, где можно. Пагинация, разрезание видео/фото, синхронизация клиента и сервера.
4️⃣ Кэширование
Кэш динамический в процессе просмотра он обновляется и актуализируется. Также все действия пользователя сначала записываются локально, а потом синхронизируются с бэком.
5️⃣ Размер кодовой базы
Не отдавайте много данных сразу. Большие модели могут лишний раз нагружать декодинг. Делайте много lazy loading'ов.
Самое главное — заниматься улучшением иттеративно. Не оптимизируйте код заранее, это мы еще помним с советам по рефакторингу.
Статьи:
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations
*запрещённая в РФ соцсеть компании Meta
Please open Telegram to view this post
VIEW IN TELEGRAM