Быстрый старт
Что покрывает это руководство
Ссылка на заголовокЭто руководство помогает быстро поднять слой render sync между:
- host-продуктом, который контролирует разрешенные UI-компоненты;
- независимым remote-runtime расширения.
@omnicajs/vue-remote отвечает за синхронизированный рендеринг.
Business APIs, auth, discovery и marketplace-логика остаются в соседнем tooling.
Установка
Ссылка на заголовокyarn add @omnicajs/vue-remote @remote-ui/rpc1. Запуск host-runtime
Ссылка на заголовокНа стороне host:
- Зарегистрируйте host-компоненты через
createProvider(...). - Создайте receiver render-channel через
createReceiver(). - Отрендерите
HostedTreeи передайтеprovider + receiver. - Запустите remote-runtime (iframe/worker) и передайте
receiver.receiveвrun(...).
См.: Компоненты хоста и Обзор.
2. Запуск remote-runtime
Ссылка на заголовокНа стороне remote:
- Создайте remote-root через
createRemoteRoot(channel, options). - Создайте приложение через
createRemoteRenderer(root).createApp(...). - Опишите host-exposed компоненты через
defineRemoteComponent(...). - Монтируйте root и app в
run(...), очищайте ресурсы вrelease().
См.: Компоненты remote и Обзор.
3. Соединение host и remote
Ссылка на заголовокИспользуйте channel transport (обычно @remote-ui/rpc) и поддерживайте стабильный handshake:
- Host загружает URL remote-runtime.
- Remote экспортирует
run/release. - Host вызывает
run(channel, hostBridge). - Remote монтирует UI через канал.
- Сессия завершается через
release().
Если вместо iframe нужен dedicated worker-runtime, см. Web Worker Runtime. Для iframe-специфичного сценария см. Интеграция через iframe. Для явного channel-handshake между кастомными контейнерами см. MessagePort Transport. Для process-separated runtime в Electron/Tauri см. Desktop IPC Transport. Для cross-process или cross-machine сессий см. Socket Transport. Для локальных стендов и тестов можно запускать host + remote в одном runtime через In-Memory Transport (только dev/test). Для выбора режима в одном месте см. Сравнение транспортов.
4. Проверка границ
Ссылка на заголовокПеред дальнейшим расширением убедитесь, что:
- host контролирует список разрешенных компонентов;
- props/events, проходящие между runtime, сериализуемы;
- remote-runtime не зависит от прямых browser DOM APIs.
Далее
Ссылка на заголовок- Спроектировать безопасные host-контракты: Компоненты хоста.
- Смоделировать remote UI и границы: Компоненты remote.
- Посмотреть транспорт-независимую runtime-модель: Обзор.
- Посмотреть iframe-специфичное подключение: Интеграция через iframe.
- Сравнить режимы side-by-side: Сравнение транспортов.
- Посмотреть worker-специфичную топологию и lifecycle: Web Worker Runtime.
- Посмотреть режим явного channel wiring: MessagePort Transport.
- Посмотреть desktop межпроцессный bridge режим: Desktop IPC Transport.
- Посмотреть сетевую/session bridge модель: Socket Transport.
- Посмотреть dev/test режим одного runtime: In-Memory Transport.