ИИван Акулов про разработку

Иван Акулов про разработку

@iamakulov_channel💻 Технологии🇷🇺 Русский📅 март 2026 г.

JS · React · веб-перформанс · разработка и архитектура Экс: https://x.com/iamakulov По всем вопросам (рекламу не продаю): @iamakulov Чатик канала: @iamakulov_channel_chat

📊 Полная статистика📝 Все посты
4.0K
Подписчики
6.0K
Ср. охват
149.4%
Вовлечённость
20
Постов
В день

Графики

📊 Средний охват постов

📉 ERR % по дням

📋 Публикации по дням

📎 Типы контента

Лучшие публикации

20 из 20
Iiamakulov_channel
iamakulov_channel
28 февр., 11:30

Чёрт, снова вышел длинный пост вместо ссылок

👁 12.1K
Iiamakulov_channel
iamakulov_channel
28 февр., 11:27

Компонент выше: — говорит «запускай view transition», когда рендерится — бросает исключение-промис, что заставляет Реакт ждать — когда скриншот готов, резолвит промис, что позволяет Реакту закончить рендер Если поместить этот компонент в конец дерева, то можно запустить view transition в конце рендера. Прямо как с useLayoutEffect, но асинхронно. Попробуем это решение во Framer в течение недель. Расскажу, как сработает 🙂

👁 11.5K
Iiamakulov_channel
iamakulov_channel
4 мар., 15:11

​​Show all events (линк) Добавляет кучу дополнительных данных в перформанс-трейс. Включаю, когда хочется больше деталей про то, что именно происходит в браузере. Бонус: если скопировать название ивента и вставить его в https://source.chromium.org/search, то этот сайт покажет, где именно в коде Chromium происходит этот ивент. Полезно, если нужно прям закопаться в поведение браузера

👁 9.0K
Iiamakulov_channel
iamakulov_channel
28 февр., 11:27

5) Если хуки не подходят, почему бы не запускать view transition перед началом рендера? Так можно, и Framer делает именно так. Но это создаёт другую проблему: рендер большой страницы может занять секунды, и всё это время страница будет заморожена. 6) Идеальных решений для этой проблемы сегодня нет. Но это не значит, что нет ужасных воркэраундов :D Воркэраунд — эмулировать асинхронный useLayoutEffect с помощью <Suspense>:

👁 8.5K
Iiamakulov_channel
iamakulov_channel
4 мар., 15:11

​​Две самые любимые: Event initiators (линк) Добавляет стрелочки между setTimeout() и его колбеком, requestAnimationFrame() и его колбеком, и т.п. Супер-удобно, держу включённым по умолчанию:

👁 8.1K
Iiamakulov_channel
iamakulov_channel
28 февр., 11:27

4) Удобное место, чтобы сказать «запускай view transition» — это хук useLayoutEffect. Этот хук вызывается, когда React уже закончил рендерить новую страницу, но браузер всё ещё показывает старую. Если запустить view transitions отсюда, то страница будет заморожена буквально долю секунды. Идеально, да? Нет. «Запускай view transition» — это асинхронный процесс, а useLayoutEffect не поддерживает асинхронность (и вряд ли будет, исходя из архитектуры Реакта).

👁 7.4K📷 photo
Iiamakulov_channel
iamakulov_channel
28 февр., 11:27

View Transitions, React и перформанс Ну и давайте про челленджи поговорим. Из недавнего — я узнал, что view transitions фризят страницу, и это влияет на перформанс-метрики, которые собирает Google 🫠 Следите за руками: 1) View Transitions — это новый стандарт, с помощью которого можно анимировать переходы между страницами. Framer поддерживает view transitions, и часть сайтов (в том числе framer.com) их используют 2) Переходы между страницами у Framer-сайтов работают как в любом реакт-приложении:...

👁 6.3K
Iiamakulov_channel
iamakulov_channel
26 мар., 01:16

Привет! Написал новый пост, где реверс-инжинирю минификатор из 2004-го: https://3perf.com/blog/packer/ (Минификатор, внезапно, поддерживает ES2015+ и сжимает код компактнее, чем Terser?!)

👁 5.7K
Iiamakulov_channel
iamakulov_channel
28 февр., 11:27

💻 Воркшоп (нет, канал я оживил не только для этого анонса): в марте пройдёт двенадцатый воркшоп по Реакт-перформансу! В консалтинге я помогал компаниям ускорять Реакт в 2-4 раза; в воркшопе я учу всему, чему сам научился в процессе. Как выглядит воркшоп: мы берём медленное приложение → дебажим его в Chrome DevTools и React Profiler → находим и чиним боттлнек → повторяем для всех типичных перформанс-антипаттернов. В процессе мы смотрим на дорогие рендеры, гидрацию, startTransition(), перевычисле...

👁 5.3K

Типы хуков

Нейтральный16 | 6.0K просм.
Вопрос2 | 5.5K просм.
Статистика2 | 6.3K просм.

Длина постов

Средние (200-500)7 | 6.9K просм.
Короткие (<200)6 | 5.8K просм.
Длинные (500-1000)4 | 4.1K просм.
Очень длинные (1000+)2 | 5.3K просм.

Влияние эмодзи

6.2K
С эмодзи (5)
6.0K
Без эмодзи (15)
+3.9% охвата

Типы контента

📝
16
text
6.0K просм.
📷
4
photo
6.0K просм.
Иван Акулов про разработку (@iamakulov_channel) — Telegram-канал | PostSniper