Привет! Если ты ищешь способ сделать кроссплатформенное приложение с красивым интерфейсом и при этом не хочешь заморачиваться с кучей сложных технологий — добро пожаловать! Сегодня расскажу, как быстро начать работать с 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/ или пиши мне. Удачи в создании крутых приложений!