Disappointed that while it has Japanese katakana like the original, it's not flipped horizontally like it should be. It hurts the illusion somewhat for me, because it makes the characters instantly recognisable and readable.
Do you know which glyphs are suppose to be flipped? I built this based on the footage from the original film and tried to flip the characters that provided the best cinematic effect.
It's very nice, but the Javascript is 475KB mainly because it's written in poorly compiled Go; something like this could be written in 100x less vanilla Javascript.
What implementation of compile-to-javascript Go is this? They should add tags for closure compiler optimization, just simple optimisations (without type annotations, which are present, usefully in go) cuts the filesize by half.
GopherJS will compile large chunks of the Go stdlib, so the base size is a few 100KB. As your app grows, the generated code should approach the size of a normal JS app of similar size.
For instance, this demo uses the `fmt` package from the stdlib, which imports a whole lot of things. In normal Go programs, importing `fmt` means growing you binary size by a large bump.
I know the Go authors are concerned about the size of generated binaries, or at least have expressed concerns in the past. I don't know how work on that would translate in improvement to GopherJS' codegen.
Im always curious to see usages of GopherJS in the wild. However the Go code used to generate the demo is a bit ugly (sorry, don't mean as a judgement on the author). Is it something that follows from the idioms required of interfacing with JS-land, or is it unrelated?
I haven't seen clean code using GopherJS so far, if anyone has examples, please let me know.
I'm sure that there are developers making much prettier Go code with GopherJS.
There's a default package that comes with GopherJS which is allows for interacting with the JS world and the DOM. It's pretty raw and can result in what you are seeing as ugly.
A bit off topic sorry: the fact that so many languages are compiled to JS shows that everything is moving/already moved to the browser, might as well learn and use vanilla JS, no?