Браузер 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:  Проект ИИ все еще прерван? 4 Ориентированность на анализ: ваша «организационная конституция» может не подходить для вашей стратегии ИИ.

Две недели спустя порт был готов. Около 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.