Как работает браузер: дерево рендеринга, HTML/CSS парсинг, модели цикла событий
HTML-код
- Опубликовано: 28 сен 2024
- Доклад Дмитрия Разинкова на митапе по веб-разработке, организованном DSR Corporation.
Вы узнаете, какие процессы происходят в браузере при отрисовке веб-страниц, разберетесь со структурой дерева рендеринга, узнаете о наиболее эффективных CSS-селекторах, распространенных браузерных движках, особенностях парсинга HTML/CSS и моделях цикла событий.
Дмитрий поделится действительно работающими хитростями оптимизации производительности веб-приложений и сайтов, проверенными на крупных веб-проектах для международных компаний.
Невероятно полезно для джунов, спасибо))
клевый доклад, спасибо большое!
Спасибо за всю инфу, про Layers вообще не знал(это меняет многое!), еще раз спасибо!
Крутой доклад, спасибо!
супер, узнал много нового, особенно по дев тулз
Гоподи, почему так мало лайков, это же гииииигантский раздел за 1 час с лишним, спасибо большое за ваши труды!
А чего всё на английском-то?
Аттрибут defer тоже самое, что и async, только можно явно указать порядок выполнения скриптов? 😂
Какой ужас.
Аттрибут defer явно указывает парсеру, что скрипт должен быть загружен только после построения всего dom.
А async может загрузить скрипт до построения dom и может привести к критическим ошибкам, если в данном скрипте есть обращение к дом, который ещё не загрузился.
Это теория на уровне junior.
ты все верно говоришь) именно это я подразумевал сказать, но соглашусь - сформулировал очень неоднозначно
Хороший доклад, спасибо! Хорошо структурирован и очень полезный.
Насколько я понимаю, функция requestIdleCallback как раз очень полезная. Она ведь запускается только тогда, когда нет нагрузки и есть свободные ресурсы
спасибо. хорошая структура материала, помогает восполнить очевидные и не очень пробелы в знаниях.
я не понимаю зачем делать слайды на английском языке, потому что аудитория русская. Если ты англичанин - вот тебе ссылка на английскую версию слайдов. Или же чувак хочет вещать и для англоязычной аудитории. Хотя, мне кажется, там и своих героев хватает. Хотя я и знаю язык в достаточной степени, чтобы понимать о чем идет речь на слайдах, все же отвлекаясь на перевод слов отвлекаешься от того, что говорит докладчик, или приходится останавливать видео. Я что хочу сказать, что это - не очень хороший жест по отношению к слушателям, и думал он в момент составления слайдов явно не о них. До конца не досмотрел еще, но в целом материал кажется неплохим.
Досмотрел. Материал обширный и все сразу переварить не получится. Надо дальше вникать в детали и проч. Спасибо за доклад.
Скорее всего доклад не для русских, отсюда и англоязычность. А перевести, рука обломится, поэтому что имеем то имеем. Проще пойти почитать информацию самостоятельно в таком случае, достоверность будет выше чем слушать стороннюю интерпретацию.
P.S У меня есть ссылочки на очень интересные темы связанные с работой браузера если нужно могу поделиться. Я это вообще на перемотке глянул, подача заунывная.
@@Maxim9575 скиньте, пожалуйста в личку или сюда
@@oleg_andrianov ответ то ли фильтруется с ссылками либо автор канала удаляет. Оставьте мне свой почтовый ящик.
Спасибо отличный доклад
Если не ошибаюсь, setTimeout это макротаска
Промисы это часть языка JavaScript , они никак не относятся к браузерным api. Браузерный api это fetch
Колбэки все равно ждут пустого стека, тут браузер учавствует, промис это просто интерфейс иного взаимодействия, без колбэк хэллов в коде
Клёвый доклад
Пиарщица-стройняшка, ничо так :)
Очень очень поверхностно (
сын цирка
Начало 1:42
Я здесь, потому что хочу понять, почему мои 100-200 мс превращаются в ваши 500-2000 мс.
Иван, Вы про что?
@@antonveremyanin6318 я бэкенд
@@TeppopucT я узбек
Интересный доклад!
Доклад в целом неплохой, но подача хромает. Даже не буду говорить про саму подачу от спикера. Скажу что звук самой записи плохой. Можно и нужно лучше, если вы выкладываете на ютуб хотите собирать лайки.
От себя добавляю, что хотелось узнать про тяжесть парсинга различных CSS-селекторов. К сожалению тут этого коснулись совсем немного. Понимаю, о чем говорит автор, но на практике никогда не встречал проблем с вложенными цсс-селекторами. Мне кажется что БЭМ был придуман не для ускорения цсс-парсинга, а для борьбы с "перезаписыванием" различных цсс-правил.
Моё мнение - может в 2007 году вложенные селекторы и нагружали браузер, но современный цсс работает на столько быстро и хорошо, что это вообще не та проблема, на которую нужно смотреть. Дом состоящий из 100-150к узлов нагрузит браузер намного сильнее, чем сложный цсс, примененный на этот дом.
Не понял, о каких потоках идёт речь на 01:04:00. JS же однопоточный
В данном случае речь идёт о веб воркерах. Браузерный Web API позволяет обозначить кусок логики как воркер, и после этого браузер будет выполнять его в отдельном потоке. Веб воркер не имеет доступа к main thread потоку, в котором исполняется основной js. Если ресурсов устройства хватит, то web worker API исполнит код, обозначенный как web worker, в отдельном потоке, иначе в конкурентном режиме.
охуенно пацаны, лайк
Лекция - огонь!!!!
Спасибо! Очень полезно и доступно!
Спасибо, это великолепный доклад.
Звук, ужасный!
спасибо
Господи, почему у вас все разрабы сидят на презентации... Такое чувство что вы боитесь публику, прячетесь за столом. Удручает. Посмотрите как себя ведут спикеры на крыпных митапах. Тема хорошая, но осадочек от того что докладчик от меня что-то прячет осталось)
Станислав, а сможете привести пример образцового выступления с Вашей точки зрения?
@@dsrcorporationru ruclips.net/video/3N4fXRm_Dic/видео.html
@@dsrcorporationru ruclips.net/video/vkUTX1hruF8/видео.html&ab_channel=DevConf
Согласен. Можно пойти дальше и провести митап стоя на голове.
Поражаюсь баранам, которым важно КАК, но не важно ЧТО. Осадочек у него остался, какое надо самомнение иметь чтобы полагать, что кому-то не насрать на тебя - я не знаю.
А зачем стоять? Что за бзик?!
всё бы хорошо но слушать не возможно, работайте над ораторским искусством и подачей