Введение
Wails - это проект, позволяющий писать настольные приложения с использованием Go и web технологий.
Считайте, что это легкая и быстрая альтернатива Electron для Go. Вы можете легко создавать приложения с гибкостью и мощностью Go, в сочетании с богатым современным фронтендом.
Возможности
- Нативные меню, диалоги, темы и прозрачность
- Поддержка Windows, macOS и linux
- Встроенные шаблоны для Svelte, React, Preact, Vue, Lit и Vanilla JS
- Easily call Go methods from JavaScript
- Automatic Go struct to TypeScript model generation
- Для Windows не требуется CGO или внешние DLL
- Горячая перезагрузка, используя мощь Vite
- Мощный CLI для простого создания, сборки и упаковки приложений
- Богатая runtime библиотека
- Приложения, созданные с помощью Wails совместимы с Apple и Microsoft Store
This is varly - a desktop application for MacOS & Windows written using Wails. Оно не только великолепно выглядит, но и использует системные меню и полупрозрачность - все, что можно ожидать от современного нативного приложения.

Шаблоны для быстрого начала
Wails поставляется с рядом предварительно настроенных шаблонов, которые позволяют вам быстро создать и запустить ваше приложение. Есть шаблоны для следующих фреймворков: Svelte, React, Vue, Preact, Lit и Vanilla. There are both JavaScript and TypeScript versions for each template.
Системные элементы
Wails использует специально созданную библиотеку для обработки системных элементов, таких как окна, меню, диалоги и так далее, чтобы вы могли создавать хорошо выглядящие, богатые функционалом приложения.
It does not embed a browser, so it delivers a small runtime. Instead, it reuses the native rendering engine for the platform. На Windows это новая библиотека Microsoft Webview2, основанная на Chromium.
Go & JavaScript Interoperability
Wails automatically makes your Go methods available to JavaScript, so you can call them by name from your frontend! 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 provides a runtime library, for both Go and JavaScript, that handles a lot of the things modern applications need, like Eventing, Logging, Dialogs, etc.
Опыт разработки в реальном времени
Автоматическая пересборка
Когда вы запускаете ваше приложение в режиме разработки, Wails будет собирать его, но читать ресурсы с диска. Он будет отслеживать любые изменения в вашем коде на Go и автоматически пересобирать и перезапускать приложение.