Просматривая одно из обучающих видео "Школы разработки интерфейсов" Яндекса, наткнулся на ссылку на офигенный труд израильской веб-программистки Тали Гарсиэль (Tali Garsiel) "How browsers work" (Как работают браузеры).
Она в течение нескольких лет отслеживала всю издаваемую информацию о внутреннем устройстве браузеров, изучала исходный код WebKit и Gecko и, в конце концов, собрала все воедино. Вот что пишет сама Тали:
Возможно для кого-то это давно уже не новость, но, надеюсь, для тех, кто не слышал, будет полезно (на хабре упоминаний не нашел).
Под катом содержание перевода, чтобы решить стоит ли читать.
Она в течение нескольких лет отслеживала всю издаваемую информацию о внутреннем устройстве браузеров, изучала исходный код WebKit и Gecko и, в конце концов, собрала все воедино. Вот что пишет сама Тали:
Когда на 90% компьютеров был установлен IE, приходилось мириться с тем, что это загадочный «черный ящик», однако теперь, когда более половины пользователей выбирает браузеры с открытым исходным кодом, пришло время разобраться, что скрывается у них внутри, в миллионах строк программного кода на C++...Пролистав, я был поражен — отличная работа. Внутреннее устройство браузеров, алгоритмы разбора — все хорошо иллюстрировано, доступно и понятно. И без излишних подробностей, страниц на 30-40. Как раз то, что нужно. Решил — это надо обязательно перевести. Покопался еще немного — оказалось перевод уже как 1,5 года есть!
Возможно для кого-то это давно уже не новость, но, надеюсь, для тех, кто не слышал, будет полезно (на хабре упоминаний не нашел).
Под катом содержание перевода, чтобы решить стоит ли читать.
Содержание
- Введение
Модуль отображения
- Модули отображения
- Основная схема работы
Синтаксический анализ: общие сведения- Грамматика
- Синтаксический и лексический анализаторы
- Перевод
- Пример синтаксического анализа
- Формальное определение словаря и синтаксиса
- Типы синтаксических анализаторов
- Автоматическое создание синтаксических анализаторов
- Определение грамматики HTML
- Контекстная грамматика
- DTD в HTML
- DOM
- Алгоритм синтаксического анализа
- Алгоритм лексического анализа
- Алгоритм построения дерева
- Действия после синтаксического анализа
- Обработка ошибок браузерами
- Система «грязных битов»
- Глобальная и инкрементная компоновка
- Синхронная и асинхронная компоновка
- Оптимизация
- Процесс компоновки
- Расчет ширины
- Перенос строк
- Глобальная и инкрементная отрисовка
- Порядок отрисовки
- Список отображения Firefox
- Хранилище прямоугольников в WebKit
Потоки модуля отображенияВизуальная модель CSS2ПозиционированиеМногослойное представление