Skip to main content
Version: Следующая версия 🚧

Введение

Wails - это проект, позволяющий писать настольные приложения с использованием Go и web технологий.

Считайте, что это легкая и быстрая альтернатива Electron для Go. Вы можете легко создавать приложения с гибкостью и мощностью Go, в сочетании с богатым современным фронтендом.

Features

  • Native Menus, Dialogs, Theming and Translucency
  • Windows, macOS and linux support
  • Built in templates for Svelte, React, Preact, Vue, Lit and Vanilla JS
  • Easily call Go methods from Javascript
  • Automatic Go struct to Typescript model generation
  • No CGO or external DLLs required on Windows
  • Live development mode using the power of Vite
  • Powerful CLI to easily Create, Build and Package applications
  • A rich runtime library
  • Applications built with Wails are Apple & Microsoft Store compliant

Например, varly - настольное приложение для MacOS & Windows, написанное с помощью Wails. Оно не только великолепно выглядит, но и использует системные меню и полупрозрачность - все, что можно ожидать от современного нативного приложения.

Шаблоны для быстрого начала

Wails поставляется с рядом предварительно настроенных шаблонов, которые позволяют вам быстро создать и запустить ваше приложение. Есть шаблоны для следующих фреймворков: Svelte, React, Vue, Preact, Lit и Vanilla. Для каждого шаблона есть и Javascript и Typescript версия.

Системные элементы

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

It does not embed a browser, so it is resource efficient. Вместо этого он использует нативный движок отрисовки для необходимой платформы. На Windows это новая библиотека Microsoft Webview2, основанная на Chromium.

Взаимодействие Go & Javascript

Wails автоматически делает ваши методы на Go доступными в Javascript, чтобы вы могли вызывать их по имени! It even generates Typescript models for the structs used by your Go methods, so you can pass the same data structures between Go and Javascript.

Библиотека среды выполнения

Wails предоставляет библиотеку среды выполнения для Go и Javascript, которая справляется со многими вещями, нужными для современный приложений, например, работа с событими, логирование, диалоги и так далее.

Опыт разработки в реальном времени

Автоматическая пересборка

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

Автоматическая перезагрузка

When changes to your application assets are detected, your running application will "reload", reflecting your changes almost immediately.

Разрабатывайте приложение в браузере

Если вы предпочитаете отладку и разработку в браузере, то Wails это умеет. Запущенное приложение также имеет веб-сервер который будет запускать ваше приложение в любом браузере который к нему прилоединится. Он будет перезапускаться когда ресурсы на вашем диске изменятся.

Бинарные файлы, готовые к выпуску

Когда вы готовы сделать финальную сборку вашего приложения, CLI соберет всё в один исполняемый файл со всеми ресурсами внутри. На Windows и MacOS есть возможность создать нативный установочный пакет для распространения. The assets used in packaging (icon, info.plist, manifest file, etc) are part of your project and may be customised, giving you total control over how your applications are built.

Инструментарий

Wails CLI предоставляет легкий способ генерировать, собирать и упаковывать ваши приложения. Оно создаст иконки, соберет ваше приложение с оптимальными параметрами и создаст готовый для распространения исполняемый файл. Выберите из нескольких стартовых шаблонов для быстрого старта!