Браузерные движки и их особенности в веб-приложениях
Три презентации с выступлений наших фронтенд-разработчиков Надира Джилкибаева, Дениса Лобанова и Ильи Немировича на Frontend Conf (Москва, 4–5 октября 2018).
2. Построение дерева отображения 3. Построение макета 4. Отрисовка Происходит каждый раз, когда надо отобразить HTML-документ Спойлер: доклад про ускорение работы страницы на нашем стенде в 15:45 3 | 17
IP-адрес домена 3. IP-адрес попадает в кэш 4. Осуществляется запрос к серверу При изменении IP-адреса домена бывают ситуации, когда старый IP остается в кэше и браузер делает обращения по старому адресу! 11 | 17
У запросов и ответов есть заголовки и тело GET, POST, PUT, PATСH, DELETE, HEAD, OPTIONS Можно придумывать свои заголовки У ответов есть коды, и нужно не забывать про корректную обработку ответов 12 | 17
поток для рендеринга и JavaScript Сетевые запросы выполняются в отдельных потоках. Ограничение – 2-6 потоков на вкладку Можно порождать свои потоки через воркеры 14 | 17
Worker("sort-worker.js"); dataSortWorker.postMesssage(dataToSort); // The main thread is now free to continue working on other things... dataSortWorker.addEventListener('message', function(evt) { var sortedData = e.data; // Update data on screen... }); 5 | 13
на сопоставление селекторов, а вторую половину времени занимает построение RenderStyle (представления стиля) на основе сопоставленных правил». Rune Lillesveen, Opera Оптимизация CSS Layout Paint JavaScript Style Composite 6 | 13
{ // Puts the browser into a read-write-read-write cycle. for (var i = 0; i < paragraphs.length; i++) { paragraphs[i].style.width = box.offsetWidth + 'px'; } } 10 | 13