Как работает браузер: дерево рендеринга, HTML/CSS парсинг, модели цикла событий

Sdílet
Vložit
  • čas přidán 12. 12. 2019
  • Доклад Дмитрия Разинкова на митапе по веб-разработке, организованном DSR Corporation.
    Вы узнаете, какие процессы происходят в браузере при отрисовке веб-страниц, разберетесь со структурой дерева рендеринга, узнаете о наиболее эффективных CSS-селекторах, распространенных браузерных движках, особенностях парсинга HTML/CSS и моделях цикла событий.
    Дмитрий поделится действительно работающими хитростями оптимизации производительности веб-приложений и сайтов, проверенными на крупных веб-проектах для международных компаний.

Komentáře • 45

  • @damirkacineman538
    @damirkacineman538 Před 4 lety +32

    Гоподи, почему так мало лайков, это же гииииигантский раздел за 1 час с лишним, спасибо большое за ваши труды!

  • @user-cg8mv6oz8l
    @user-cg8mv6oz8l Před 3 lety +1

    Крутой доклад, спасибо!

  • @user-yr3gb9bh4k
    @user-yr3gb9bh4k Před rokem

    Спасибо, это великолепный доклад.

  • @yaolegoleynik
    @yaolegoleynik Před 3 lety +8

    Спасибо отличный доклад

  • @Alexus1504
    @Alexus1504 Před 3 lety +2

    Интересный доклад!

  • @user-br1tu9xh4w
    @user-br1tu9xh4w Před rokem

    Спасибо! Очень полезно и доступно!

  • @denispepper2830
    @denispepper2830 Před rokem +1

    Лекция - огонь!!!!

  • @dzianisdashkevich1848
    @dzianisdashkevich1848 Před 2 lety +2

    клевый доклад, спасибо большое!

  • @evgenylevchenya8734
    @evgenylevchenya8734 Před 4 lety +7

    Клёвый доклад

  • @user-hj2ld5gh9f
    @user-hj2ld5gh9f Před 4 lety +17

    Хороший доклад, спасибо! Хорошо структурирован и очень полезный.

  • @somethingn6091
    @somethingn6091 Před 2 lety +1

    Невероятно полезно для джунов, спасибо))

  • @zakchips
    @zakchips Před 3 lety +6

    спасибо. хорошая структура материала, помогает восполнить очевидные и не очень пробелы в знаниях.

  • @dobermanpharaoh7567
    @dobermanpharaoh7567 Před 3 lety +2

    супер, узнал много нового, особенно по дев тулз

  • @armensargsyan8981
    @armensargsyan8981 Před rokem

    Спасибо за всю инфу, про Layers вообще не знал(это меняет многое!), еще раз спасибо!

  • @OutsideVibe
    @OutsideVibe Před rokem

    спасибо

  • @egorpopov7965
    @egorpopov7965 Před 3 lety +1

    охуенно пацаны, лайк

  • @user-mw7vo6tx9i
    @user-mw7vo6tx9i Před 6 měsíci +1

    Насколько я понимаю, функция requestIdleCallback как раз очень полезная. Она ведь запускается только тогда, когда нет нагрузки и есть свободные ресурсы

  • @slavikfedorik1896
    @slavikfedorik1896 Před rokem +1

    Если не ошибаюсь, setTimeout это макротаска

  • @kirillpavlovskii8342
    @kirillpavlovskii8342 Před 2 lety +9

    Промисы это часть языка JavaScript , они никак не относятся к браузерным api. Браузерный api это fetch

    • @D0nSergio
      @D0nSergio Před 4 dny

      Колбэки все равно ждут пустого стека, тут браузер учавствует, промис это просто интерфейс иного взаимодействия, без колбэк хэллов в коде

  • @xrollup
    @xrollup Před 3 lety +13

    Пиарщица-стройняшка, ничо так :)

  • @user-lf1ep5io7r
    @user-lf1ep5io7r Před 2 lety +1

    Не понял, о каких потоках идёт речь на 01:04:00. JS же однопоточный

    • @dsrcorporationru
      @dsrcorporationru  Před 2 lety +2

      В данном случае речь идёт о веб воркерах. Браузерный Web API позволяет обозначить кусок логики как воркер, и после этого браузер будет выполнять его в отдельном потоке. Веб воркер не имеет доступа к main thread потоку, в котором исполняется основной js. Если ресурсов устройства хватит, то web worker API исполнит код, обозначенный как web worker, в отдельном потоке, иначе в конкурентном режиме.

  • @user-bd3ub4gn9x
    @user-bd3ub4gn9x Před 2 lety +4

    Аттрибут defer тоже самое, что и async, только можно явно указать порядок выполнения скриптов? 😂
    Какой ужас.
    Аттрибут defer явно указывает парсеру, что скрипт должен быть загружен только после построения всего dom.
    А async может загрузить скрипт до построения dom и может привести к критическим ошибкам, если в данном скрипте есть обращение к дом, который ещё не загрузился.
    Это теория на уровне junior.

    • @user-bv7jf1lu1s
      @user-bv7jf1lu1s Před rokem

      ты все верно говоришь) именно это я подразумевал сказать, но соглашусь - сформулировал очень неоднозначно

  • @TeppopucT
    @TeppopucT Před 3 lety +3

    Я здесь, потому что хочу понять, почему мои 100-200 мс превращаются в ваши 500-2000 мс.

  • @sad_rin
    @sad_rin Před 2 lety +3

    Очень очень поверхностно (

  • @oleg_andrianov
    @oleg_andrianov Před 2 lety +4

    я не понимаю зачем делать слайды на английском языке, потому что аудитория русская. Если ты англичанин - вот тебе ссылка на английскую версию слайдов. Или же чувак хочет вещать и для англоязычной аудитории. Хотя, мне кажется, там и своих героев хватает. Хотя я и знаю язык в достаточной степени, чтобы понимать о чем идет речь на слайдах, все же отвлекаясь на перевод слов отвлекаешься от того, что говорит докладчик, или приходится останавливать видео. Я что хочу сказать, что это - не очень хороший жест по отношению к слушателям, и думал он в момент составления слайдов явно не о них. До конца не досмотрел еще, но в целом материал кажется неплохим.
    Досмотрел. Материал обширный и все сразу переварить не получится. Надо дальше вникать в детали и проч. Спасибо за доклад.

    • @Maxim9575
      @Maxim9575 Před 2 lety

      Скорее всего доклад не для русских, отсюда и англоязычность. А перевести, рука обломится, поэтому что имеем то имеем. Проще пойти почитать информацию самостоятельно в таком случае, достоверность будет выше чем слушать стороннюю интерпретацию.
      P.S У меня есть ссылочки на очень интересные темы связанные с работой браузера если нужно могу поделиться. Я это вообще на перемотке глянул, подача заунывная.

    • @oleg_andrianov
      @oleg_andrianov Před 2 lety

      @@Maxim9575 скиньте, пожалуйста в личку или сюда

    • @Maxim9575
      @Maxim9575 Před 2 lety

      @@oleg_andrianov ответ то ли фильтруется с ссылками либо автор канала удаляет. Оставьте мне свой почтовый ящик.

  • @danilx6239
    @danilx6239 Před rokem

    Доклад в целом неплохой, но подача хромает. Даже не буду говорить про саму подачу от спикера. Скажу что звук самой записи плохой. Можно и нужно лучше, если вы выкладываете на ютуб хотите собирать лайки.
    От себя добавляю, что хотелось узнать про тяжесть парсинга различных CSS-селекторов. К сожалению тут этого коснулись совсем немного. Понимаю, о чем говорит автор, но на практике никогда не встречал проблем с вложенными цсс-селекторами. Мне кажется что БЭМ был придуман не для ускорения цсс-парсинга, а для борьбы с "перезаписыванием" различных цсс-правил.
    Моё мнение - может в 2007 году вложенные селекторы и нагружали браузер, но современный цсс работает на столько быстро и хорошо, что это вообще не та проблема, на которую нужно смотреть. Дом состоящий из 100-150к узлов нагрузит браузер намного сильнее, чем сложный цсс, примененный на этот дом.

  • @webxcryptoit7308
    @webxcryptoit7308 Před rokem

    Звук, ужасный!

  • @MsZulu0
    @MsZulu0 Před 3 lety +3

    Господи, почему у вас все разрабы сидят на презентации... Такое чувство что вы боитесь публику, прячетесь за столом. Удручает. Посмотрите как себя ведут спикеры на крыпных митапах. Тема хорошая, но осадочек от того что докладчик от меня что-то прячет осталось)

    • @dsrcorporationru
      @dsrcorporationru  Před 3 lety +2

      Станислав, а сможете привести пример образцового выступления с Вашей точки зрения?

    • @ubube4603
      @ubube4603 Před 3 lety

      @@dsrcorporationru czcams.com/video/3N4fXRm_Dic/video.html

    • @HaveFun77777
      @HaveFun77777 Před 3 lety +1

      @@dsrcorporationru czcams.com/video/vkUTX1hruF8/video.html&ab_channel=DevConf

    • @1want2be3
      @1want2be3 Před 3 lety +32

      Согласен. Можно пойти дальше и провести митап стоя на голове.
      Поражаюсь баранам, которым важно КАК, но не важно ЧТО. Осадочек у него остался, какое надо самомнение иметь чтобы полагать, что кому-то не насрать на тебя - я не знаю.

    • @Alexus1504
      @Alexus1504 Před 3 lety +1

      А зачем стоять? Что за бзик?!

  • @egorrublev5529
    @egorrublev5529 Před 7 měsíci

    всё бы хорошо но слушать не возможно, работайте над ораторским искусством и подачей