This is a very unusual feature request for Vue.js.
I propose a sub-project for Vue.js, called Vuego. Vuego is a WASM-based Vue.js wrapper written in Go.
It uses the Go 1.11 Web Assembly compiler to compile the wrapper.
The immediate benefit of Vuego is that it allows Vue.js users to deliver their Web applications in binary (Web Assembly) forms. So your companies would have a better way to protect IPs for Vue.js applications.
The project is just started and I would love to see if Vue.js maintainers and users want to have a look. In eventually, if you're OK with the concept, the Vuego project will be donated as a subproject of Vue.js.
https://github.com/chanwit/vuego
Something like this:
New(&Vue{
El: "#app",
Data: &Data{
Items: []*Item {
{Text: "Bananas", Checked: true},
{Text: "Apples", Checked: false},
},
Title: "Vuego Framework 0.1",
NewItem: "",
},
Methods: &Methods{
"addItem": func(this interface{}) {
this.(*Data).AddItem()
},
},
})
Hey @chanwit , thanks for sharing the project. This is an interesting idea for sure, although it seems the main benefit is just IP protection?
In terms of WASM, we are more curious about leveraging it for performance improvements (either runtime or SSR). While IP protection may be a topic that particular user groups are interested in, unfortunately the team currently does not have the bandwidth or expertise to provide meaningful feedback / collaboration on this project. We appreciate your effort though, and would encourage you to keep exploring the idea.
Thank you for your reply @yyx990803.
In terms of WASM, we are more curious about leveraging it for performance improvements (either runtime or SSR).
I surely continue to explore in this space. Thank you for your encouragement. Hopefully we could collaborate somehow in the future when the project becomes more mature.
Most helpful comment
Thank you for your reply @yyx990803.
I surely continue to explore in this space. Thank you for your encouragement. Hopefully we could collaborate somehow in the future when the project becomes more mature.