Браузер Ladybird портировал код C++ на Rust за 2 недели благодаря ИИ

1771929758
2026-02-24 10:32:00

Мы привыкли видеть веб-браузеры, основанные либо на Chromium, либо на Firefox, и многим людям надоела ситуация, подобная дуополии. Ladybird — это глоток свежего воздуха, поскольку это по-настоящему независимый браузер с собственным движком, созданным с нуля.

Хотя разработка идет полным ходом, на данный момент мы еще не увидели официального релиза. Первый альфа-релиз запланирован на 2026 год для Linux и macOS.

Тем не менее, его разработчики только что объявили, что внедряют в него некоторые элементы Rust.

Что происходит?

снимок экрана ранней сборки браузера Ladybird, работающего на MacOS, на нем показан список магазинов товаров для фанатовИсточник заполнителя: Божья коровка

В течение некоторого времени команда Ladybird искала безопасный для памяти язык, который в конечном итоге заменит C++. Свифт рассматривался в какой-то момент, но плохая совместимость с C++ и ограниченная поддержка платформ. за пределами экосистемы Apple это исключалось.

Фактически Rust был оценен и отвергнут еще в 2024 году. Причина заключалась в том, что он не очень хорошо сочетался с объектно-ориентированным программированием в стиле C++, от которого в значительной степени зависит веб-платформа. Но после еще одного года поисков ведущий разработчик Ladybird Андреас Клинг решил, что пришло время быть прагматичным.

Тот факт, что Firefox и Chromium уже начали использовать Rust в своих кодовых базах, также помог в этом.

Как это сделано?

Андреас начал с LibJS, JavaScript-движка Ladybird, поскольку его основные части довольно изолированы от остальной части кодовой базы и уже имеют сильное тестовое покрытие. Вместо того, чтобы писать код Rust с нуля, он использовал Claude Code и Codex для выполнения тяжелой работы по переводу.

Он очень ясно дал понять, что был задействован человеческий надзорпричем каждое решение о том, что портировать, в каком порядке и как должен быть структурирован код Rust, исходит от него. После выполнения было выполнено множество проверок, сравнивающих разные модели друг с другом для выявления ошибок.

Read more:  Защитник «Клипперс» Брэдли Бил выбыл на сезон из-за перелома бедра

Две недели спустя порт был готов. Около 25 000 строк Rust, что, по словам Андреаса, съело бы несколько месяцев ручной работы. Результаты также оказались хорошими: он прошел более 52 000 тестов test262 и около 12 000 регрессионных тестов Ladybird без сбоев и снижения производительности в каких-либо тестах JavaScript.

Он также добавляет, что:

Помимо наборов тестов, я провел обширное тестирование, просматривая веб-страницы в пошаговом режиме, в котором конвейеры C++ и Rust работают одновременно, проверяя, что выходные данные идентичны для каждого фрагмента JavaScript, проходящего через них.

Однако Rust не становится основным направлением проекта.. C++ по-прежнему находится в центре внимания, а работа по портированию Rust — это скорее медленная, долгосрочная работа, идущая параллельно с ним. Эти двое будут сосуществовать через определенные границы.

Авторы, заинтересованные в помощи с портом, также просят координировать свои действия с основной командой сначала, прежде чем прыгать.

Вы можете просмотреть блог объявлений, чтобы получить дополнительную информацию по этому поводу.

Не каждый браузер создан на основе Chrome: изучите эти варианты на базе Firefox

Думаете, все популярные браузеры основаны на Chromium? Взгляните на эти варианты на базе Firefox.

#Браузер #Ladybird #портировал #код #на #Rust #за #недели #благодаря #ИИ

Продолжение темы

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.