The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Компоненты браузера Ladybird начали переписывать на Rust при помощи AI

23.02.2026 23:43 (MSK)

Андреас Клинг (Andreas Kling), основатель web-браузера Ladybird, объявил о решении задействовать язык Rust при разработке проекта и начале переписывания частей Ladybird на данном языке. В качестве эксперимента с C++ на Rust уже переписан JavaScript-движок LibJS. LibJS выбран из-за хорошего покрытия тестами, упрощающего оценку качества портирования.

Для ускорения портирования были задействованы AI-ассистенты Claude Code и OpenAI Codex, благодаря чему код удалось переписать за две недели. Перевод осуществлялся поступательно при участии разработчика, который в процессе работы отправил AI-ассистентам несколько сотен промптов, решая в какой последовательности и что портировать, а также указывая требования к результирующему коду на Rust. После получения кода в разных AI-моделях был проведено рецензирование результата и анализ кода на предмет ошибок и сомнительных решений.

В итоге переписанный на Rust вариант движка успешно прошёл все 52898 тестов на совместимость с ECMAScript из набора test262 и 12461 регрессионных текстов от проекта Ladybird. Вариант на Rust продемонстрировал полное совпадение генерируемого AST и байткода с вариантом на С++, регрессий пока не выявлено. В тестах JavaScript также не было выявлено снижения производительности. Кроме того, полное совпадение показало сравнительное тестирование результатов обработки сайтов при использовании вариантов LibJS на C++ и Rust.

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

Примечательно, что в 2024 году разработчики Ladybird решили использовать язык программирования Swift, но столкнулись с недостаточной интероперабельностью с кодом на C++ и ограниченной поддержкой платформ, отличных от Apple. Что касается Rust, то для этого языка отмечена более зрелая экосистема для системного программирования и гарантии безопасности. Кроме того, среди разработчиков Ladybird много участников, знакомых с данным языком. В 2024 году язык Rust не был утверждён для использования в Ladybird из-за парадигмы разработки на основе владения, не совсем сочетающейся с объектно-ориентированным стилем C++.

Андреас Клинг когда-то работал в компании Nokia и занимался разработкой KHTML, а затем в Apple был одним из разработчиков Safari. Изначально проект Ladybird был создан как приложение для операционной системы SerenityOS, но летом 2024 года был выделен в отдельный проект и получил пожертвование в 1 млн. долларов. Браузер написан на языке С++ и распространяется под лицензией BSD. Проектом развиваются собственный движок LibWeb, JavaScript-интерпретатор LibJS и сопутствующие библиотеки.

  1. Главная ссылка к новости (https://ladybird.org/posts/ado...)
  2. OpenNews: Браузер Ladybird успешно прошёл 90% тестов на совместимость с Web-платформой
  3. OpenNews: Уязвимость в LibJS, позволяющая выполнить код при открытии страницы в браузере Ladybird
  4. OpenNews: Браузер Ladybird опередил Servo при тестировании поддержки web-технологий
  5. OpenNews: Для продолжения разработки браузера Ladybird решено использовать язык Swift
  6. OpenNews: Лидер SerenityOS сложил с себя полномочия и основал форк браузера Ladybird
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64861-ladybird
Ключевые слова: ladybird, rust
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (23) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 23:49, 23/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    > rust + AI

    буллшит, блин, бинго.

     
     
  • 2.3, Аноним (3), 23:54, 23/02/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не хватает только SJW активистов для полной картины
     
  • 2.16, Аноним (16), 00:11, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ladybird+AI+Rust
     
  • 2.17, Аноним (17), 00:11, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Просто строгие концепции языка позволяют это делать. А в Си и крестах уязвимости памяти по 30 лет висят, пока в по горячим следам какой-то атаки наконец их замечают.
     
  • 2.22, Аноним (22), 00:31, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    + Electrron + Snap + 128Гб озу требования.
    Есть где разгуляться.
     
     
  • 3.23, Аноним (23), 00:33, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Будто сейчас кто-то использует меньше 64 гб.
     
     
  • 4.25, 12yoexpert (ok), 00:36, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    лол, даже на gentoo с 16 гигами норм

    если виртуалки не нужны, то и больше 32 гигов не нужно

     
     
  • 5.26, Аноним (23), 00:37, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Лол, сейчас одна вкладка браузера по 500 мб жрет.
     
     
  • 6.27, 12yoexpert (ok), 00:39, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    это не браузер, это хромиум

    не помню, когда у меня в firefox последний раз было открыто меньше сотни вкладок. в нормальном браузере они выгружаются автоматом, если не нужны

     
     
  • 7.29, Аноним (23), 00:42, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Это фреймворки, типа джанго, реакт, ангуляр и тд с сотней либ.
     

  • 1.4, Аноним (4), 23:55, 23/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Люди так в ядро линукс вайбкодили... Будите отказывается от ядра линукс?
     
     
  • 2.5, Аноним (5), 23:56, 23/02/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да.
     
  • 2.18, Аноним (16), 00:12, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Чтобы отказаться надо сначала принять.
     

  • 1.14, Аноним (14), 00:04, 24/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >В качестве эксперимента с C++ на Rust уже переписан JavaScript-движок LibJS. LibJS выбран из-за хорошего покрытия тестами, упрощающего оценку качества портирования.

    Лишний раз подтверждение, что на Rust именно переписывают.

     
  • 1.15, Rodegast (ok), 00:10, 24/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Компоненты браузера Ladybird

    Не не слышал.

     
  • 1.19, A.Stahl (ok), 00:14, 24/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Если код проходит тесты это ещё не значит что его можно поддерживать. Я спец.LLM не использовал, но chatgpt иногда в 5 строках может заблудиться и выдать что-то довольно странное.

    Впрочем, я тут мимокрокодил и дальнейшая судьба Ladybird меня не интересует. Пусть экспериментируют раз уж им так хочется.

     
  • 1.20, Аноним (20), 00:15, 24/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Браузер умер, не успев родиться. F.
     
  • 1.21, Аноним (21), 00:20, 24/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ага, я чет нормальных сборок под Мак на сайте не нашел. Говорят собирайте сами, а они уже че то там переписывать собрались.
     
     
  • 2.24, Аноним (23), 00:35, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Пользователи Мак заслуживают только Сафари.
     

  • 1.28, Аноним (28), 00:39, 24/02/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.30, НяшМяш (ok), 00:55, 24/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Для переписывания чего-нибудь с помощью аишки очень помогают нормальные ошибки компилятора и в принципе строгость языка. Поэтому так много ревайбкодят всё на раст. Поэтому никто ничего не переписывает на кресты, которым давно на кладбище прогулы ставят.
     
  • 1.31, Аноним (31), 01:09, 24/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Вариант на Rust продемонстрировал полное совпадение генерируемого AST и байткода с вариантом на С++, регрессий пока не выявлено. В тестах JavaScript также не было выявлено снижения производительности.

    А зачем переписывали тогда? Чтобы ни один человек не понимал кодовую базу?

     
     
  • 2.32, Аноним (32), 01:18, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ради безопасТности. (кого надо).
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру