Команда создателей Vite и Vitest объединяется с Cloudflare: что это значит для разработчиков

Компания VoidZero, стоящая за Vite, Vitest, Rolldown, Oxc и Vite+, присоединяется к Cloudflare. В рамках этого изменения все члены команды VoidZero также переходят в Cloudflare.

Прежде чем сказать что-либо ещё, мы хотим прояснить самое главное: Vite, Vitest, Rolldown, Oxc и Vite+ останутся открытыми, независимыми от вендоров и управляемыми сообществом. В этом отношении ничего не меняется.

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

Vite — один из немногих фундаментальных инструментов, который признаёт всё JavaScript-сообщество. Он заслужил эту позицию, будучи быстрым, отличным, переносимым и нейтральным к вендорам. Один из лучших способов, которыми Cloudflare может помочь построить лучший интернет, — это инвестировать в эту фундаментальную открытую цепочку инструментов. Цепочку инструментов, которая делает интернет лучше для всех, а не только для тех, кто использует Cloudflare или выбирает хостинг у нас.

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

Что это значит для Vite

Сегодняшняя новость даёт Vite больше ресурсов для продолжения роста, в то время как то, что делает Vite тем, чем он является, остаётся неизменным:

  • Vite остаётся с открытым исходным кодом под лицензией MIT.

  • Vite остаётся независимым от вендоров. Приложения, созданные с помощью Vite, работают где угодно и будут продолжать это делать.

  • Дорожная карта Vite по-прежнему определяется широкой командой Vite и сообществом и разрабатывается открыто.

  • Эван и остальная часть команды VoidZero продолжают руководить Vite, Vitest, Rolldown, Oxc и Vite+.

  • Cloudflare выделяет инженерные и другие ресурсы на эти проекты, а не перенаправляет их.

Мы взяли на себя такое же обязательство, когда Astro присоединился к Cloudflare ранее в этом году. Astro по-прежнему имеет открытый исходный код и по-прежнему развёртывается где угодно. Команда продолжает реализовывать ту дорожную карту, которую они уже выполняли.

Это обязательство имеет ещё большее значение для Vite, потому что Vite — это не один фреймворк. Vite — это основа, лежащая в основе многих: Vue, SvelteKit, Nuxt, Astro, Solid, Qwik, Angular, React Router, TanStack Start. Даже у Next.js теперь есть реализация на основе Vite в vinext. Vite стал общей основой для экосистемы JavaScript.

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

Мы также хотим подкрепить наши слова делом, когда речь идёт о нашей поддержке открытого исходного кода и общих основ экосистемы. В рамках этого объявления Cloudflare выделяет 1 миллион долларов в фонд экосистемы Vite для поддержки мейнтейнеров и участников, администрируемый основной командой Vite. Vite больше, чем VoidZero или Cloudflare, и люди, которые помогли создать его, должны быть частью того, что будет дальше.

Vite как основа

Команды Vite и Cloudflare сотрудничали ещё до этого объявления, начиная с 2024 года с Vite Environment API. Environment API позволяет Vite выполнять серверный код не только в Node.js во время разработки. Мы тесно работали с командой Vite над его дизайном, а затем создали на его основе плагин Cloudflare для Vite.

Когда вы запускаете vite dev с плагином Cloudflare, ваш серверный код выполняется внутри workerd — той же среды выполнения с открытым исходным кодом, которая питает Workers в продакшене. Durable Objects, D1, KV, R2, Workflows, Workers AI, Agents, Service Bindings, Workers RPC — всё это работает локально в той же модели среды выполнения, что и в продакшене.

Долгое время цена разработки на среде выполнения, отличной от Node, заключалась в том, что локальная разработка ощущалась как ухудшенная версия продакшена. Environment API устранил эту цену, не заставляя никого переходить на специфический для Cloudflare сервер разработки. Любая среда выполнения, которая хочет подключиться к Vite, может сделать то же самое. Такой подход — универсальный механизм в Vite с реализациями, специфичными для провайдера, — доказал свою эффективность, и мы хотим продолжать его развивать.

Мы поняли, что движемся в правильном направлении, когда увидели, как быстро начал внедряться плагин Cloudflare для Vite:

VoidZero is joining Cloudflare

Кривая внедрения Vite — одно из самых примечательных явлений в экосистеме на данный момент. На момент написания статьи количество загрузок Vite в неделю составляет примерно 129 миллионов. Плагин Cloudflare для Vite (@cloudflare/vite-plugin) — почти 14 миллионов еженедельных загрузок.

Если бы год назад нам сказали, что плагин Cloudflare для Vite достигнет загрузок, эквивалентных более чем 10% от самого Vite, мы бы не поверили. Что произошло? Произошёл ИИ. Программного обеспечения создаётся больше, чем когда-либо, и многое из этого начинается с кода, сгенерированного ИИ. Таким приложениям нужен стандартный стек и место для запуска. Приложения, написанные агентами, выбирают Vite, и всё чаще они выбирают Vite, работающий на Cloudflare.

ИИ меняет то, как мы пишем программное обеспечение

Раньше разработчики были единственными пользователями серверов разработки, сборщиков, линтеров, форматтеров и CLI. Это больше не так: теперь ими постоянно пользуются и агенты. Они создают проекты, запускают серверы разработки, читают ошибки, пишут тесты, линтируют и форматируют код, развёртывают превью и итерируют.

Многие приложения, созданные с помощью ИИ, уже запускаются как Vite-приложения, потому что Vite быстр, хорошо понятен и в целом совместим с тем, что агенты видели в своих обучающих данных. Быстрые циклы обратной связи всегда были важны. Они становятся ещё более критичными при написании программного обеспечения с агентами:

  • Быстрая сборка, потому что они итерируют чаще, чем люди.

  • Быстрые тесты, потому что они постоянно перезапускают набор для проверки собственной работы.

  • Быстрые линтинг и форматирование, потому что эти инструменты становятся направляющими.

  • Чёткие, структурированные ошибки, потому что агент должен их прочитать и отреагировать.

  • Согласованные CLI, потому что небольшие несоответствия приводят к большим отклонениям.

Вся цепочка инструментов VoidZero создана для такого цикла. Vitest, Rolldown, Oxc, Oxlint и Oxfmt — одни из самых быстрых инструментов в своих категориях, и они хорошо работают, когда их запускает агент снова и снова. Vite+ объединяет эти компоненты в одну цепочку инструментов с одним CLI, одной моделью конфигурации и меньшим количеством движущихся частей. Это делает цикл разработки более понятным для людей и более надёжным для управления агентами.

Мы используем это сами. Панель управления Cloudflare построена на Vite. Oxlint уже экономит дни инженерного времени в кодовых базах Cloudflare. Flue — фреймворк для создания агентов от команды Astro — также переходит на Vite в качестве основы. Flue может запускать агентов на Node.js, Cloudflare Workers, GitHub Actions, GitLab CI/CD и других платформах, и теперь целевая платформа Cloudflare использует официальный плагин Cloudflare для Vite и интеграцию с workerd. Vite становится стандартной основой для приложений и внутри Cloudflare.

Vite становится полноценным стеком

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

Современное приложение — это серверные маршруты, API, фоновые задачи, очереди, базы данных, объектное хранилище, real-time, аутентификация, а также растущий список агентов и возможностей ИИ. "Сборка" — это больше не конец истории. Это начало развёртывания, которое должно понимать все эти компоненты.

Это означает, что Vite должен стать чем-то большим, чем просто инструмент сборки. Ему нужно понимать больше о приложении, оставаясь верным тому, что сделало Vite успешным: скорости, простоте и переносимости.

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

Теперь задача — разместить эти уроки в правильных местах. Некоторые из них относятся к самому Vite как провайдеро-независимые примитивы: первоклассные абстракции и хуки для бэкендов, API, агентов и развертывания, которые может реализовать любой провайдер. Другие уроки относятся к Cloudflare. Cloudflare предоставит первоклассную реализацию этих хуков на Workers и остальной части нашей платформы для разработчиков.

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

Перемещение Cloudflare в сторону Vite

Тот же принцип сформировал наше представление о будущем инструментария Cloudflare. Мы не двигаем Vite в сторону Cloudflare. Мы делаем противоположное: переносим инструменты приложений Cloudflare на Vite, чтобы они были построены поверх тех же рабочих процессов, которые разработчики уже знают.

Недавно мы выпустили техническую предварительную версию cf, нового унифицированного CLI для всей платформы Cloudflare. Vite станет основой нашего интерфейса CLI для приложений. Конечная цель — единый согласованный CLI для всего Cloudflare с одинаковой эргономикой, работаете ли вы с Workers, R2, D1, Agents или чем-то еще.

Если мы сделаем это правильно, CLI Cloudflare должен ощущаться как Vite, а не как отдельная вещь, прикрученная рядом с Vite.

  • cf dev должен быть надмножеством vite dev. Та же скорость, та же горячая замена модулей, та же модель плагинов, плюс среда выполнения Cloudflare и привязки, когда они вам нужны.

  • cf build должен понимать проекты Vite нативно, без танцев с адаптерами.

  • cf deploy должен сделать развертывание приложения Vite на Cloudflare простым.

Если вы сейчас используете Vite, путь к Cloudflare будет ощущаться как замена на надмножество уже знакомых вам команд. Та же структура проекта. Те же рабочие процессы Vite. Вся платформа разработчика Cloudflare доступна, когда она вам нужна.

Что произойдет дальше

В краткосрочной перспективе для пользователей Vite или фреймворков, построенных на Vite, ничего не меняется:

  • Vite, Vitest, Rolldown, Oxc и Vite+ продолжают поставляться. Команда VoidZero продолжает вносить вклад и руководить ими.

  • Плагин Cloudflare Vite продолжает улучшаться.

  • Environment API и более широкая концепция «запускайте ваш серверный код в правильной среде локально» продолжает улучшаться, в том числе для не-Cloudflare сред.

В долгосрочной перспективе:

  • Мы начинаем работу по переносу CLI Cloudflare на опыт, построенный непосредственно на Vite.

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

  • Со временем мы намерены открыть исходный код платформы Void, чтобы другие могли учиться на нем и строить свои собственные платформы на основе Vite и Cloudflare.

Мы будем делать все это публично и вместе с сообществом. Так же, как всегда строился Vite.

Добро пожаловать, VoidZero

Vite, Vitest, Rolldown, Oxc и Vite+ существуют благодаря тому, что глубокая экосистема участников с открытым исходным кодом вложила в них годы работы. Эти проекты уже являются основополагающими для того, как строится веб, и мы благодарны всем, кто помог довести их до этого момента. Спасибо всем, кто внес код, рецензии, сообщения об ошибках, документацию, плагины, интеграции и поддержку на этом пути.

Мы рады приветствовать команду VoidZero в Cloudflare и рады выделить больше ресурсов на эти проекты. Наша задача сейчас — помочь им расти, оставаться открытыми и поддерживать экосистему JavaScript для всех.

Vite остается Vite. Cloudflare получает возможность помогать.

Если вы хотите попробовать Vite на Cloudflare сегодня, выполните:

  • npm create vite@latest

  • npx wrangler deploy