coco
coco copied to clipboard
Golang WebAssembly Framework
Really cool approach here. wondering if the abstraction allows running this on a server ? Then i can use the same code for front end as for backend stuff like:...
Using ES5, bootstrap JSX-less React under the hood for Coco to utilize its masterful engineering initially. https://dev.to/vonheikemen/creating-react-components-using-only-es5-features-52a1 (Will deprecate/circumvent as time goes on.)
Patching of the DOM tree (at least on Safari) causes a flicker when performed fast. (It seems replaceChild might be to blame.) Example: [coco-dom-layout-flicker.gif](https://user-images.githubusercontent.com/6964069/54164082-96b72680-4418-11e9-8fc7-523dc85250df.gif)
Give developers the option to embed raw string literal HTML templates in their components as an alternative to having the markup separate in another file (e.g. App.html). This will improve...
This redesign will allow current users of Go to more intuitively engage with Coco for frontend web design. e.g. * Replace js-like callbacks with go channels. * Centralize event handling...
Allow users to embed a global store in their components, having them diff/recompile on mutation. This should be sprinkled intermittently throughout a component hierarchy and patch as needed.
Add [Go Modules](https://github.com/golang/go/wiki/Modules) to base project folder for modern packaging support.
DOM currently renders from top to bottom without efficiently patching the diff of the incoming VDOM structure. See [gooact](https://github.com/sweetpalma/gooact/blob/master/gooact.js) for an example of a minimal patching implementation.
Installed `go-wasm-cli`: ``` $ npm i -g go-wasm-cli /usr/local/Cellar/node/11.5.0/bin/go-wasm -> /usr/local/Cellar/node/11.5.0/lib/node_modules/go-wasm-cli/cli.js + [email protected] $ go-wasm -v 0.0.3 ``` I receive the following error: ``` xlab ~/Documents/dev/go/src/github.com/mrmiguu/coco/example $ go-wasm start ✖...
https://github.com/mrmiguu/coco/blob/e51861ba64cb68c40c4abda2cce111872c47fd30/example/Count.go#L19 The example is modifying a non-pointer receiver's field. It seems like a bug.