---
title: "Fyne: курс по созданию GUI-приложений на Go"
description: "Курс Fyne: окна, виджеты, контейнеры, canvas, темы, binding, сборка под мобильные и десктоп. 25 уроков и итоговый менеджер задач."
url: "https://golangmaster.ru/courses/fyne/"
published: "2026-09-19"
updated: "2026-09-21"
level: "практика"
lessons: 25
hours: 13
---

# Fyne: курс по созданию GUI-приложений на Go

*практика · ~13 часов · 25 уроков. Обновлено 21.09.2026. Источник: https://golangmaster.ru/courses/fyne/*

Fyne — самый популярный GUI-тулкит Go: чистый Go без обёрток над Qt, рендер через OpenGL/Vulkan, сборка под Windows, macOS, Linux, iOS и Android из одной кодовой базы. Курс ведёт от первого окна до приложения с темами, привязкой данных и упаковкой для сторов.

## Чему научитесь

- Создавать окна и интерфейсы из виджетов
- Управлять компоновкой: Box, Grid, Form
- Рисовать примитивами canvas и строить свои виджеты
- Связывать данные через binding
- Тематизировать приложение и работать с ресурсами
- Собирать под десктоп и мобильные платформы

## Кому подойдёт

- Тем, кто хочет GUI на Go
- Разработчикам внутренних инструментов
- Тем, кому нужен один код для десктопа и мобильных

## Что нужно знать заранее

- Базовый синтаксис Go
- Структуры и методы

## Программа курса

01. **Знакомство с Fyne: GUI на Go** — Архитектура, платформы, сравнение с Walk/Gio.
02. **Установка и первое окно** — app.New, окно, SetContent, run loop.
03. **Виджеты: базовые** — Label, Button, Entry, Check, Select.
04. **Контейнеры и компоновка Box** — VBox, HBox, Padded, Center.
05. **Grid и формы** — GridWrap, GridLayout, Form с валидацией.
06. **События и обработчики** — OnTapped, TypedRunnable, горячие клавиши.
07. **Canvas: примитивы рисования** — Rectangle, Circle, Line, Text, растры.
08. **Кастомные виджеты** — WidgetRenderer, BaseWidget, свои контролы.
09. **Текст и ввод данных** — MultiLine, PlaceHolder, OnChanged, RichText.
10. **Списки и коллекции** — List, виртуализация, шаблоны элементов.
11. **Таблицы и деревья** — Table, Tree, большие данные.
12. **Вкладки и навигация** — AppTabs, Doctabs, SplitContainer.
13. **Диалоги и уведомления** — dialog.ShowConfirm, тосты, модальность.
14. **Меню и тулбары** — MainMenu, Toolbar, контекстные меню.
15. **Темы и стилизация** — DarkTheme, CustomTheme, цвета и шрифты.
16. **Ресурсы: изображения и шрифты** — fyne.Bundle, embed, иконки.
17. **Привязка данных (binding)** — String/Bool/Float bind, DataListener.
18. **Валидация ввода** — Validator, LimitValidator, ошибки форм.
19. **Хранение настроек (preferences)** — App.Preferences, сохранение состояния.
20. **Многопоточность в GUI** — Запрет обращения из чужих потоков, fyne.Do.
21. **Файлы и диалоги выбора** — FileDialog, хранилище, экспорт.
22. **Сборка для мобильных платформ** — fyne package -os android/ios, иконки, сторы.
23. **Десктопные особенности** — Меню ОС, трей, окна-диалоги, размеры экрана.
24. **Тестирование fyne-приложений** — test.NewApp, widget-тесты, снимки, моки.
25. **Итоговый проект: менеджер задач на fyne** — Список, добавление и удаление, preferences, binding, темы.

## Вопросы и ответы по курсу

### Fyne требует CGO?

Да, базовый рендер использует CGO. Для Windows нужен gcc (MinGW), для мобильных — платные тулчейны NDK/Xcode.

### Можно ли сделать веб-приложение на Fyne?

Есть экспериментальная сборка через WebAssembly, но основной фокус — нативные десктоп и мобильные.
