Логотип

Компания 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 может внедряться даже в сложные низкоуровневые системы без немедленных потерь скорости.

Читать  Ubuntu использует программное обеспечение пользовательского пространства Intel NPU для ускорения ИИ

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

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

 

FAQ

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

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

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

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

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

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

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

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

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

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

Читать  Nvidia использует ИИ для создания графических процессоров с искусственным интеллектом, и именно так мы получаем Терминатора

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

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

Редактор: AndreyEx

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

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

Если статья понравилась, то поделитесь ей в социальных сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

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


Загрузка...

Спасибо!

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

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