Внести изменения

Редактировать эту документацию

Переведите документацию или откройте весь проект на своём компьютере.

Ничего не будет опубликовано, пока вы не решите отправить свою работу.

Технический обзор

Высокоуровневая архитектура и путеводитель по кодовой базе Wails v3

Добро пожаловать в техническую документацию Wails v3

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

Планируете ли вы исправить среду выполнения, расширить CLI, создать новые шаблоны или просто разобраться во внутреннем устройстве — на следующих страницах вы найдёте необходимый технический контекст.


Высокоуровневая архитектура

Бэкенд на Go

Основа каждого приложения Wails — код на Go, скомпилированный в нативный исполняемый файл. Он отвечает за логику приложения, интеграцию с системой и критичные к производительности операции.

Веб-фронтенд

Пользовательский интерфейс создаётся с помощью стандартных веб-технологий (React, Vue, Svelte, Vanilla, …) и отображается в облегчённом системном WebView (WebKit в Linux/macOS, WebView2 в Windows).

Связующий слой

Работающий в памяти мост без копирования обеспечивает вызовы Go⇄JavaScript с автоматическим преобразованием типов, распространением событий и передачей ошибок.

CLI и инструменты

wails3 управляет созданием проектов, сервером разработки с автоматической перезагрузкой, сборкой ресурсов, кросс-компиляцией и созданием пакетов (deb, rpm, AppImage, msi, dmg…).


Обзор архитектуры

Wails v3 — сквозной поток выполнения

[Место для схемы сквозного потока выполнения]

На схеме показан сквозной поток выполнения:

  1. CLI управляет генерацией, сервером разработки, компиляцией и созданием пакетов.\
  2. Система привязок создаёт связующий код, который позволяет веб-фронтенду вызывать функции бэкенда на Go.\
  3. Во время разработки сервер ресурсов проксирует запросы на сервер разработки фреймворка, а в рабочей среде обслуживает встроенные файлы.\
  4. Во время выполнения среда выполнения для настольных приложений управляет окнами и API операционной системы, а мост передаёт сообщения между Go и JavaScript.

Что рассматривается в этой документации

Тема Почему это важно
Структура кодовой базы Карта каталогов /v3 и описание взаимодействия модулей.
Внутреннее устройство среды выполнения Управление окнами, системные API, обработчик сообщений и платформенные адаптеры.
Сервер ресурсов и разработки Как веб-ресурсы обслуживаются при разработке и встраиваются для рабочей среды.
Конвейер сборки и создания пакетов Рабочий процесс на основе Taskfile, кросс-платформенная компиляция и создание установщиков.
Система привязок Конвейер статического анализа, создающий типобезопасные привязки Go⇄TS.
Система шаблонов Архитектура генератора, на которой работает wails3 init -t <framework>.
Тестирование и CI Инфраструктура модульных и интеграционных тестов, GitHub Actions и рекомендации по использованию детектора состояний гонки.
Расширение Wails Добавление сервисов, шаблонов или подкоманд CLI.

Каждая последующая страница подробно рассматривает эти области, приводя конкретные примеры кода, схемы и ссылки на соответствующие исходные файлы.


Приятного изучения — и добро пожаловать во внутреннее устройство Wails v3!

Редактировать страницу

Последнее обновление: