Логотип

Компания Ladybird начинает переписывать свой браузерный движок на языке Rust с помощью искусственного интеллекта

Компания Ladybird начинает переписывать свой браузерный движок на языке Rust с помощью искусственного интеллекта

Ladybird, новый браузер, который все еще находится в разработке, начал переписывать часть своего кода на языке Rust. Основатель проекта Андреас Клинг сказал, что команда рассматривала Swift как возможную замену C++. Однако Swift плохо работал с C++ и имел ограниченную поддержку за пределами платформ Apple.

«Когда в 2024 году мы впервые рассматривали Rust, мы отказались от него, потому что он не очень хорошо подходит для объектно-ориентированного программирования в стиле C++. Но после еще одного года раздумий пришло время сделать прагматичный выбор. У Rust есть необходимая нам экосистема и гарантии безопасности. И Firefox, и Chromium уже начали внедрять Rust в свои кодовые базы, и мы считаем, что это правильный выбор и для Ladybird».

 

Команда начинает с LibJS. Его лексер, парсер, абстрактное синтаксическое дерево и генератор байт-кода в значительной степени автономны и имеют обширное тестовое покрытие, включая собственные регрессионные тесты Ladybird.

Порт сгенерировал около 25 000 строк кода на языке Rust, и на его создание ушло около двух недель. Над проектом работали люди, но такие инструменты искусственного интеллекта, как Claude Code и Codex, помогли с сотнями небольших подсказок.

Тестирование подтвердило, что команда достигла поставленной цели. Версия на Rust прошла 52 898 тестов и 12 461 регрессионный тест Ladybird без каких-либо новых ошибок. Разработчики также отметили, что производительность всех отслеживаемых задач на JavaScript осталась прежней.

Читать  Основные приложения компьютера

На данный момент код на Rust написан в соответствии с шаблонами C++, даже в том, что касается распределения регистров, поэтому результат компиляции будет таким же. Команда планирует провести рефакторинг и упростить код позже, когда они будут уверены, что смогут убрать некоторые части, написанные на C++.

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

 

Подробнее читайте в объявлении.

 

Выводы

Проект Ladybird демонстрирует прагматичный подход к развитию современного браузерного движка: вместо резкого отказа от C++ команда выбрала постепенную интеграцию Rust в наиболее уязвимые и изолированные компоненты. Такой путь позволяет сохранить стабильность разработки и одновременно повысить безопасность кода.

Переход начался с JavaScript-движка LibJS — одного из наиболее автономных модулей с мощным тестовым покрытием. Уже первый порт показал впечатляющие результаты: десятки тысяч тестов были пройдены без регрессий, а производительность осталась на прежнем уровне. Это подтверждает, что Rust может внедряться даже в сложные низкоуровневые системы без немедленных потерь скорости.

Важно и то, что разработчики активно использовали ИИ-инструменты как вспомогательное средство, а не замену человеческой экспертизы. Перевод около 25 000 строк кода занял примерно две недели — задача, которая вручную могла бы растянуться на месяцы.

В долгосрочной перспективе стратегия Ladybird может стать примером для других крупных проектов на C++: постепенная миграция на безопасные языки, строгая проверка совместимости и параллельное сосуществование старого и нового кода. Если эксперимент окажется успешным, это укрепит позиции Rust как одного из ключевых языков системного программирования будущего.

Читать  Что такое AIOPS?

 

Часто задаваемые вопросы

Почему Ladybird начал переписывать движок на Rust?

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

Отказались ли разработчики полностью от C++?

Нет. Основная разработка по-прежнему ведётся на C++, а перенос подсистем в Rust рассматривается как долгосрочный параллельный процесс.

Почему переход начали именно с JavaScript-движка?

LibJS относительно изолирован от остальной системы и имеет обширное тестовое покрытие, что делает его идеальной «песочницей» для эксперимента с новым языком.

Использовался ли искусственный интеллект при переносе кода?

Да, ИИ-инструменты помогали переводить код и находить ошибки, но процесс оставался полностью под контролем разработчиков.

Повлиял ли переход на производительность браузера?

По имеющимся данным — нет. Тесты показали отсутствие регрессий и сохранение прежнего уровня производительности JavaScript-задач.

Когда можно ожидать релиз браузера?

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

Редактор: AndreyEx

Рейтинг: 5 (1 голос)

Важно: Данная статья носит информационный характер. Автор не несёт ответственности за возможные сбои или ошибки, возникшие при использовании описанного программного обеспечения.

Если статья понравилась, то поделитесь ей в социальных сетях:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

15 − пять =

Это может быть вам интересно


Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала