Spec-Zone.ru › Deno 2

Бэкенды

Доступно в Deno 2.9

deno desktop доступен начиная с Deno v2.9.0. Если вы используете более раннюю версию, обновите Deno, чтобы использовать его.

deno desktop запускает ваше приложение поверх одного из нескольких движков веб-рендеринга. --backend (или поле desktop.backend в deno.json) выбирает движок, встраиваемый в приложение. Если вы не выберете движок, deno desktop использует бэкенд WebView.

Доступные бэкенды

CEF

›_
deno desktop --backend cef main.ts

Встроенный Chromium Embedded Framework. Тот же движок, который используется в Chrome, Electron и Slack. Фреймворк располагается в каталоге .app / приложения под Contents/Frameworks/.

  • Одинаковый рендеринг в macOS, Windows и Linux.
  • Полная поддержка веб-платформы, включая современные CSS, модули ES, WebGPU и WebRTC.
  • Наибольший размер бинарного файла (около 150 МБ только для фреймворка).
  • Поддерживаются все возможности Deno для настольных приложений (DevTools, autoUpdate, панель задач, dock).

Выбирайте CEF, если важен одинаковый рендеринг на разных платформах или если нужна функция, доступная только в Chromium (например, WebGPU в Linux).

WebView (по умолчанию)

›_
deno desktop --backend webview main.ts

Собственный веб-просмотрщик операционной системы: WKWebView в macOS, WebView2 в Windows, WebKitGTK в Linux.

  • Меньший размер приложения (только ваш код и прослойка бэкенда).
  • Рендеринг и поддержка функций различаются в зависимости от платформы и версии ОС.
  • Некоторые веб-функции могут отсутствовать или работать иначе (варианты Web Audio, доступность WebGPU и т. д.).
  • DevTools недоступен (на данный момент унифицированный мультиплексор DevTools поддерживает только CEF).

Выбирайте WebView, если размер бинарного файла имеет первостепенное значение, а интерфейс использует только широко поддерживаемые веб-функции.

Raw

deno.json
{ "desktop": { "backend": "raw" } }

Без веб-движка. Предоставляет управление окнами, обработку событий ввода, буфер обмена и интерфейс нативного API, но не включает веб-просмотрщик, автоматическую привязку Deno.serve() и прокси bindings.<name>().

Подходит для приложений, которые самостоятельно отрисовывают интерфейс (WebGPU, Skia, собственный рендеринг), а также в качестве основы для настольных программ, не использующих веб-технологии. Бэкенд raw выбирается с помощью поля desktop.backend в deno.json; флаг --backend принимает только значения cef и webview. Полный пример отрисовки в окне с этим бэкендом см. в разделе Рендеринг с помощью WebGPU.

Выбор бэкенда

Потребность Оптимальный вариант
Одинаковый рендеринг везде cef
Минимально возможный размер бинарного файла webview
WebGPU / новейшие веб-API на всех платформах cef
Собственный 2D/3D-рендеринг, без HTML raw
Внутреннее приложение для macOS, версия ОС контролируется вами webview

Переключение между бэкендами

Бэкенды взаимозаменяемы, за исключением бэкенда raw: один и тот же код приложения (окна, привязки, события, навигация, выполнение JS) работает в CEF и WebView без изменений.

Чтобы переключить бэкенд, измените конфигурацию или передайте флаг:

deno.json
{ "desktop": { "backend": "webview" } }
›_
deno desktop --backend webview main.ts

В бэкенде raw нет веб-просмотрщика, поэтому при его использовании недоступны API, взаимодействующие с веб-контентом (навигация, привязки, executeJs и т. д.).

Получение бэкендов

Вам не нужно самостоятельно собирать бэкенд рендеринга. CLI Deno автоматически загружает предварительно собранные бинарные файлы бэкендов. Контрольные суммы загрузок проверяются, а файлы кэшируются в <deno_dir>/.

При первой сборке для нового бэкенда / целевой платформы загружается архив (для CEF — размером в несколько сотен мегабайт). При последующих сборках используется кэш.

Кросс-компиляция

--target и --all-targets работают с любым бэкендом. CLI загружает предварительно собранный архив бэкенда, соответствующий целевому триплету; локальная инструментальная цепочка движка не требуется. См. раздел Распространение.

Последнее обновление: 8 июля 2026 г.

© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/runtime/desktop/backends

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API