go-graphics / go-gui-Projekte

(Bitte folgen Sie @Go100and1 für Updates auf dieser Seite und alle Arten von Details und Fakten in Go).

native GUI und Utility Bindings

dlgs ist eine plattformübergreifende Bibliothek zur Anzeige von Dialogen und Eingabefeldern.

gform ist ein einfach zu bedienendes Windows GUI Toolkit für Go.

  • winc ist eine gemeinsame Bibliothek für Go GUI-Anwendungen unter Windows (basierend auf gform).

glfw ist eine Go-Bindung für GLFW 3.

go-gtk ist eine Go-Bindung für GTK2.

  • RenderView ist ein einfacher GUI-Wrapper für die interaktive Manipulation von visuellen Algorithmen / Backend-Code. Unterstützung go-gtk (Standard), gotk3 und shiny Backends.

go-mobile bietet Unterstützung für mobile Plattformen (Android und iOS) und bietet Tools zum Erstellen mobiler Anwendungen. (Eine Go-Bindung für OpenGL ES 2.0 und ES 3.0 ist enthalten.)

go-sdl2 ist SDL2 für Go-Benutzer.

gothic ist eine tcl/tk-Bindung.

gotk3 bietet Go-Bindungen für GTK+3 und abhängige Projekte (einschließlich Cairo).

  • Ein anderer: Gobbi (einschließlich Kairo).

GXUI ist eine plattformübergreifende UI-Bibliothek.

MacDriver ist ein Toolkit für die Arbeit mit Apple/Mac APIs und Frameworks in Go.

Mit qt können Sie Qt-Anwendungen vollständig in Go schreiben und später sehr einfach bereitstellen.

qt.go ist eine Qt5-Bindung, die FFI anstelle von CGO verwendet.

shiny ist ein plattformübergreifendes UI-Paket.

systray ist eine plattformübergreifende Bibliothek, um ein Symbol und ein Menü im Benachrichtigungsbereich zu platzieren. Getestet auf Windows 8, Mac OSX, Ubuntu 14.10 und Debian 7.6.

trayhost ist eine plattformübergreifende Go-Bibliothek zum Platzieren eines Symbols in der Taskleiste des Host-Betriebssystems.

ui zielt darauf ab, eine einfache GUI-Softwareentwicklung in Go bereitzustellen.

w32.go ist ein einfaches Beispiel zum Erstellen einer Windows-GUI mithilfe des syscall -Pakets.

Walk ist ein „Windows Application Library Kit“ für die Programmiersprache Go.

wui ist eine Windows-GUI-Bibliothek, die die native Win32-API verwendet, die von dieser getrennt ist.

XGB ist die X Go-Bindung, eine Low-Level-API zur Kommunikation mit dem Core X-Protokoll und vielen der X-Erweiterungen.

xgbutil ist eine Dienstprogrammbibliothek, die für die Arbeit mit der X Go-Bindung entwickelt wurde.

zenity ist ein plattformübergreifendes Paket, das Zenity-ähnliche Dialoge bereitstellt.

HTML-basierte GUI

go-astilectron hilft beim Erstellen plattformübergreifender GUI-Apps mit GO und HTML / JS / CSS. Es ist die offizielle GO-Bindung von Astilectron und wird von Electron betrieben.

go-sciter ist eine Golang-Bindung von Sciter: die einbettbare HTML / CSS / Skript-Engine für die moderne UI-Entwicklung。

gowd Helfen Sie uns, plattformübergreifende GUI-Apps mit GO und HTML / JS / CSS (unterstützt von nwjs) zu erstellen。

Gowut ist ein in Pure Go geschriebenes Web-UI-Toolkit. Apps werden als HTML-Seiten gerendert. Es bündelt keine Browser.

Lorca ist eine sehr kleine Bibliothek zum Erstellen moderner HTML5-Desktop-Apps in Go. Es bündelt Chrome nicht, sondern verwendet das auf Ihrem Computer installierte Chrome erneut.

Muon ist eine leichte Alternative zu Electron, die in Golang geschrieben wurde und Ultralight anstelle von Chromium verwendet.

Qlovaseed ist eine leichte Alternative zu Electron in Golang geschrieben. Apps werden als HTML-Seiten gerendert. Es bündelt keine Browser.

Wails ist ein Framework zum Erstellen von Desktop-Anwendungen mit Go & -Webtechnologien.

webview ist eine winzige plattformübergreifende Webview-Bibliothek für C / C ++ / Golang zum Erstellen moderner plattformübergreifender GUIs.

benutzerdefinierte GUI

duit ist ein reines, plattformübergreifendes, MIT-lizenziertes UI-Toolkit für Entwickler.

Fyne ist ein einfach zu bedienendes UI-Toolkit und eine in Go geschriebene App-API. Wir verwenden OpenGL (über die Projekte go-gl und go-glfw), um plattformübergreifende Grafiken bereitzustellen.

gi ist eine Scenegraph-basierte 2D- und 3D-GUI / Grafikschnittstelle (Gi) in Go.

Gio implementiert portable Sofortmodus-GUI-Programme in Go. Gio-Programme laufen auf allen wichtigen Plattformen: iOS /tvOS, Android, Linux (Wayland), macOS, Windows und Browsern (Webassembly /WebGL).

goey bietet eine deklarative, plattformübergreifende GUI für die Go-Sprache. Der Bereich der Steuerelemente, ihre unterstützten Eigenschaften und Ereignisse sollten ungefähr dem entsprechen, was in HTML verfügbar ist. Eigenschaften und Ereignisse können jedoch eingeschränkt sein, um die Portabilität zu unterstützen. Darüber hinaus wird das Styling der Steuerelemente eingeschränkt, wobei das Aussehen der Steuerelemente der nativen Plattform entspricht.

go-flutter ist ein Paket, das Flutter auf den Desktop bringt.

gui bietet eine superminimale, grundsolide Grundlage für die gleichzeitige GUI in Go.

imgui-go ist ein Go-Wrapper für Dear ImGUI.

  • giu ist ein GUI-Framework, das auf imgui-go basiert. (Ein anderer ähnlicher vom selben Auther, Gimu, aber für nucular.)

NanoGUI.go ist ein Golang-Hafen von NanoGUI.

nk stellt Go-Bindungen für nuklear bereit.h.

  • Ein anderes: nucular, das gio oder Shiny Backend anstelle von cgo verwendet.

3D graphics and computing API bindings

d3d9 ist ein reiner Go Wrapper für Microsofts Direct3D9 API.

Das gl-Repository enthält Go-Bindungen an verschiedene OpenGL-Versionen. Sie werden automatisch mit Glow generiert.

  • Und GLHF, ein gl3.3-Wrapper.
  • Und die oben genannten OpenGL ES 2.0- und ES 3.0-Bindungen aus dem go-Mobile-Projekt.
  • Auch die OpenGL ES-Implementierung im Android-Go-Projekt.

vulkan bietet Go Bindings für Vulkan — eine plattformübergreifende 3D-Grafik- und Compute-API mit geringem Overhead.

2D-Vektorgrafik- und Computing-APIs

draw2d ist eine Go 2D-Vektorgrafikbibliothek mit Unterstützung für mehrere Ausgaben wie Bilder (draw2d), PDF-Dokumente (draw2dpdf), opengl (draw2dgl) und svg (draw2dsvg).

gg ist eine Bibliothek zum Rendern von 2D-Grafiken in pure Go.

Das Gio-Projekt enthält einen effizienten Vektor-Renderer, der auf dem Pathfinder-Projekt basiert und auf OpenGL ES und Direct3D 11 implementiert ist.

  • giocanvas ist eine Canvas-API, die auf Gio aufbaut.

go-cairo ist eine Go-Bindung für die cairo Graphics Library.

  • Und die oben genannten die anderen.

Go Canvas ist eine reine Go-Bibliothek, die Zeichenfunktionen bietet, die der HTML5-Canvas-API so ähnlich wie möglich sind und im OpenGL-Backend (und Software-Backend) implementiert sind.

go-chart ist eine sehr einfache golang native Charting-Bibliothek, die Zeitreihen und kontinuierliche Liniendiagramme unterstützt.

gonum/plot bietet eine API zum Erstellen und Zeichnen von Plots in Go

go-p5 ist ein einfaches Paket, das Grundelemente bereitstellt, die denen ähneln, die von der p5 / processing-Bibliothek bereitgestellt werden.

go-skia ist eine Go-Skia-Bindung, die auf der skia C-Bibliothek durch cgo basiert.

NanoVGo ist eine reine Golang-Implementierung von NanoVG. Der gleiche Autor unterhält die NanoGUI.go Projekt oben erwähnt.

  • Eine CGO-Bindungsversion von NanoVG.

svgo generiert SVG gemäß der Scalable Vector Graphics 1.1-Spezifikation.

font processing related

freetype ist ein Freetype Font Rasterizer in der Programmiersprache Go.

Die golang.org/x/image/font/sfnt das Paket analysiert SFNT-Schriftdateiformate, einschließlich TrueType und OpenType.

pixfont ist ein einfaches, leichtes Pixel-Font-Paket (auch bekannt als Bitmap-Fonts) für Go, das mit dem Standard-Image / Draw-Paket

game development related

godot-go – Go-Sprachbindungen für die Godot-Engine GDNative API.

Bitte besuchen Sie Awesome Go für mehr.

Bildverarbeitung im Zusammenhang

Die Standard-Go-Image-Pakete.

Das Image-Repository enthält zusätzliche Go-Image-Bibliotheken.

Bitte besuchen Sie Awesome Go für mehr.

terminal UI

Übrigens, wenn Sie Interesse an der Entwicklung von Terminal UI Go-Programmen haben, überprüfen Sie bittetcell, tview (abhängig von tcell), cview (eine Abzweigung von tview) und mehr auf Awesome Go.



+