3 ms·
I have to agree with this. Ultimately whether or not you like Vue or React better boils down to if you agree with the semantics of the web, and including them i
by jimmy1 8y ago
I have to agree with this. Ultimately whether or not you like Vue or React better boils down to if you agree with the semantics of the web, and including them in your app building process (i.e you like html, and css, and just want to "pepper" in some logic and interactivity with JavaScript), or if you would rather just embrace JavaScript whole-heartedly.
Vue relies too much on overloading the string type for my taste (fundamentally, all JS libs do this to some extent). Too much magic happens with these string-based v-bindings.
Irrespective of that, these days I am hard pressed to not use typed JS in some form or fashion anyways.
- enraged_camel 8y ago>>Irrespective of that, these days I am hard pressed to not use typed JS in some form or fashion anyways. What do you mean by "anyways"? I use TypeScript with Vue and it's great.
- jimmy1 8y agoDespite whatever framework I use, I believe adding types improves it and reduces bugs, Vue included. (These days I'm favoring ReasonML and that skews me to React, but I believe Vue.js is also available on Bucklescript)
- Rapzid 8y agoI could see it being great if everyone on the project were writing class components and using JSX. String templates and extended objects? Mutiny.
- dpisk 8y agoAs far as component libraries that start from HTML, I think Marko has the best syntax. Attributes are always parsed as JS expressions, for example. There's still some quirks, but overall it's pretty nice. https://markojs.com/docs/syntax/ https://markojs.com/docs/syntax/ There are some benefits from just embracing JavaScript though, especially, as you mention, integration with things like TypeScript.
- pbowyer 8y agoThat attribute syntax is awesome! I've found VueJS's handling of attributes to be somewhat confusing, sometimes getting a different type passed through than I was expecting. Marko takes the approach that would least confuse.