Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/preslavrachev/generative-art-in-go

A companion source code repository to the book "Generative Art in Go"
https://github.com/preslavrachev/generative-art-in-go

creative-coding generative-art golang webassembly

Last synced: 2 days ago
JSON representation

A companion source code repository to the book "Generative Art in Go"

Awesome Lists containing this project

README

        

This is the companion source code repository to my book, ["Generative Art in Go."](https://preslav.me/generative-art-in-golang/) The book is available as an "early access" release on both [Gumroad](https://gumroad.com/l/generative-art-in-golang) and [Leanpub](https://leanpub.com/generative-art-in-golang). While most of the content and surrounding source code are already available, the book is subject to further updates based on readers' feedback. All future updates will be availalble to all exisiting buyers free of charge.

- [Buy on Gumroad](https://gumroad.com/l/generative-art-in-golang)
- [Buy on Leanpub](https://leanpub.com/generative-art-in-golang)

# Demo

To see what you will be able to do by the end of the book, make sure to check out this experimental [Web application](https://goart.netlify.app/) I built a couple of weeks ago. It uses WebAssembly to generate beatiful imagery in the browser. And that, using Go code!
# About the Book

Generative Art in Go is a short eBook intended to introduce novice and experienced programmers to algorithmic art, and hopefully, get non-programmers interested in the [Go programming language](https://golang.org/). Unlike popular choices such as [Processing](https://processing.org/), [NodeBox](https://www.nodebox.net/), [openFrameworks](https://openframeworks.cc/), etc., I picked Go for two simple reasons:

- Go's syntax is easy enough that virtually anyone can learn it quickly.
- The language is far more versatile than what most programmers use it for.

Generative art is a unique form of artistic expression, building bridges between computer programming, randomness, and visual aesthetics. It has kept my imagination for over a decade. While I have never been particularly skilled at drawing, I have always been amazed by what one could achieve with a couple of lines of code.

This book will introduce readers to graphics programming in the Go programming language context through a series of concise examples. It will also guide them in implementing their version of one of my favorite generative art sketches. As a bonus, readers will learn how to turn their command-line sketches into interactive Web applications, using [WebAssembly](https://webassembly.org/) and Web technology's latest standards.