Исследуем Ladybird: браузерный проект без Chromium
Ladybird — это движок веб-браузера, созданный с нуля: без Chromium, без WebKit, без Gecko — разработанный организацией Ladybird Browser Initiative, некоммерческой организацией со статусом 501(c)(3), основанной Андреасом Клингом и Крисом Ванстратом. Это первый по-настоящему новый независимый браузерный движок за более чем десятилетие, достигший такого уровня соответствия стандартам, что заслуживает внимания фронтенд-разработчика. В этой статье даются ответы на три вопроса, которые реально возникают у разработчика, когда он видит «Ladybird» в трендах Hacker News или X: это серьёзно, имеет ли смысл альфа-версия 2026 года, и меняет ли это что-то в том вебе, который вы разрабатываете. Коротко: да, вероятно, и пока нет — но именно траектория развития здесь интересна.
Ключевые выводы
- Ladybird создаётся с нуля в рамках некоммерческой организации 501(c)(3) — Ladybird Browser Initiative — под руководством Андреаса Клинга в качестве президента; это не форк какого-либо существующего движка.
- Современный веб работает на трёх движках (Blink, WebKit, Gecko); последний новый независимый движок, достигший широкого распространения, появился ещё до перехода Opera на Blink в 2013 году.
- По данным апрельского 2026 года информационного бюллетеня, Ladybird прошёл 2 067 263 подтеста Web Platform Tests и показал 97,8% успешных результатов по импортированным подтестам соответствия JavaScript в наборе test262.
- В феврале 2026 года команда внедрила переписанный на Rust фронтенд-конвейер LibJS — лексер, парсер, AST, сборщик областей видимости и генератор байт-кода — включённый по умолчанию.
- Публичная альфа-версия для Linux и macOS запланирована на 2026 год; Ladybird находится в стадии пре-альфа и не подходит для повседневного использования.
Что такое Ladybird и кто его создаёт
Ladybird — это независимый браузерный движок, не имеющий общего кода с Blink, WebKit или Gecko, управляемый организацией Ladybird Browser Initiative — зарегистрированной некоммерческой организацией со статусом 501(c)(3). Согласно странице организации, текущее руководство включает Андреаса Клинга в роли президента, Тима Флинна в роли секретаря и Майка Шейвера в роли казначея. Проект начинался как HTML-просмотрщик в составе SerenityOS — хобби-операционной системы Клинга, — прежде чем выделиться в самостоятельный кроссплатформенный браузер.
Структура управления — более весомый индикатор серьёзности проекта, чем любой список функций. Ladybird финансируется за счёт спонсорства и пожертвований, а не рекламы или продаж устройств. Крис Ванстрат — сооснователь GitHub — стал сооснователем Initiative, а его семья пообещала пожертвовать 1 миллион долларов, о чём было объявлено на awesomekling.github.io. Список спонсоров проекта, опубликованный на ladybird.org (по состоянию на апрель 2026 года), включает платиновых спонсоров FUTO, Shopify и Cloudflare, а также золотых спонсоров: Human Rights Foundation, Proton, Гильермо Рауча и Ohne Makler. Проверяйте актуальный состав спонсоров непосредственно на сайте, поскольку он меняется по мере роста проекта.
Для скептиков это самый важный аргумент: именованное юридическое лицо, поимённые руководители, поимённые корпоративные спонсоры и верифицируемое финансовое обязательство. Ladybird — не прототип выходного дня.
Почему новый браузерный движок — редкость
Discover how at OpenReplay.com.
Веб работает на трёх движках — Google Blink, Apple WebKit и Mozilla Gecko, — и появление по-настоящему нового движка — редкость, поскольку порог входа чрезвычайно высок. В последний раз, когда новый независимый движок достиг значимого распространения, Opera ещё использовала Presto; это закончилось в 2013 году, когда Opera перешла на браузер на основе Chromium, а переход Microsoft с EdgeHTML завершился стабильным релизом Chromium-based Edge в 2020 году. Сегодня веб в значительной мере зависит от этих трёх движков рендеринга, причём Blink занимает доминирующую долю рынка браузеров по данным StatCounter.
Создание нового движка исключительно сложно, поскольку он должен пройти десятки тысяч тестов совместимости и корректно обрабатывать HTML, CSS, JavaScript, графику, безопасность, доступность и производительность в масштабах реального веба. Эталоном для этой области является набор Web Platform Tests (WPT) — кросс-вендорный проект по проверке соответствия стандартам. WPT содержит миллионы отдельных подтестов; воспроизведение поведения, на которое полагаются реальные сайты, — включая недокументированные особенности, которые существующие движки реализуют уже десятилетиями, — это именно та работа, которая исторически губила независимые движки. Строгая реализация стандартов, ломающая сайты, зависящие от этих особенностей, не проходит единственный коммерчески значимый тест: корректное отображение существующего веба.
Именно этот контекст делает Ladybird примечательным. Он не конкурирует по функциональности. Он пытается преодолеть планку соответствия стандартам, которую консолидация последнего десятилетия сделала практически непреодолимой.
Архитектура Ladybird изнутри
Многопроцессная архитектура Ladybird разделяет рендеринг, декодирование изображений и сетевые запросы на отдельные изолированные процессы, взаимодействующие через межпроцессное взаимодействие. Согласно документации проекта и структуре исходного кода, движок разделён на основной UI-процесс и набор вспомогательных процессов: WebContent отвечает за рендеринг и выполнение скриптов, ImageDecoder декодирует изображения, а RequestServer обрабатывает сетевые запросы. Каждый процесс веб-контента работает в изолированной среде.
Смысл такого разделения — изоляция на уровне процессов. Декодирование недоверенных данных изображений — исторически распространённый источник ошибок повреждения памяти — происходит в ImageDecoder, изолированном от процесса рендеринга. Сетевое взаимодействие реализовано в RequestServer, изолированном от содержимого страниц. Само разделение процессов является верифицируемым архитектурным решением; именно на этих границах строится модель безопасности Ladybird, созданная по образцу многопроцессных архитектур, принятых в основных браузерах за последние пятнадцать лет.
Работа по рендерингу и выполнению скриптов распределена по набору библиотек, каждая из которых отвечает за свой уровень платформы:
| Библиотека | Ответственность |
|---|---|
| LibWeb | Парсинг HTML/CSS, компоновка и рендеринг |
| LibJS | JavaScript: лексер, парсер, AST, генерация байт-кода и интерпретатор |
| LibWasm | Парсинг и выполнение WebAssembly |
| LibGfx | Примитивы 2D-графики и форматы изображений |
LibJS заслуживает отдельного упоминания, поскольку это не тонкая обёртка над существующим JavaScript-движком наподобие V8 или JavaScriptCore — это полноценная реализация с собственным лексером, парсером, AST, генератором байт-кода и байт-код интерпретатором. Эта деталь важна для следующего раздела, поскольку именно фронтенд этого конвейера стал местом приложения наиболее значимых недавних инженерных усилий проекта.
Языковая стратегия: ядро на C++, переход на Rust в процессе
Ядро Ladybird написано на современном C++, однако команда начала переносить компоненты, критичные с точки зрения производительности и безопасности, на Rust. В феврале 2026 года в проект была внедрена переработанная на Rust реализация фронтенд-конвейера LibJS — включающая лексер, парсер, AST, сборщик областей видимости и генератор байт-кода, — включённая по умолчанию, как сообщается в информационном бюллетене за февраль 2026 года. Это самая свежая и технически значимая разработка в проекте, отсутствующая в более ранних обзорах.
Мотивация стандартна для внедрения Rust в браузерный движок: безопасность памяти в кодовых путях, обрабатывающих недоверенный ввод. JavaScript-парсер принимает произвольный текст, потенциально контролируемый злоумышленником, при каждой загрузке страницы — это именно тот тип компонента, где гарантии безопасности памяти на уровне языка устраняют целый класс уязвимостей. Чётко определённые границы взаимодействия также делают инкрементальную миграцию осуществимой: Rust-фронтенд может передавать байт-код существующему C++-интерпретатору без полного переписывания.
Это был не первый эксперимент проекта за пределами C++. Ранее Ladybird исследовал возможность использования Swift для части кодовой базы, а затем удалил весь Swift-код перед тем, как сделать ставку на Rust. Переход от «мы пробуем Swift» к «Rust-конвейер фронтенда поставляется по умолчанию» — признак инженерной зрелости: проект теперь принимает и пересматривает языковые решения осознанно, а не воспринимает C++ как неизменную данность.
Соответствие стандартам: где находится Ladybird
По состоянию на апрель 2026 года Ladybird прошёл 2 067 263 подтеста Web Platform Tests — по сравнению с 2 003 537 в предыдущем периоде, — согласно апрельскому бюллетеню 2026 года, а также показал 97,8% успешных результатов по 52 045 из 53 207 импортированных подтестов соответствия JavaScript в наборе test262. Эти цифры — наиболее убедительное свидетельство того, что Ladybird является серьёзным движком, а не демонстрационным проектом.
Несколько оговорок позволяют интерпретировать эти числа честно. Количество подтестов WPT — абсолютная величина, а не процент от полного набора; для получения общего рейтинга прохождения WPT в сравнении с другими движками следует обращаться непосредственно к wpt.fyi с указанием даты запроса, поскольку размер набора и результаты по каждому браузеру постоянно меняются. Показатель test262 относится к импортированным подтестам, а не ко всему набору — Ladybird импортирует подмножество и отчитывается по нему. С этими оговорками картина такова: реализация JavaScript проходит подавляющее большинство запускаемых тестов соответствия, а реализация веб-платформы преодолевает миллионы подтестов WPT. Это значительно превышает порог, при котором движок вообще способен отображать реальный веб.
Дорожная карта и честные оговорки
Официальный сайт анонсирует публичную альфа-версию в 2026 году для Linux и macOS, согласно главной странице Ladybird. В вторичных источниках фигурируют даты бета- и стабильного релизов — 2027 и 2028 годы соответственно, — однако на данный момент они не подтверждены на ladybird.org и должны рассматриваться как ориентировочные, а не как обязательства. Сроки пре-альфа-разработки сдвигаются, а работа по обеспечению соответствия браузерного движка стандартам по своей природе бесконечна, поэтому любая дата после альфы 2026 года — это цель, а не обещание.
Поддержка платформ уже, чем у готового браузера, но шире, чем «только Linux». Альфа-версия нацелена на Linux и macOS; поддержка Windows находится в активной разработке, а рабочие процессы сборки на основе WSL2 уже существуют для разработчиков на Windows, желающих запустить движок сегодня. Практическое состояние на момент написания этой статьи — программное обеспечение, которое собирается и запускается, но не готово к повседневному использованию: ожидайте отсутствующих функций и шероховатостей.
Почему Ladybird важен для фронтенд-разработчиков
Четвёртый независимый браузерный движок важен для фронтенд-разработчиков как точка давления на соответствие стандартам, а не как новый браузер, под который нужно разрабатывать. Проект, строго проходящий WPT и создающий задачи в спецификациях при поломке реальных сайтов, создаёт ответственность, которой не обеспечивает олигополия из двух-трёх движков. Ценность структурная, а не в доле рынка.
Поскольку некоммерческая структура Ladybird не защищает рекламный доход и не отстаивает интересы экосистемы устройств, это единственный движок, нацеленный на полноценный браузер для конечного пользователя без структурных стимулов отклоняться от спецификаций W3C в пользу коммерческих интересов. Servo, изначально созданный Mozilla и теперь находящийся под управлением Linux Foundation, разделяет эту некоммерческую позицию, но в настоящее время разрабатывается как встраиваемый движок, а не полноценный браузерный продукт. Это различие становится конкретным, если вспомнить, что FLoC был предложением Google Privacy Sandbox, впоследствии заменённым Topics, а Intelligent Tracking Prevention — функция WebKit, отражающая приоритеты платформы Apple. Оба примера отражают коммерческий контекст своих родительских организаций; движок без такого контекста полностью устраняет это давление.
Специфические для движков особенности рендеринга и выполнения скриптов — граничные случаи в CSS-компоновке, различия в поведении JavaScript на краях спецификации — это класс ошибок, проявляющихся в продакшн-трафике при разнородной браузерной аудитории, а не при локальном тестировании в одном движке. Записи сессий при кросс-браузерных проблемах нередко выявляют сбои, которые никогда не воспроизводились на машине разработчика. Чем больше независимых реализаций проходят один и тот же набор тестов соответствия, тем меньше пространства, где могут скрываться подобные особенности.
Как следить за Ladybird и попробовать его
Ladybird — пре-альфа-программное обеспечение, которое собирается и запускается на Linux и macOS. Авторитетный способ следить за ним — собственные каналы проекта: вторичные материалы устаревают в течение нескольких недель. Лента ladybird.org/news регулярно публикует информационные бюллетени с данными о соответствии стандартам, изменениями архитектуры и обновлениями по вехам — это основной источник для всех утверждений о статусе проекта в данной статье. Исходный код находится в репозитории LadybirdBrowser/ladybird на GitHub.
Для сборки и запуска следуйте актуальным инструкциям по сборке в официальной документации, а не сторонним руководствам — списки зависимостей и команды сборки часто меняются в проекте, развивающемся столь стремительно. После клонирования и установки зависимостей точкой входа для сборки и запуска служит скрипт Meta:
git clone https://github.com/LadybirdBrowser/ladybird.git
cd ladybird
./Meta/ladybird.py run
Форма ./Meta/ladybird.py run заменяет устаревшие команды ladybird.sh, встречающиеся в старых руководствах. Относитесь с подозрением к любым конкретным версиям зависимостей, найденным за пределами официальной документации; перед началом работы сверяйтесь с инструкциями по сборке для получения актуальных требований к инструментарию.
Ladybird — это реальный, хорошо управляемый браузерный движок, созданный с нуля и преодолевающий серьёзные планки соответствия стандартам. Сегодня это не жизнеспособная альтернатива Chrome, но наиболее убедительная попытка обеспечить разнообразие движков за более чем десятилетие. Конкретное следующее действие — добавить ladybird.org/news в закладки и отслеживать показатели соответствия в каждом бюллетене; траектория этих цифр расскажет вам больше о том, изменит ли это веб, который вы разрабатываете, чем любой отдельный снимок.
Часто задаваемые вопросы
Вы можете собрать и запустить Ladybird на Linux и macOS, однако это пре-альфа-программное обеспечение, ещё не пригодное для надёжного кросс-браузерного тестирования. Функциональность неполна, а поведение всё ещё нестабильно, поэтому успешный или неуспешный результат мало что говорит о готовности к продакшну. На данный момент отслеживание количества подтестов WPT в каждом бюллетене более информативно, чем тестирование собственного сайта, которое приобретёт смысл лишь после выхода публичной альфа-версии в 2026 году.
Нет. Ladybird не имеет общего кода с Chromium, WebKit или Gecko и написан с нуля. Его библиотека рендеринга LibWeb, JavaScript-движок LibJS, движок WebAssembly LibWasm и графическая библиотека LibGfx — все являются оригинальными реализациями, а не обёртками над V8 или каким-либо существующим движком. Проект возник внутри SerenityOS как HTML-просмотрщик, прежде чем стать самостоятельным кроссплатформенным браузером, и черпает архитектурное вдохновение из предшествующих движков, не заимствуя их исходный код.
Цифра 2 067 263, приведённая в апрельском бюллетене 2026 года, — это абсолютное количество пройденных подтестов Web Platform Tests, а не процент от полного набора. Общий размер набора постоянно меняется по мере добавления тестов, поэтому абсолютное число нельзя преобразовать в рейтинг без знаменателя. Для сравнения общего процента прохождения с Blink, WebKit или Gecko обращайтесь непосредственно к wpt.fyi и фиксируйте дату запроса, поскольку результаты меняются ежедневно.
Миграция на Rust нацелена на кодовые пути, обрабатывающие недоверенный ввод, где гарантии безопасности памяти предотвращают целый класс уязвимостей. В бюллетене за февраль 2026 года сообщается о переработке фронтенд-конвейера LibJS — лексера, парсера, AST, сборщика областей видимости и генератора байт-кода — на Rust с включением по умолчанию, поскольку JavaScript-парсер принимает контролируемый злоумышленником текст при каждой загрузке страницы. Чётко определённые границы взаимодействия позволяют Rust-фронтенду передавать байт-код существующему C++-интерпретатору, делая инкрементальную миграцию осуществимой без полного переписывания.
Understand every bug
Uncover frustrations, understand bugs and fix slowdowns like never before with OpenReplay — the open-source session replay tool for developers. Self-host it in minutes, and have complete control over your customer data. Check our GitHub repo and join the thousands of developers in our community.