Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/google/shenzhen-go
Experimental visual Go environment
https://github.com/google/shenzhen-go
dataflow flow flowchart go golang graph visual
Last synced: 5 days ago
JSON representation
Experimental visual Go environment
- Host: GitHub
- URL: https://github.com/google/shenzhen-go
- Owner: google
- License: apache-2.0
- Archived: true
- Created: 2017-01-03T03:20:35.000Z (almost 8 years ago)
- Default Branch: main
- Last Pushed: 2021-06-08T03:01:13.000Z (over 3 years ago)
- Last Synced: 2024-08-01T12:31:59.600Z (3 months ago)
- Topics: dataflow, flow, flowchart, go, golang, graph, visual
- Language: JavaScript
- Homepage:
- Size: 87.6 MB
- Stars: 464
- Watchers: 30
- Forks: 44
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
- awesome-starred - google/shenzhen-go - Experimental visual Go environment (golang)
README
# "SHENZHEN GO" (working title)
[![Doc Status](https://godoc.org/github.com/google/shenzhen-go?status.svg)](https://godoc.org/github.com/google/shenzhen-go) [![license](https://img.shields.io/github/license/google/shenzhen-go.svg?maxAge=2592000)](https://github.com/google/shenzhen-go/blob/main/LICENSE)
| :warning: WARNING: This repository is currently unmaintained, and the project is not being worked on. |
| --- |SHENZHEN GO (working title) is an **experimental** visual Go environment,
inspired by programming puzzle games such as TIS-100 and SHENZHEN I/O.SHENZHEN GO provides a UI for editing a "graph," where the nodes are
goroutines and the arrows are channel reads and writes. (This is analogous
to multiple "microcontrollers" communicating electrically in a circuit.)
It can also convert a graph into pure Go source code, which can be compiled
and run, or used as a library in a regular Go program.[SHENZHEN GO was unveiled](https://www.youtube.com/watch?v=AB9AUAmMlDo) at
the [linux.conf.au 2017 Open Source & Games Miniconf](https://linux.conf.au/schedule/presentation/8/).Read more at https://google.github.io/shenzhen-go.
![Example Graph](screenshot.png)
## Getting started
See the getting-started guides at https://google.github.io/shenzhen-go.
### ...for the impatient gopher
Choose one of:
git clone https://github.com/google/shenzhen-go && cd shenzhen-go && go install
git clone https://github.com/google/shenzhen-go && cd shenzhen-go && go install -tags webview
go get -u github.com/google/shenzhen-go
go get -u -tags webview github.com/google/shenzhen-go## Notes
This is not an official Google product.
This is an experimental project - expect plenty of rough edges and bugs, and
no support.For discussions, there is [a Google Group](https://groups.google.com/forum/#!forum/szgo) and [a Slack channel](https://gophers.slack.com/messages/shenzhen-go).
## Acknowledgements
This project wouldn't be nearly as good as it is without the following:
* The [Ace](https://ace.c9.io/) code editor.
* [Chrome Hterm](https://chromium.googlesource.com/apps/libapps/).
* [GopherJS](https://github.com/gopherjs/gopherjs).
* [gRPC](https://grpc.io/).
* [Improbable's gRPC-Web for Go](https://github.com/improbable-eng/grpc-web).
* Johan Brandhorst's [GopherJS bindings for gRPC-Web](https://github.com/johanbrandhorst/protobuf).