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 обязательно


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

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

     
     
  • 2.3, Аноним (3), 23:54, 23/02/2026 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Не хватает только SJW активистов для полной картины
     
  • 2.16, Аноним (16), 00:11, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ladybird+AI+Rust
     
  • 2.17, Аноним (17), 00:11, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Просто строгие концепции языка позволяют это делать. А в Си и крестах уязвимости памяти по 30 лет висят, пока в по горячим следам какой-то атаки наконец их замечают.
     
     
  • 3.43, Аноним83 (?), 01:44, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Для обратного переписывания из раста в С хватит какого то простого транслятора типа vala условного, и пары часов от силы.

    В С и крестах проектах за последние 15 лет исправили практически всё на чём оно само падало во время обычно работы, потом натравили статические анализаторы и фаззеры и теперь иногда что то всплывает из того что нормальный юзер никогда не встретит.
    От того что там где то в хорге или где то ещё нашли ошибку из 1980-1990х - юзерам пофиг, они такое никогда не встречали за все 40-30 лет использования.

     
     
  • 4.61, Аноним (-), 03:46, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Для обратного переписывания из раста в С хватит какого то простого транслятора
    > типа vala условного, и пары часов от силы.

    И что потом с этим дважды конвентированым спагетти делать, интересно? КМК тот гражданин уже сейчас то замучается либу майнтайнить. И видимо шатдаун проекта не за горами. Все равно рыночная доля в районе плинтуса, можно хоть потроллить напоследок и может какой фонд даже поведется, мало ли.

     
  • 2.22, Аноним (22), 00:31, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    + Electrron + Snap + 128Гб озу требования.
    Есть где разгуляться.
     
     
  • 3.23, Аноним (23), 00:33, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • –8 +/
    Будто сейчас кто-то использует меньше 64 гб.
     
     
  • 4.25, 12yoexpert (ok), 00:36, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    лол, даже на gentoo с 16 гигами норм

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

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

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

     
     
  • 7.29, Аноним (23), 00:42, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Это фреймворки, типа джанго, реакт, ангуляр и тд с сотней либ.
     
     
  • 8.40, 12yoexpert (ok), 01:40, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    а зачем их запускать у себя на компе ... текст свёрнут, показать
     
     
  • 9.44, Аноним (17), 01:53, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Предлагаешь отказаться от 90 интернета ... текст свёрнут, показать
     
     
  • 10.54, 12yoexpert (ok), 03:15, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    от 90 скриптов в интернете - да, всеми обеими руками за uBO dns фильтры творя... текст свёрнут, показать
     
     
  • 11.59, Аноним (17), 03:44, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Теперь понятно С таким подходом и 4 гб за глаза ... текст свёрнут, показать
     
     
  • 12.62, 12yoexpert (ok), 04:00, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    тебе-то откуда знать купи 128 и топи электричеством в любую погоду... текст свёрнут, показать
     
     
  • 13.71, Аноним (23), 05:51, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А что тут знать Если не хватает, значит отказываешься Не хватает на ютуб, ну н... текст свёрнут, показать
     
  • 4.57, Аноним (57), 03:23, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    У меня 16 гигов. Вместе с системой и открытыми приложениями занято 35%. Идите вы нафиг с такими утверждениями.
     
     
  • 5.72, Аноним (23), 06:02, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ну отключи свои 48 гб свопа и посмотри сколько у тебя будет занято)
     
     
  • 6.74, Аноним (74), 06:27, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Это ты уже от бессилия написал.
     
  • 4.68, Аноним (74), 04:39, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Будто сейчас кто-то использует меньше 64 гб.

    Раздался комментарий на опенете 🤭

     
     
  • 5.77, Аноним (23), 06:57, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А что 128?
     

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

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

     
     
  • 2.70, Аноним (70), 05:15, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Доверь они "ии" писать , а не переписывать - проект можно сразу закрывать . Даже не начиная .
     

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

    Не не слышал.

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

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

     
     
  • 2.34, Аноним (34), 01:32, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Там не только тесты проходят, там ещё и ast сравнили и они одинаковые.
     
     
  • 3.38, Аноним83 (?), 01:37, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Вопрос то не в абстрактном AST, который является результатом работы скомпилированного кода, а в том, как изначальный исходный код поддерживать и править если там АИ нагенерит какой то крипто код нечитабельный и непонимабельный.
     
     
  • 4.63, laindono (ok), 04:04, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    AST является результатом парсинга, а не компиляции.
     
  • 2.37, Аноним (37), 01:35, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Я спец.LLM не использовал,

    Не читал но осуждаю?)

    > но chatgpt

    "мне рабинович напел" (с)

    Ну так попробуй, а потом будешь хаять))

     
  • 2.78, Аноним (23), 06:58, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > что его можно поддерживать

    А нужно? Так-то хром есть.

     

  • 1.20, Аноним (20), 00:15, 24/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Браузер умер, не успев родиться. F.
     
  • 1.21, Аноним (21), 00:20, 24/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Ага, я чет нормальных сборок под Мак на сайте не нашел. Говорят собирайте сами, а они уже че то там переписывать собрались.
     
     
  • 2.24, Аноним (23), 00:35, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Пользователи Мак заслуживают только Сафари.
     
     
  • 3.49, Аноним (49), 02:49, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Отличный браузер.
    Использую как основной.
    Фуфлофокс держу как второй бравсер.
     
     
  • 4.64, 12yoexpert (ok), 04:06, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    так основной или второй? ты определись
     
  • 3.73, Аноним (74), 06:24, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Завидовать - плохо.
     

  • 1.30, НяшМяш (ok), 00:55, 24/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Для переписывания чего-нибудь с помощью аишки очень помогают нормальные ошибки компилятора и в принципе строгость языка. Поэтому так много ревайбкодят всё на раст. Поэтому никто ничего не переписывает на кресты, которым давно на кладбище прогулы ставят.
     
     
  • 2.39, Аноним83 (?), 01:39, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так вы похоже даже man по C компиляторам не читали, там можно много всего понавключать.
     
     
  • 3.41, 12yoexpert (ok), 01:43, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    его любимый msdn прибили давным-давно
     
  • 2.53, Сладкая булочка (?), 03:11, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Для переписывания чего-нибудь с помощью аишки очень помогают нормальные ошибки компилятора и в принципе строгость языка. Поэтому так много ревайбкодят всё на раст.

    Ага, а еще на питоне...

     

  • 1.31, Аноним (31), 01:09, 24/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >Вариант на Rust продемонстрировал полное совпадение генерируемого AST и байткода с вариантом на С++, регрессий пока не выявлено. В тестах JavaScript также не было выявлено снижения производительности.

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

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

  • 1.33, q (ok), 01:24, 24/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > столкнулись с ограниченной поддержкой платформ, отличных от Apple

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

     
     
  • 2.42, 12yoexpert (ok), 01:44, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    ты имел ввиду подкасты?
     

  • 1.35, Аноним (34), 01:34, 24/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ну т.е. получится ещё один фаерфокс, и нафиг он тогда нужен? Была ведь киллер фича - браущер на чистом С++ без всяких растов, swift'ов, nim'ов и zig'ов. А теперь не нужен.
     
  • 1.36, Аноним83 (?), 01:35, 24/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    У браузера явно "большое будущее", раз они до сих пор заняты выбором языка на котором будут писать :)
     
  • 1.45, Nicho (ok), 02:24, 24/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Еще Servo пилят, жаль что Firefox медленный.
    Мне кажется надо, чтобы Webkit поддерживал Винду и Андроид, увидим на каком движке будет Orion для Windows
    Нет идеальных браузеров, какие то все не доделанные чтоле..
    Опера 12 Престо наверное настолько крутая была, что до сих пор с нее всякое крадут для других браузеров...
     
  • 1.51, Аноним (51), 02:56, 24/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Так весь мульён на AI сольют и не заметят, а потом придётся разбираться, что оно им там понаписало.
     
  • 1.56, Сладкая булочка (?), 03:20, 24/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В репортах проблемы, что сайты не открываются, а он с ЫЫ играется и растом... Ну теперь то сайты точно откроются. Ведь так?
     
     
  • 2.58, Сладкая булочка (?), 03:35, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >  What’s next
    >
    > This is not becoming the main focus of the project. We will continue developing the engine in C++, and porting subsystems to Rust will be a sidetrack that runs for a long time. New Rust code will coexist with existing C++ through well-defined interop boundaries.
    >
    > We want to be deliberate about which parts get ported and in what order, so the porting effort is managed by the core team. Please coordinate with us before starting any porting work so nobody wastes their time on something we can’t merge.
    >
    > I know this will be a controversial move, but I believe it’s the right decision for Ladybird’s future. :^)

    Ну и зачем размывать кодобазу двумя языками?

     

  • 1.65, 12yoexpert (ok), 04:10, 24/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > Андреас Клинг когда-то работал в компании Nokia и занимался разработкой KHTML, а затем в Apple был одним из разработчиков Safari

    то есть это будет уже третий браузер, который он закапывает

     
  • 1.67, Аноним12345 (?), 04:34, 24/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    щас любой студент уже сам код не пишет, а берет готовенькое
    скоро весь софт так перепишут, включая ядро
     

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



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

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