Skip to content

Почему Vite+?

Сегодня для работы в экосистеме JavaScript разработчику необходимы среда выполнения вроде Node.js, менеджер пакетов (например pnpm) dev-сервер, линтер, форматтер, тестовый раннер, сборщик, исполнитель задач и всё большее количество конфигурационных файлов.

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

Какую проблему решает Vite+

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

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

Что входит в состав Vite+

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

  • Vite и Rolldown — для разработки и сборки приложений
  • Vitest — для тестирования
  • Oxlint и Oxfmt — для линтинга и форматирования
  • tsdown — для сборки библиотек и автономных исполняемых файлов
  • Vite Task — для оркестрации задач

На практике это означает, что разработчики работают через единый набор команд: vp dev, vp check, vp test и vp build.

Такая унифицированная цепочка инструментов снижает объём конфигурации, повышает производительность и помогает командам поддерживать единообразный набор инструментов во всех проектах.

Быстро и масштабируемо по умолчанию

Vite+ построен на современных инструментах, таких как Vite, Rolldown, Oxc, Vitest и Vite Task, чтобы ваши проекты оставались быстрыми и масштабируемыми по мере роста кодовой базы. Использование Rust позволяет ускорить многие типовые операции в 10 раз, а иногда даже в 100 раз. Однако многие Rust-ориентированные инструменты несовместимы с существующей экосистемой или не поддерживают расширение через JavaScript.

Vite+ связывает Rust и JavaScript с помощью NAPI-RS, что позволяет предоставлять привычный, простой в настройке и расширяемый JavaScript-интерфейс с высоким уровнем совместимости с существующей экосистемой.

Объединение инструментов в единую цепочку даёт преимущества не только за счёт использования более быстрых компонентов. Например, многие разработчики настраивают линтеры с поддержкой анализа типов, из-за чего во время линтинга выполняется полная проверка типов. Команда vp check позволяет форматировать код, выполнять линтинг и проверку типов за один проход, что ускоряет статический анализ примерно в два раза по сравнению с отдельным запуском типозависимых правил линтинга и проверки типов.

Полностью открытый исходный код

Vite+ — это полностью открытый проект, а не новый фреймворк или закрытая платформа. Он интегрируется с существующей экосистемой Vite и фреймворками, построенными на её основе, включая React, Vue, Svelte и другие. В качестве менеджера пакетов можно использовать pnpm, npm, Yarn или Bun, а управление средой выполнения Node.js Vite+ берёт на себя.

Мы всегда рады вкладу сообщества в развитие проекта. Подробности о том, как присоединиться, смотрите в руководстве по участию в разработке.