valente is an experiment with Golang webapp using WebSockets. There are similar solutions in another languages/platform:
- The Wt WebFramework has an experimental features with all comunications between server and browser using websockets.
- N2O and Nitrogen are frameworks with that feature coded in Erlang.
The use of asynchronism is mandatory for this solutions. Traditional threads aren't viable, due to high memory consumed for each connection. The Wt Framework is using Boost::asio to handle connections. In Go and Erlang, the languages features should make that scheme simple and scalable. I don't know :)
The valente is based on Nitrogen ideas.
To start using valente, install Go and run go get:
$ go get github.com/trumae/valente/...
This will retrieve the library and install the valente command line utility into your $GOBIN path.
$ valente new appsample
$ cd appsample
$ go get
$ go build
$ ./appsample
Access http://localhost:8000/ with your browser for boilerplate demo.
$ cd samples/finance
$ go get
$ go build
$ finance
Access http://localhost:8000/ with your browser and enjoy.