Темы



Развертывайте с Void

Коротко сгенерировано ИИ по тексту статьи
  • VoidZero открыла исходный код Void Platform, Void SDK и Void CLI — единого JavaScript-пакета и плагина Vite, устанавливаемого через npm install void.
  • Void SDK добавляет приложениям Vite серверные маршруты и типобезопасный доступ к данным, а CLI автоматически готовит ресурсы и развёртывает приложения в Cloudflare.
  • Компании могут самостоятельно разместить Void Platform в своей учётной записи Cloudflare и управлять доступом, ресурсами и развёртываниями.

Почему это важно: Void предназначена для компаний, которые хотят поощрять создание внутренних приложений с помощью vibe-кодинга, но не хотят предоставлять каждому сотруднику доступ к облаку.

01M4XWFPM5E7NWJT9ZSFGZVPET.01M4XWFQERABK7GNTKRR8QX4HV.png

Инструменты VoidZero — Vite, Vitest, Oxc и Rolldown, объединённые в один набор инструментов под названием Vite+ — ускорили frontend-разработку, но для создания полнофункциональных приложений одного набора инструментов недостаточно. Таким приложениям нужны серверные маршруты, базы данных, локальные среды разработки и быстрый, простой способ переносить идеи в production.

Мы рады открыть исходный код трёх новых продуктов, которые объединяют маршрутизацию на сервере, типизированный доступ к данным и развёртывание в Cloudflare в рамках единого рабочего процесса Vite.

  • Void Platform:  общая платформа для развёртывания, на которой команды могут размещать приложения Void в Cloudflare.
  • Void SDK: компонуемый JavaScript SDK для создания полнофункциональных приложений с помощью Vite.
  • Void CLI: CLI для подготовки ресурсов и развёртывания приложений Vite в Cloudflare.

CLI развёртывает приложения, созданные с помощью SDK, на платформе. Исходный код всех трёх продуктов открыт: они выпускаются как единый JavaScript-пакет и плагин Vite, который можно установить с помощью npm install void. С помощью Void можно создавать серверную и клиентскую части приложения вместе, передавать типы от базы данных к пользовательскому интерфейсу и позволить Void автоматически подготавливать ресурсы Cloudflare, используемые приложением.

Изначально мы планировали создать единую закрытую платформу, на которой все пользователи могли бы развёртывать приложения. После того как VoidZero присоединилась к Cloudflare, мы изменили планы: открыли исходный код платформы и сделали её доступной для установки всем желающим, поскольку увидели растущую потребность: компании хотят поощрять создание внутренних приложений с помощью vibe-кодинга, но беспокоятся о безопасности и не хотят предоставлять доступ к облаку каждому сотруднику. Void помогает решить эту проблему.

Void Platform: облачная платформа для вашей компании

Исходный код Void Platform полностью открыт: вы можете создать форк и адаптировать платформу под свои нужды — интегрировать системы компании, настроить рабочие процессы развёртывания, добавить функции для клиентов или обеспечить работу на других платформах развёртывания. Используйте платформу как есть, предлагайте улучшения основному проекту или создайте форк и реализуйте только нужные вам функции. Открытый исходный код можно использовать без изменений или взять за основу для собственного решения.

Будучи администратором Void Platform, вы контролируете доступ, устанавливаете ограничения на ресурсы, проверяете развёртывания и использование через Void CLI или панель администратора, а также задаёте ограничения, чтобы остальные могли создавать и выпускать на общей платформе как серьёзные приложения, так и приложения, написанные с помощью vibe-кодинга.

Установив Void Platform, ваша команда или клиенты получат общую среду для развёртывания в вашей учётной записи Cloudflare на базе Workers for Platforms. Void Platform позволяет:

  1. Быстрее создавать прототипы. Ваша команда сможет быстро создавать прототипы, развёртывать их и делиться работающими приложениями, чтобы получать отзывы, не настраивая отдельную учётную запись Cloudflare и не подготавливая ресурсы для каждого проекта. Благодаря этому внутренние приложения можно выпускать за минуты вместо дней или недель.
  2. Подключать к разработке нетехнических специалистов. Этот рабочий процесс также позволяет коллегам, которые обычно не пишут код, работать с агентами кодирования, создавая и публикуя собственные приложения. Дизайнер может создать интерактивный прототип, а специалист по операционной деятельности — внутреннюю панель управления, после чего развернуть их на той же платформе. И всё это — с надлежащими мерами безопасности.

Чтобы самостоятельно разместить платформу Void, вам понадобятся:

  • Учётная запись Cloudflare с подключёнными Workers for Platforms и R2
  • База данных PostgreSQL
  • Учётная запись у выбранного вами поставщика авторизации
  • Домен для ваших приложений

Затем установите Void в качестве облачной платформы, выполнив одну команду:

После настройки платформы пользователи, которым предоставлен доступ, смогут подключаться к ней через Void CLI для развёртывания приложений.

void connect https://api.orange-company.dev

Пользователь создаёт приложение с помощью Void SDK, который обеспечивает такие возможности Void Platform, как аутентификация, определение фреймворка, подготовка ресурсов и многое другое. Иными словами, Void Platform работает только благодаря сопутствующим SDK и CLI.

Void SDK: инфраструктура без настройки

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

Чтобы начать работу, добавьте Void в качестве плагина Vite:

import { defineConfig } from "vite";
import { voidPlugin } from "void";
import { voidReact } from "@void/react/plugin";

export default defineConfig({
  plugins: [voidPlugin(), voidReact()],
});

В Void SDK входят адаптеры для популярных JavaScript-фреймворков пользовательского интерфейса, таких как React и Vue. Он поддерживает маршрутизацию API на основе файловой структуры, предварительный рендеринг, кэширование, islands и сквозную типобезопасность — от базы данных до пользовательского интерфейса.

Все возможности Void можно использовать по отдельности и комбинировать. Void интегрируется с существующими фреймворками приложений, такими как Vinext, React Router, SvelteKit, Nuxt, TanStack Start и Astro. Эти фреймворки можно использовать для маршрутизации и рендеринга, а Void будет обрабатывать API ресурсов с помощью Hono, миграции, развёртывание и аутентификацию через Better Auth.

Рассмотрим, как создать страницу с рендерингом на сервере и типами, которые выводятся из запроса к базе данных и передаются клиентской части:

// pages/blog.server.ts
import { defineHandler, type InferProps } from 'void';
import { db } from 'void/db';
import { posts } from '@schema';

export const loader = defineHandler(async () => ({
  posts: await db.select().from(posts),
}));

export type Props = InferProps<typeof loader>;
// pages/blog.tsx
export default function Blog({ posts }: Props) {
  return (
    <ul>
      {posts.map((post) => <li key={post.id}>{post.title}li>)}
ul>
  );
}

Импортируя void/db, Void предоставляет приложению локальную базу данных во время разработки и автоматически подготавливает void deploy D1 для production. Аналогично можно использовать ИИ через AI Gateway от Cloudflare: достаточно импортировать void/ai, и всё настроится автоматически.

// routes/api/decide.ts
import { defineHandler } from 'void';
import { ai } from 'void/ai';

export const POST = defineHandler(async (c) => {
  const { question } = await c.req.json();
  const result = await ai.run('@cf/cloudflare/clef', {
    model: 'clef',
    state: {},
    questions: {
      decision: { type: 'noul', instructions: question },
    },
  });
  const probability = result.answers.decision.noul;
  return c.json({
    answer: probability >= 0.5 ? 'yes' : 'no',
    probability,
  });
});

Маршрутизатор React в Void создан для асинхронного React: он использует transitions и Suspense, чтобы обеспечить отзывчивую навигацию между экранами. Если объединить этот маршрутизатор с современным фреймворком для работы с данными, например fate,  и библиотеками пользовательского интерфейса, такими как Astryx, можно координировать навигацию, загрузку данных и мутации с помощью transitions в React, а также использовать actions и оптимистичные обновления во всём приложении. Вместе эти инструменты позволяют создавать приложения, которые работают синхронно при быстром подключении к сети, корректно адаптируются к медленному соединению и сохраняют отзывчивость взаимодействия во время ресурсоёмких обновлений рендеринга.

Если пользователю не нужны функции управления командой в Void Platform, он может использовать собственную учётную запись Cloudflare. Void SDK также развёртывает приложения напрямую в Cloudflare.

Void CLI: одна команда для развёртывания

Void CLI — основной интерфейс для работы с Void. CLI управляет платформой и развёртывает приложения. Он построен на базе новой версии cf CLI и хорошо работает с агентами.

С помощью Void CLI можно попросить агента найти причину сбоев запросов, прочитать журналы развёртывания, проанализировать работу приложения или поручить ему весь жизненный цикл — например, развернуть готовое приложение.  

Когда приложение будет готово к развёртыванию в Cloudflare, выполните:

При первом запуске void deploy CLI предложит войти в учётную запись Cloudflare. Void соберёт приложение с помощью Vite, применит миграции, автоматически подготовит ресурсы и развернёт приложение в Cloudflare или Void Platform. CLI может управлять всем жизненным циклом проекта — сборкой, развёртыванием, ресурсами и проектами. Например:

Подобно тому как CLI, а вместе с ним и агент, может управлять всем жизненным циклом приложения Void, CLI можно использовать и для управления Void Platform:

  • Управлять пользователями, доступом к проектам и ресурсами
  • Проверять развёртывания, журналы и откаты
  • Отслеживать состояние и использование платформы

Свяжитесь с нами

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

Последние несколько месяцев мы использовали Void SDK, CLI и Platform в production в VoidZero и с нетерпением ждём, что вы создадите с помощью Void. Поделитесь с нами своими отзывами:

© Cloudflare Blog