Skip to content
industry insights

Rust-конкурент Vite уже здесь (почти)

Стартап переписал сервер разработки Vite на Rust, чтобы обрабатывать миллионы ежедневных превью, заявляя о четырехкратном снижении потребления памяти. Но этот колоссальный прирост производительности имеет свою цену, которая указывает на новое, фрагментированное будущее инструментов с открытым исходным кодом.

Cassidy Wolfe
Rust-конкурент Vite уже здесь (почти)

Создано для масштаба, а не для вашего ноутбука

OJ от Lovable — это не просто очередной любительский перенос инструментария JavaScript на Rust. Это не проект выходного дня; это стратегическая, ориентированная на производительность переработка основного сервера разработки Vite, от отслеживания файлов и графа модулей до горячей перезагрузки модулей (HMR) и React fast refresh. Lovable разработала OJ с использованием Rolldown и Oxc — технологий, которые также используются самим Vite и поддерживаются VoidZero, что подчеркивает серьезность их намерений.

Lovable, известный провайдер сервисов превью, сталкивается с колоссальной операционной задачей: ежедневно запускать около миллиона песочниц Vite. При таком невероятном масштабе потребление памяти и время холодного старта — это не просто удобства для разработчиков, а критически важные бизнес-метрики. OJ справляется с этой задачей, обеспечивая холодный старт до отрисовки страницы до 1,7 раза быстрее и потребляя в четыре раза меньше памяти по сравнению со стандартным Vite в крупных приложениях с 5000 компонентов, что обеспечивает мгновенные и легкие превью, необходимые для их платформы.

Рассмотрим уникальные требования AI-агентов, которые могут создавать десяток файлов за один раз. Vite обычно запускает обновление для каждого сохранения. OJ, однако, интеллектуально объединяет эти быстрые изменения в одно атомарное обновление внутри своего интегрированного наблюдателя, графа модулей, компилятора и конвейера горячих обновлений. Он даже оснащен опциональным шлюзом, который удерживает обновления до тех пор, пока агент явно не отправит запрос к конечной точке сброса, гарантируя, что до превью дойдут только полные, завершенные изменения. Такие специализированные оптимизации совершенно неактуальны для индивидуальных разработчиков, но они критически важны для обеспечения работы масштабной инфраструктуры Lovable, управляемой агентами.

Бенчмарки не лгут (но они опускают детали)

Основные бенчмарки Lovable для OJ, безусловно, впечатляют. В огромном приложении из 5000 компонентов OJ достигает 1,7-кратного ускорения холодного старта до отрисовки страницы по сравнению со стандартным Vite, потребляя при этом всего четверть памяти Vite. Эти цифры убедительны для всех, кто сталкивается с экстремальными масштабами.

Но не спешите переписывать свой package.json прямо сейчас. В типичных, небольших приложениях прирост производительности OJ минимален, а использование памяти лишь немного лучше, чем у Vite. Существенные преимущества проявляются именно в условиях огромного масштаба и частых циклов запуска/остановки, что является основным сценарием использования для Lovable.

Создатель Vite, Evan You, справедливо выделяет критические оговорки. Бенчмарки OJ часто исключают работу, которую выполняет Vite, например, проверку типов через vite-plugin-checker, которую OJ просто обходит. Это создает несовершенное, хотя и информативное сравнение.

Более того, экспериментальный bundled dev mode в самом Vite значительно сокращает разрыв в скорости холодного старта, иногда даже превосходя OJ. Однако он не решает проблему разницы в потреблении памяти, оставляя за OJ явное преимущество в этом аспекте для крупномасштабных развертываний. Компромиссы реальны.

Цена скорости: совместимость и компромиссы

Впечатляющие бенчмарки OJ имеют существенную сноску. Эта скорость не универсальна; она является продуктом экстремальной специализации. Lovable переписала основной сервер разработки Vite в первую очередь для React-приложений, которые сама же и генерирует, намеренно жертвуя широкой поддержкой фреймворков и конфигураций, которые делают Vite повсеместным инструментом.

Эта специализация приводит к проблемам совместимости. Тестирование выявило критическую ошибку React Fast Refresh: состояние терялось в приложении TanStack, что приводило к полной перезагрузке вместо горячего обновления. Хотя обычное приложение React работало корректно, этот частный случай подчеркивает разрыв в зрелости, поскольку такой инструмент общего назначения, как Vite, уже давно устранил подобные несоответствия.

С архитектурной точки зрения OJ использует прямой подход, ориентированный на Rust. Он работает как процесс на Rust, управляющий другими инструментами на Rust, такими как Rolldown и Oxc, с JavaScript-мостом исключительно для обеспечения совместимости с плагинами Vite. Это резко контрастирует с Vite, который функционирует как процесс Node.js, координирующий компоненты на Rust. Гибкость Vite сопряжена с накладными расходами; прямой конвейер OJ на Rust устраняет их, обеспечивая высокую скорость для целевого сценария использования. Дополнительную информацию о мотивации Lovable можно найти здесь: Faster previews, soon powered by OJ - Lovable.

Нравится статья? Получайте такие каждое утро на почту.

одно письмо в день · отписка в два клика · без сторонних трекеров

Эван Ю о рассвете «Slop Forks»

OJ — это не прямой конкурент Vite; это то, что Эван Ю, создатель Vite, проницательно называет «специализированной проекцией» (tailored projection). Lovable действительно переписали ключевые части сервера разработки Vite, но они оптимизировали его под свои уникальные ограничения: миллионы изолированных (sandboxed) приложений React. Речь идет не о замене Vite, а о стратегической перереализации в радикально иных параметрах для решения конкретной масштабной задачи.

Ю рассматривает это не как единичный случай, а как предвестник более широкой, возможно, неизбежной тенденции. Поскольку ИИ снижает стоимость перереализации, разработчики будут все чаще создавать такие специализированные «slop forks». Вместо того чтобы мейнтейнерам open-source проектов бороться с тысячами нишевых Pull Requests, компании будут просто поддерживать свои собственные высокооптимизированные версии, настроенные под их конкретные нужды.

Это будущее представляет собой захватывающий, но опасный обоюдоострый меч. С одной стороны, это действительно освобождает основных мейнтейнеров от потока узкоспециализированных предложений, которые часто не соответствуют общему видению проекта. С другой стороны, это создает риск фрагментации экосистемы, где ценные улучшения оказываются запертыми внутри корпоративных форков и никогда не возвращаются в центральный проект. Сам Эван Ю признается, что не уверен, полезна ли эта динамика в конечном итоге для духа open-source сотрудничества. Только время покажет, приведет ли это к инновациям или к изоляции.

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

Что такое Orange Juice (OJ)?

Orange Juice (OJ) — это перереализация сервера разработки Vite на языке Rust, созданная компанией Lovable. Он разработан как высокопроизводительная и экономичная по памяти альтернатива для их специфического сценария использования — запуска миллионов превью-песочниц ежедневно.

Является ли OJ полной заменой Vite?

Нет. OJ переписывает только компоненты сервера разработки, такие как файловый наблюдатель (file watcher), граф модулей и HMR. Это не полная переработка Vite, и он по-прежнему полагается на экосистему плагинов Vite. Кроме того, в настоящее время он оптимизирован преимущественно для приложений React.

Является ли OJ значительно быстрее Vite?

На крупных приложениях (например, 5000+ компонентов) OJ демонстрирует значительный прирост производительности, работая почти в два раза быстрее при холодном запуске и потребляя лишь четверть объема памяти. На небольших проектах разница гораздо менее заметна.

Что сказал создатель Vite Эван Ю об OJ?

Эван Ю назвал OJ впечатляющим проектом, который хорошо решает задачу Lovable. Он также уточнил, что это не полная замена Vite, и отметил, что его скорость обусловлена узкой специализацией, в отличие от Vite, который должен поддерживать огромную экосистему. Он выделил это как пример будущей тенденции «специализированных проекций» или «slop forks» в open source.

Found this useful? Share it.

For builders

Want Stork to write one of these about your product?

Send us a URL. We use the product, form a view, and publish what we actually think — in 8 languages, labeled Sponsored, with no copy approval on your side. That last part is what makes it worth quoting.

See how it works$500 · AI tools & software only

Для билдеров

Эта страница работает на чужой инструмент.

Её читают AI-агенты. На неё приходят покупатели. Она отвечает на восьми языках и через MCP. У вашего инструмента может быть такая же — в эфире за 24 часа.