Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aarzilli/nucular
GUI toolkit for go
https://github.com/aarzilli/nucular
go golang gui
Last synced: 9 days ago
JSON representation
GUI toolkit for go
- Host: GitHub
- URL: https://github.com/aarzilli/nucular
- Owner: aarzilli
- License: mit
- Created: 2016-08-29T12:00:16.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2024-03-22T02:39:45.000Z (8 months ago)
- Last Synced: 2024-05-22T12:32:03.733Z (6 months ago)
- Topics: go, golang, gui
- Language: Go
- Size: 10.6 MB
- Stars: 868
- Watchers: 30
- Forks: 44
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-trevor - Nucular - GUI toolkit for go (Programming / Golang)
- go-awesome - nucular - Gio based implementation (Open source library / Desktop Development)
- awesome-golang-repositories - nucular
- awesome-gio - nucular - mode GUI framework in Go; supports Gio, shiny, and metal as graphical backends. Originally a source-port of [nuklear](https://github.com/vurtun/nuklear). (Gio Core / Community Libraries)
README
![Go Build](https://github.com/aarzilli/nucular/actions/workflows/build.yml/badge.svg)
Mostly-immediate-mode GUI library for Go.
Source port to go of an early version of [nuklear](https://github.com/vurtun/nuklear).:warning: Subject to backwards incompatible changes. :warning:
:warning: Feature requests unaccompanied by an implementation will not be serviced. :warning:
## Documentation
See [godoc](https://godoc.org/github.com/aarzilli/nucular), `_examples/simple/main.go` and `_examples/overview/main.go` for single window examples, `_examples/demo/demo.go` for a multi-window example, and [gdlv](https://github.com/aarzilli/gdlv) for a more complex application built using nucular.
## Screenshots
![Overview](https://raw.githubusercontent.com/aarzilli/nucular/master/_examples/screen.png)
![Gdlv](https://raw.githubusercontent.com/aarzilli/gdlv/master/doc/screen.png)## Backend
Nucular uses build tags to select its backend:
```
go build -tags nucular_gio
```Selects the [gio](https://gioui.org/) backend.
```
go build -tags nucular_shiny
```Selects the [shiny](https://github.com/golang/exp/tree/master/shiny) backend.
```
go build -tags nucular_shiny,metal
```Selects the shiny backend but uses metal to render on macOS.
By default shiny is used on all operating systems except macOS, where gio is used.