Как стать автором
Поиск
Написать публикацию
Обновить
8
0
Подивилов Евгений @epodivilov

Фронтенд разработчик

Отправить сообщение

Могу посоветовать начать с советов от самого Гугла

К сожалению не видел статьи, где бы разбирались все панели devTools, но по частям можно найти именно в блоге Гугла

Нет, не пробовал. Но кажется lottie это просто инструмент для быстрого переноса анимаций из after effects. Не думаю, что он может быть производительнее, чем просто анимация на canvas.

И опять же, любая анимация на JS имеет недостаток, что выполняется в том же потоке что и ваш код. Будете блокировать поток - будет тормозить анимация.

Да, но есть проблема с тем, чтобы засунуть в webgl кривые. По крайней мере у меня не вышло. А как и у решение на canvas проблема с выполнением в основном потоке остаётся.

Вы имеете в виду SMIL? Да, наверное это свойство могло бы ещё улучшить это и другие решения, но главная проблема в том, что все решения, кроме CSS работают в том же потоке.

Тут либо спиннер оставлять в основном потоке, а всю работу с данными переводить в воркеры, либо упростить спиннер ?

Полностью согласен, что решение отличное. Но согласитесь, одно дело использовать его в каком-то специфическом случае, когда нам надо отобразить 3D задёшево, другое - использовать подобную технику для простого индикатора загрузки.

Да, согласен, react - это не лучший инструмент для анимаций. Но бывает так, что ты просто приходишь на проект и там уже есть решение. А ты лишь можешь его улучшить или заменить. И да, эта задача решалось мной ещё до текущего места работы.

Кроме того, статья в целом не про то, что "мы съехали с React и стало всё замечательно". Вы могли заметить, что все представленные решения имеют какой-то недостаток. Главная же идея была показать, что есть иные варианты решения проблемы и один из главных - просто отказаться от ненужной сложности.

Решение с анимированным GIF нам не подошло по причине низкого качества картинки и отсутствия возможности сделать прозрачный фон.

Да, возможно это было бы можно решить с помощью современных форматов, типа Webp, но на момент поиска решения (~2 года назад) Safary не умел в Webp, а тем более анимированный

Не знаю как другие, но у меня несколько окон с разным набором вкладок. Зависит от темы, по которой сейчас работаю.
Когда я разбирался с проблемой организации всего этого добра, то наткнулся на встроенные возможности chrome. Да, само не сортирует вкладки, но лично мне это и не надо — я бы не хотел, чтобы мне все-все гитхаб вкладки вдруг в одном окне собрали =)

Спасибо за подробный ответ.


Хотел ещё добавить. Вот есть статья. И конкретно раздел про мемоизацию. Ведь по сути, useCallback — это ведь useMemo.


Так вот, с одной стороны мысль о мемоизации всего — выглядит крайне страной. С другой стороны, автор утверждает что нет никакой заметной разницы при "лишней" мемоизации. Так не кажется ли вам, что вся эта тема с useCallback не стоит даже обсуждения? Особенно без каких то замеров.


Я, признаться, не очень понимаю всю эту шумиху вокруг хуков. Они мне с самого начала показались порочной практикой. Они слишком много делают "магически". Да, в какой-то мере удобно, но читать это всё потом такая боль

Поправьте, если я вас не правильно понял, но вы предлагаете следующее: если "ниже" DOM нода, то не используйте useCallback. Если же там компонент, то лучше обернуть.


Примеры автора статьи слишком упрощены, как и во многих других статьях. От этого и масса вопросов.


Например пример со списками — лучше для перформанса наверное вообще не прокидывать в каждый элемент колбек. А ловить клик на родителе и уже там определять выбранный элемент.


Кроме того, не понятны примеры, когда колбек принимает аргумент и что-то с ним делает. В таком случае в зависимостях у него ничего нет и тут действительно стоит задуматься, чтобы выкинуть такой колбек за пределы рендер-функции.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность