Тёмный

Плохой код больше не проблема! Компилятор все исправит 

АйТи Синяк
Подписаться 32 тыс.
Просмотров 16 тыс.
50% 1

Компилятор - это что то новое для кода, который запускается в runtime. Здесь сразу возникает куча вопросов: А зачем? А когда он будет запускаться? Как это все повлияет на повседневную разработку? Вопросов много, ответов меньше, но с чего то же надо начинать
clck.ru/33uUZR - прокачайте свои знания и навыки в разработке и тестировании с Яндекс
React without memo (React conf 2021) - • React without memo
Маркировка
Реклама: ООО "Яндекс"
erid: jnlfkf
Поддержать Айти Синяка можно здесь:
RU-vid: / @it-sin9k
boosty: boosty.to/sin9k
Patreon: / itsin9k
00:00 Анонс темы
00:40 Прокачиваем опытных
01:47 Todo пример из доклада
02:43 Изучаем код списка
04:00 Улучшаем код
07:00 DX и UX
08:38 React Forget
11:38 Итоги
12:58 Подписывайтесь!
Подписаться на канал: / @it-sin9k
Twitter: / it_sin9k
-------------------------
Данный канал создан для инициирования бесед на различные темы IT сферы (социальные / технические), а также для тех кому короткая видео выжимка статьи, выступления на конференции или же просто личных мыслей, являются более удобным форматом

Опубликовано:

 

12 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 82   
@user-cc4jp1xl6w
@user-cc4jp1xl6w Год назад
Кликнул на курс -> увидел поехавшую к бабушке в деревню вёрстку -> закрыл
@gdv201099
@gdv201099 Год назад
При перезагрузке страницы верстка починилась, но все равно конечно такое сразу начинает смущать
@skeev_
@skeev_ Год назад
увидел редакс в видеоанонсе -> не открывал
@vladis904
@vladis904 Год назад
Честно говоря, чем больше реакт развивается, тем больше чувство что он идет не туда. Этот комплятор выглядит как "да, мы сделали слишком императивную библиотеку на которой неудобно писать код, поэтому напишем еще одну абстракцию, которая будет исправлять наш просер"
@starwalker.odessa
@starwalker.odessa Год назад
Да, поддерживаю! Теперь на каждую native js функцию нужно - накручивать какую-то react custom`изацию. Каждый чих приходится оборачивать и оборачивать какой-то очередной декорацией.
@Traineratwot
@Traineratwot Год назад
Ну если этот компилятор в итоге просто будет одним из этапом при build и serve то шикарно. я даже не замечу, а код станет лучше. Но если это будет еще какая то хрень которую надо бет отдельно запускать - то это жопа
@vladis904
@vladis904 Год назад
@@Traineratwot Если он будет запускаться только на продакшн сборке, то можете умножать количество багов, которые нельзя будет поймать локально в несколько раз
@Traineratwot
@Traineratwot Год назад
@@vladis904 ну я имел ввиду что бы и на продакшен и на деве. Вы абсолютно правы.
@SanoTheLitch
@SanoTheLitch Год назад
Я все пытаюсь понять: какую декларативность ищут программисты и так и не могут найти? Если мы описываем какое-то поведение системы, то код по-умолчанию будет императивным. Мы можем спрятать императивную логику за композицией, кучей хуков, декораторов, заморочиться с кодогенерацией...и в итоге получим псевдодекларативное нечто, которое никто не понимает как работает уже на следующий день, но пара компонентов выглядит прям супер.
@paemox
@paemox Год назад
Экономия на спичках. К тому же мемоизация не бесплатна, и не факт, что это оптимиция, а не деоптимизация. В результате имеем гипотетически чуть быстрее код и код, который намного сложнее поддерживать, а пользователь даже не заметит разницы, если не считать добавленых багов в результате изменения и усложнения кода.
@rrxktm
@rrxktm Год назад
Почему сложнее? Вы же продолжаете работать с неоптимизированным исходником? Более того, можно забыть про useCallback и код станет проще
@starwalker.odessa
@starwalker.odessa Год назад
Так они на нем (react`е) - не пишут! ))) Они его - разрабатывают! Это "разные вещи" ))) Ты их Facebook видел? ))) Вот то-же случиться и с React ))) Я так понимаю что главный талант разработчиков из Facebook - говнокодить )))))))))))))))
@Traineratwot
@Traineratwot Год назад
Поддерживаю. Видимо надо будет еще добавлять какой-нибудь всратый хук чтобы отключать эту медвежью услугу, я иногда специально не добавляю часть зависимостей в useEffect хотя IDE очень настаивает на полном списке :)
@Sheydful
@Sheydful Год назад
​@@Traineratwot крайне редко сталкиваюсь с данной проблемой. Возможно во многих из этих случаев не стоит вообще использовать useEffect, а юзать обычные коллбэки, или вычисляемое состояние, например. Часто замечаю такую проблему у разрабов, которые все пытаются решить эффектом, даже там где он не нужен.
@NeQwerty0
@NeQwerty0 Год назад
Код как раз проще будет поддерживать, т.к. не приходится мемоизировать ничего, все автоматом делает компилятор. И производительно, и просто.
@user-zx4zv2bs3q
@user-zx4zv2bs3q Год назад
ОЧЕНЬ НРАВИТСЯ, ЧТО ТВОИ РОЛИКИ МАКСИМАЛЬНО ПРИКЛАДНЫЕ!
@paemox
@paemox Год назад
Ролики на примерах, что высосаны из пальца с незаметной для пользователя "оптимизацией".
@relaxationmusic4sleep
@relaxationmusic4sleep Год назад
Как всегда супер!
@user-vm2db5cq1g
@user-vm2db5cq1g Год назад
Интересное видео! Спасибо
@vladimirlevin6799
@vladimirlevin6799 Год назад
Спасибо, интересно
@NoName-zh7cc
@NoName-zh7cc Год назад
Топ контент, спасибо, Саша!
@it-sin9k
@it-sin9k Год назад
Спасибо, что поддерживаете комментариями)
@user-ex4gs4ty5f
@user-ex4gs4ty5f Год назад
непростая тема. спасибо за рассмотрения этого вопроса. есть о чем почитать и попробовать)
@it-sin9k
@it-sin9k Год назад
Спасибо за комментарий!) буду стараться больше разборов делать)
@user-yz6ng4kw4x
@user-yz6ng4kw4x Год назад
Реакт продолжает латать дыры которые сам и насоздавал
@andrewvorontsov8459
@andrewvorontsov8459 Год назад
Спасибо за материал. У меня есть опасения, что Forget начнет разламывать верстку компонентов и не приживется.
@user-tn1yc1ij8d
@user-tn1yc1ij8d Год назад
надеюсь команда реакт сделает такой компилятор
@it-sin9k
@it-sin9k Год назад
Крайне любопытно, как это может интегрироваться в повседневную разработку)
@sergeygultyayev4828
@sergeygultyayev4828 Год назад
Интересная идея, но в движке жса есть оптимизатор. И как мы все знаем иногда эти оптимизации сменяющиеся деоптимизациями ухудшают перформанс. Как бы не было тут такого. Да и если посмотреть в целом на Реакт, есть ощущение, что он уже морально устаревает. Устаревает концепция построяния нового виртуального дома и сравнения изменений. Потому что это порождает лишние проверки как и в Ангуляре. А оптимизировать - сложно и муторно. Условный Свелт просто обновляет в одной точке приложения то что обновилось. Он не рендерит все, на сколько я помню. Ангуляр, вообще, идет к сингалам как новой реактивной модели и тоже можно будет избавиться от проверки всего приложения/поддерева на изменения, потому что функция ре-рендера конкретной привязки значения будет запускаться локально и всё.
@it-sin9k
@it-sin9k Год назад
Очень интересно, какое будущее нас ждет)
@sergeygultyayev4828
@sergeygultyayev4828 Год назад
@@it-sin9k мы все перейдем на jQuery 10.0 😁
@artemtema5764
@artemtema5764 Год назад
Почему-то вспомнился фильм "Поворот не туда"
@it-sin9k
@it-sin9k Год назад
Интересно чем в этом случае все закончится)
@oralbek_tleubayev
@oralbek_tleubayev Год назад
👍👍👍
@levonharutyunyan1094
@levonharutyunyan1094 Год назад
А есть какая то документация как внедрять интрумент проект и можно ли применить ее на конкретные компоненты?
@it-sin9k
@it-sin9k Год назад
К сожалению, пока нет варианта, как даже в тестовом режиме запустить компилятор. Нужно немного подождать :)
@levonharutyunyan1094
@levonharutyunyan1094 Год назад
@@it-sin9k спасибо
@Epic0n
@Epic0n Год назад
Пока все мигрируют на сигналы React не ищет легких путей :)
@it-sin9k
@it-sin9k Год назад
А что такое сигналы?
@Epic0n
@Epic0n Год назад
@@it-sin9k В реактивных фреймворках типа solid, vue, и т.д. есть или может быть возиожность писать код типа так псевдокод ниже const [stateA, setStateA] = useSignal(1) const [stateB, setStateB] = useSignal(2) const someComputeValue = useMemoSignal( () => { return stateA() + stateB(); } ) return someComputeValue() Мемо и эфекты без массива зависимостей они будут виполняться автоматичски если зависимость меняется. И это не будет вызывать перерендеров потому что значения в верстке изменяться реактивно (точечно). По сути это тоже саоме к чему движется реакт но только через реактивность, а не предекатный рендер по всему темплейту. Уйти от зависимостей в мемо и эфактах можно и сейчас чисто теоретически написав кастомный хук, но уйти от перерендеров не получится. В целом для реакта есть либа @preact/signals-react но на сколько я знаю она чтото патчит в роботе JSX что как по мне плохо так как требует постоянного апдейта от разработчиков либы, а если их не будет то есть риск остаться с тыквой, лучше такие штуки все таки иметь нативно.
@jamjam3337
@jamjam3337 Год назад
👏👍
@user-zx4zv2bs3q
@user-zx4zv2bs3q Год назад
а я как раз сейчас взахлеб смотрю все видео) наконец, нашел время, А ТУТ ОП И СОВСЕМ СОВСЕМ НОВОЕ!) КАЙФ!)
@starwalker.odessa
@starwalker.odessa Год назад
Не захлебнись 😀
@max_cr_it
@max_cr_it 7 месяцев назад
Только вчера установил, а уже сегодня рекламирует 😂😂😂 0:57
@badcoder1337
@badcoder1337 Год назад
Если честно, какую-то порнографию придумали. Еще один билдстеп, еще один килограмм глины к колоссу. Хук, дающий массив с кешем аналогичен обычному состоянию компонента на классах. Возвращаемся в 2018?
@669pain
@669pain Год назад
Так то управление отрисовкой классового компонента на порядок лучше чем функционального. Чем один жизненный цикл в котором можно описать все условия, хуже кучи хуков и ХОКов в функциональном?
@InSimpleWords_WebDev
@InSimpleWords_WebDev Год назад
@@669pain Как же хорошо,что не я один так думаю. А то чувствовал, что что-то идет в реакте не то. Однако мир говорит, что все норм... И я думал, что это со мной что-то не так.
@_GyG_
@_GyG_ Год назад
Сначала лайк, потом смотрим!)
@sergeymild
@sergeymild Год назад
Так видео еще больше года назад было по этому компилятору
@it-sin9k
@it-sin9k Год назад
Я с того момента все и хотел записать разбор) но все руки не доходили)
@sergeymild
@sergeymild Год назад
Вопрос теперь когда появиться) очень хочется посмотреть как с React Native будет работать
@NeQwerty0
@NeQwerty0 Год назад
Неплохо, скоро реакт из коробки будет таким же производительным как MobX и Vue были 7 лет назад, сохраняя иммутабельность при этом.
@it-sin9k
@it-sin9k Год назад
не думаю, что правильно сравнивать React и MobX. Да и производительностью сильной MobX вроде не славился. Есть какая то информация по этому поводу?
@daniyarzhanakhmetov7741
@daniyarzhanakhmetov7741 Год назад
Какой вообще смысл оборачивать все в useMemo, useCallback, React.memo, если ничего не тормозит? Зачем оптимизировать то, что и так работает нормально?
@vas_._sfer6157
@vas_._sfer6157 Год назад
Оно будет тормозить, когда дела касаются списков сложных компонентов, над которыми будут доступны операции сортировки и так далее. Ну и мемоизация также важна, как не странно, для экономии памяти, ибо есть сборка мусора.
@daniyarzhanakhmetov7741
@daniyarzhanakhmetov7741 Год назад
@@vas_._sfer6157 в таких случаях это оправданно
@it-sin9k
@it-sin9k Год назад
не тормозит дело тоже относительное, на твоем устройстве все хорошо, а на корче пользователя, ситуация может быть совсем другой :)
@thimerlanmatyakubov8940
@thimerlanmatyakubov8940 Год назад
I HOPE! DEV SERVER + REACT FORGET = :)
@ReAgent003
@ReAgent003 Год назад
Спасибо! В очередной раз убедился, что реакт требователен к разработчику. В одном хорошем докладе говорили, что даже мемоизированный реакт был по производительности хуже чем свелте. При этом в свелте даже не надо всё мемоизировать, как того требует реакт. Доклад: ru-vid.combB-R_lOlTLE?feature=share&t=355
@it-sin9k
@it-sin9k Год назад
Звучит очень интересно) надо изучать вопрос)
@CuriousSpy
@CuriousSpy Год назад
адекватные фронтендеры используют solidjs
@user-yw9wx4lv2w
@user-yw9wx4lv2w Год назад
а подскажите где они его используют? С удовольствием бы откликнулся на такую вакансию)
@CuriousSpy
@CuriousSpy Год назад
@@user-yw9wx4lv2w там, где на работу берут фронтендера, а не челика с курсов по реакту
@olezhonnv3215
@olezhonnv3215 10 месяцев назад
Ну так шо? Выкатили уже мартыхи из команды реакт эту приблуду? Вангую - криворукие фесбусятники доставят вам веселухи)))
@it-sin9k
@it-sin9k 10 месяцев назад
пока не выкатили, вот еще ждем :)
Далее
Полный курс по useId за 10 минут!
13:01
КАК РАБОТАЕТ БРАУЗЕР?
45:23
Просмотров 119 тыс.
React Reconciliation
11:53
Просмотров 84 тыс.
Что такое Concurrent в React ??? Глава 1
11:31