Привет! Если ты ищешь способ сделать кроссплатформенное приложение с красивым интерфейсом и при этом не хочешь заморачиваться с кучей сложных технологий — добро пожаловать! Сегодня расскажу, как быстро начать работать с Wails 2 и React. Всё просто, понятно и без лишней воды.
Загляни на https://golang.org/dl/ и скачай свою версию. После установки проверь командой:
go versionЕсли всё ок — переходим дальше.
На https://nodejs.org/ скачай установщик под свою ОС. После установки проверь:
node -v
npm -vЕсли видишь версии — отлично!
Открывай терминал и вводи:
go install github.com/wailsapp/wails/v2/cmd/wails@latestПосле этого убедись, что папка GOPATH/bin добавлена в переменную окружения PATH — иначе команда wails не будет работать из любой папки.
Теперь самое интересное — создадим новый проект командой:
wails init -n my-react-app -t reactЭто быстро сделает структуру проекта, где у тебя уже будет готов React-фронтенд внутри папки frontend.
После запуска команда создаст папки примерно так:
my-react-app/
├── backend/ # Тут пишем на Go
├── frontend/ # Тут React-штуки
├── go.mod # Модуль Go
└── wails.json # Настройки проектаВсё очень удобно: фронтенд и бэкенд в одном месте.
Переходим в папку frontend:
cd frontendЗапускаем локальный сервер разработки:
npm run devЧерез пару секунд откроется браузер по адресу http://localhost:3000. Тут ты можешь играться с интерфейсом, добавлять кнопки или что угодно.
В файле backend/main.go можно прописать функции, которые будут доступны из React. Например:
package main
import (
"github.com/wailsapp/wails/v2"
)
type App struct{}
func (a *App) SayHello(name string) string {
return "Привет, " + name + "!"
}
func main() {
app := wails.CreateApp(&wails.AppConfig{
Width: 1024,
Height: 768,
Title: "Мое крутое приложение",
JSBind: []string{"App"},
})
app.Bind(&App{})
if err := app.Run(); err != nil {
println("Что-то пошло не так:", err.Error())
}
}А в React вызываем так:
import { invoke } from '@wailsapp/wails';
async function sayHi() {
const message = await invoke('SayHello', 'Мир');
console.log(message); // Выведет: Привет, Мир!
}Легко и просто! Теперь у тебя есть полноценное приложение с интерфейсом на React и логикой на Go.
Чтобы сразу видеть все изменения — запускай команду из корня проекта:
wails devИ всё — твое приложение запустится и будет автоматически обновляться при редактировании файлов.
Вот так просто можно начать работу с Wails 2 + React. Установил всё — создал проект — поигрался с интерфейсом — связал его с логикой на Go. Всё реально быстро и удобно!
Если вдруг застрянешь или появятся вопросы — смотри официальную документацию https://wails.io/docs/ или пиши мне. Удачи в создании крутых приложений!