Графический интерфейс на основе HTML
Go-app — это пакет для создания прогрессивных веб-приложений (PWA) с помощью языка программирования Go (Golang) и WebAssembly (Wasm).
go-astilectron помогает создавать кроссплатформенные приложения с графическим интерфейсом с помощью GO и HTML/JS/CSS. Это официальный пакет GO от astilectron, работающий на Electron.
go-sciter — встраиваемый HTML/CSS/скриптовый движок для разработки современного пользовательского интерфейса。
gowd поможет нам создавать кроссплатформенные приложения с графическим интерфейсом с помощью GO и HTML/JS/CSS (на базе nwjs)。
Gowut — это набор инструментов веб-интерфейса, написанный на чистом Go. Приложения отображаются как HTML-страницы.
Lorca — очень маленькая библиотека для создания современных приложений HTML5 на Go.
Muon — это облегченная альтернатива Electron, написанная на Golang с использованием Ultralight вместо Chromium.
Qlovaseed — это облегченная альтернатива Electron, написанная на Golang. Приложения отображаются как HTML-страницы.
Wails — это фреймворк для создания приложений с использованием Go & Web Technologies.
webview — это крошечная кроссплатформенная библиотека для C/C++/Golang для создания современных кроссплатформенных графических интерфейсов.
2D-векторная графика
draw2d — это библиотека двумерной векторной графики Go с поддержкой нескольких выходных данных, таких как изображения (draw2d), документы в формате pdf (draw2dpdf), opengl (draw2dgl) и svg (draw2dsvg).
gg — это библиотека для рендеринга 2D-графики на чистом Go.
Проект Gio включает эффективный векторный рендерер, основанный на проекте Pathfinder, реализованном на OpenGL ES и Direct3D 11.
giocanvas — это API , созданный поверх Gio.
go-cairo — это пакет Go для графической библиотеки cairo.
Go canvas — это библиотека Go, которая обеспечивает функциональность рисования, максимально похожую на API canvas HTML5, реализованную на бэкэнде OpenGL.
go-chart — это очень простая нативная библиотека Golang для построения диаграмм, которая поддерживает временные ряды и линейные диаграммы.
gonum/plot предоставляет API для построения и рисования графиков в Go.
go-p5 — это простой пакет, предоставляющий примитивы, похожие на те, которые предоставляются библиотекой p5/processing.
go-skia — это библиотека Go skia, основанная на библиотеке skia C через cgo.
NanoVGo — это чистая реализация NanoVG на Golang. Тот же автор поддерживает упомянутый выше проект NanoGUI.go.
svgo генерирует SVG в соответствии со спецификацией Scalable Vector Graphics 1.1.
Еще полезные пакеты:
freetype — это генератор шрифтов Freetype на языке программирования Go.
Пакет golang.org/x/image/font/sfnt анализирует форматы файлов шрифтов SFNT, включая TrueType и OpenType.
pixfont — это простой и легкий пакет Pixel Font (также известный как растровые шрифты) для Go, который работает со стандартным пакетом image/draw.
native GUI
dlgs — это кроссплатформенная библиотека для отображения окон и полей ввода.
gform — это простой в использовании инструментарий Windows GUI для Go.
winc — это библиотека для приложений Go с графическим интерфейсом в Windows (на основе gform).
glfw — это библиотека Go для GLFW 3.
go-gtk — библиотека для GTK2.
RenderView — это простая библиотека Go с графическим интерфейсом для интерактивного управления визуальными алгоритмами. Поддерживает go-gtk (по умолчанию)и gotk3 .
go-mobile добавляет поддержку мобильных платформ (Android и iOS) и предоставляет инструменты для создания мобильных приложений. ( Go для OpenGL ES 2.0 и ES 3.0.)
go-sdl2 — это оболочка SDL2 для пользователей Go.
go-sfml — это библиотека Go для SFML.
Gothic — это привязка tcl/tk.
gotk3 предоставляет инструменты Go для GTK+3 и зависимых проектов (включая cairo).
gotk4 — это генератор GTK4 для Go.
[GoVCL] — это библиотека графического интерфейса пользователя, основанная на Lazarus.
GXUI — это кроссплатформенная библиотека пользовательского интерфейса Go.
MacDriver — это набор инструментов для работы с Apple/Mac API и фреймворками в Go.
qt позволяет вам писать приложения Qt полностью на Go и упрощает их последующее развертывание.
qt.go — это привязка Qt5, в которой вместо CGO используется FFI.
Shiny — это кроссплатформенный пользовательский интерфейс Go.
systray — это кроссплатформенная библиотека Go для размещения окон и меню в области уведомлений. Протестировано на Windows 8, Mac OSX, Ubuntu 14.10 и Debian 7.6.
Trayhost — это кроссплатформенная библиотека Go для разработки интерфейсов.
ui - библиотека обеспечивающая простую разработку программного обеспечения с графическим интерфейсом в Go на основе моего c lib libui.
w32.go — это простой пример создания графического интерфейса Windows с помощью пакета syscall.
Windigo — Win32 API и графический интерфейс для Go.
Walk — это «набор библиотек для приложений Windows» для языка программирования Go.
wui — это библиотека графического интерфейса Windows, использующая собственный Win32 API.
XGB — это X Go Binding, низкоуровневый API для связи с основным протоколом X.
xgbutil — это библиотека, предназначенная для работы с X Go Binding.
zenity — это кроссплатформенный пакет, предоставляющий диалоги в стиле Zenity.
custom GUI
duit — это кроссплатформенный набор инструментов пользовательского интерфейса для разработчиков под лицензией MIT.
Fyne — это простой в использовании инструментарий пользовательского интерфейса и API приложений, написанные на Go. Мы используем OpenGL (через проекты go-gl и go-glfw) для обеспечения кроссплатформенной графики.
gi — это удобный инструмент для создания 2D и 3D GUI/графических интерфейсов .
Gio - это изящно написанный инструмент для создания кросплатформеннных программ с графическим интерфейсом .
goey предоставляет декларативный кроссплатформенный графический интерфейс для языка Go. Предостаялет набор элементов управления и их поддерживаемых свойств и событий , который примерно соответствует тому, что доступно в HTML.
go-flutter — это пакет, для работы с Flutter .
gui обеспечивает минималистичный и удобный для работы инструмент .
imgui-go — это оболочка Go для Dear ImGui.
giu — это фреймворк с графическим интерфейсом, основанный на imgui-go. (Еще один аналогичный от того же автора, gimu,)
NanoGUI.go — это порт NanoGUI на Golang.
nk предоставляет интрубмент Go для работы с nuklear.h.
3D-графика
d3d9 — это оболочка Go для Microsoft Direct3D9 API.
Репозиторий gl содержит пакеты Go к различным версиям OpenGL.
vulkan пакеет Go для Vulkan — кроссплатформенного API для трехмерной графики и вычислений с низкими расходами ресурсов.
Библиотека связанные с разработкой игр
godot-go — библиотека для GDNative API Godot Engine.
Интерфейс терминала
Кстати, если вы заинтересованы в разработке программ Go для терминала, посмотрит на tcell, tview.