{"id":18014898,"url":"https://github.com/bketelsen/wasmplay","last_synced_at":"2025-03-26T18:30:54.988Z","repository":{"id":57608828,"uuid":"138029167","full_name":"bketelsen/wasmplay","owner":"bketelsen","description":"WASM Web \"Framework\" Playground","archived":false,"fork":false,"pushed_at":"2018-12-25T20:44:12.000Z","size":2348,"stargazers_count":100,"open_issues_count":2,"forks_count":11,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-17T20:54:04.011Z","etag":null,"topics":["frontend","go","golang","wasm","webassembly"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bketelsen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-06-20T12:21:40.000Z","updated_at":"2024-02-28T18:58:07.000Z","dependencies_parsed_at":"2022-08-30T10:30:11.323Z","dependency_job_id":null,"html_url":"https://github.com/bketelsen/wasmplay","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bketelsen%2Fwasmplay","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bketelsen%2Fwasmplay/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bketelsen%2Fwasmplay/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bketelsen%2Fwasmplay/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bketelsen","download_url":"https://codeload.github.com/bketelsen/wasmplay/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245712530,"owners_count":20660251,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["frontend","go","golang","wasm","webassembly"],"created_at":"2024-10-30T04:11:32.599Z","updated_at":"2025-03-26T18:30:54.254Z","avatar_url":"https://github.com/bketelsen.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WASM Go Web \"Framework\"\n\nThis is a proof of concept, compiling Go to web assembly and manipulating the DOM.  It's missing nearly *everything* that would make a framework useful.  I welcome any ideas about how to turn this into something useful.\n\n## Root Folder\n\nThe root folder manipulates the DOM directly and is an incomplete programming thought. I was going to make a React-like component in Go/wasm, then I realized that Vecty already existed.  See the `markdownvecty` folder for the Vecty version.\n\n## MarkdownVecty folder\n\nThe `markdownvecty` folder is a ported version of the Vecty \"todomvc\" example.  It uses my [fork of Vecty](https://github.com/gowasm/vecty).\n\n## Video\nSee it in action:\n[Dropbox Link to Video](https://www.dropbox.com/s/i0zxkim3jng48u3/Screen%20Recording%202018-06-21%20at%2012.46.56%20PM.mp4?dl=0)\n\n## Run in Docker\n```\ndocker run -d -p 3000:3000 bketelsen/wasmvecty:1\n```\n\n## Running\n* Install a WASM enabled version of Go (tip is good)\n* Makefile assumes this version of go is at ~/gowasm\n* run `make run` from a shell to build the server, the wasm output, and start the server.\n* navigate to http://127.0.0.1:3000\n\n\n## Forks\nTo make this project work, there have been several forks:\n[vecty](https://github.com/gopherjs/vecty) to [gowasm/vecty](https://github.com/gowasm/vecty)\n[gopherwasm](https://github.com/hajimehoshi/gopherwasm) to [gowasm/gopherwasm](https://github.com/gowasm/gopherwasm) ** Not anymore\n\n## Credits\n\nThe TodoMVC app is from Vecty's examples by Richard Musiol.\nMuch of the inspiration for the work porting vecty came from this [blog post](https://blog.owulveryck.info/2018/06/08/some-notes-about-the-upcoming-webassembly-support-in-go.html).\n\nThis project isn't very much a `creation`, more an assembly of parts that already existed and were ready to be combined.  Thanks to all who worked to get Go and web assembly support to this point.\n\n## Bonus Round\nThe `markdownvecty` directory contains a vecty application that builds \u0026 runs in wasm.\nRequires my fork of vecty: https://github.com/bketelsen/vecty placed at $GOPATH/src/github.com/gopherjs/vecty.\n\n```\n    cd markdownvecty \u0026\u0026 make run\n```\n\n## License\nMIT License\n\nCopyright (c) 2018 Brian Ketelsen\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbketelsen%2Fwasmplay","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbketelsen%2Fwasmplay","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbketelsen%2Fwasmplay/lists"}