Главный язык Apple не подошел для создания независимого браузера.

Независимый проект по разработке браузера Ladybird сменил курс: вместо языка Swift команда выбрала Rust. Попытки перейти на Swift, по признанию самих разработчиков, обошлись им примерно в год потерянного времени.
Ladybird - амбициозный проект: его авторы пишут браузер и движок рендеринга с нуля, не опираясь ни на один из существующих движков. Напомним, что все mainstream-браузеры сводятся к трём семействам: Firefox на базе Gecko, Safari на базе WebKit - который восходит к форку KHTML от KDE, сделанному Apple в 2003 году, - и Chrome на базе Blink, который Google форкнул из WebKit десятью годами позже. Ladybird стоит особняком от всех них.
Изначально браузер создавался как часть операционной системы SerenityOS и был написан на C++. В 2023 году основатель проекта Андреас Клинг выделил его в отдельный кроссплатформенный продукт, а в 2024 году объявил на X о переходе на Swift - относительно молодой язык от Apple, ставший открытым и кроссплатформенным. Однако эксперимент не удался: совместимость с C++ так и не заработала должным образом, а поддержка платформ за пределами экосистемы Apple оказалась слабой.
Клинг закрыл соответствующий тикет на GitHub с коротким комментарием: «Закрываем, так как мы больше не планируем переходить на Swift» - и рассказал о новом направлении в официальном блоге проекта. Части Ladybird будут переписаны на Rust. Ранее от этого языка отказались, поскольку он плохо подходит для объектно-ориентированного стиля программирования в духе C++, но после года топтания на месте команда решила сделать прагматичный выбор.
Особого внимания заслуживает то, как именно проходила миграция. Клинг использовал ИИ-ассистенты — Claude Code и Codex - для перевода кода с C++ на Rust, начав с JavaScript-интерпретатора: он хорошо изолирован, имеет чёткие входные и выходные данные и покрыт тестами из официального набора ECMAScript Test Suite. При этом процесс нельзя назвать «вайб-кодингом» - Клинг подчёркивает, что всё было под его непосредственным руководством: он сам решал, что и в каком порядке портировать, задавал сотни небольших промптов и проводил несколько раундов критического ревью с помощью разных моделей.
Результат впечатляет: около 25 000 строк кода на Rust за две недели - по оценке самого Клинга, вручную на это ушли бы месяцы. При этом все AST-деревья и байткод, генерируемые Rust-версией, побайтово совпадают с выводом C++-оригинала. Ни одной регрессии.
Вместе с тем разработчики не собираются полностью уходить от C++: основная работа над движком продолжится на нём, а перевод подсистем на Rust будет идти параллельно как долгосрочный побочный процесс.
Вокруг самого Клинга и проекта хватает споров. Его обвиняли в трансфобии - в частности, из-за отказа сделать документацию SerenityOS гендерно-нейтральной. Проект получил спонсорство от Cloudflare, к которому у сообщества неоднозначное отношение. Отдельные споры вызвал дистрибутив Omarchy на базе Arch Linux, связанный с проектом. Для части сообщества этого достаточно, чтобы полностью отвергнуть Ladybird.