Re:Vue.js: the good, the meh, and the ugly
by mmargerum on Friday July 06, 2018 @11:33AM
(#17472243)
I evaluated react/redux and vue/vuex for a project . I wrote a small poc in both. This is why I chose vue
1. Js doesn’t support immutable data structures so trying to return a deeply nested model using spread and other things was ugly. The answer seems to be “flatten your data”. I didn’t have to flatten my model with vuex. Vuex uses mutations when I can keep a flat model of observable but also keep my pristine model that I can send back over the wire with no changes . I suspect mobx may do the same sort of thing for vue. I feel like the react pattern would work better with a language like clojurescript that actually has immutable data structures.
2. Prefer html to Jsx although vue does support jsx. Admittedly this is just a preference thing.
3. Less boilerplate. I felt like I was writing more code that didn’t really do anything useful in react/redux. Vue seemed to have the smallest ceremony to code ratio.
4. Vuetify seemed a lot easier to use and was more polished than the react counterparts. I know it’s just a widget library but I found it fantastic and the docs were great. Vue slots are a great idea
5. Documentation . Vue has second to none documentation and this is important when you are starting out
I build a medium sized app in vue and was astounded that I literally did not run into one issue. That has never happened to me in 30 years. Kudos to that team.
6. React router was on its 4th rewrite. I can’t deal with constant breaking changes
7. Router and vuex felt more cohesive and integrated into vue
Whatever you choose please do support these guys on patreon!
1. Js doesn’t support immutable data structures so trying to return a deeply nested model using spread and other things was ugly. The answer seems to be “flatten your data”. I didn’t have to flatten my model with vuex. Vuex uses mutations when I can keep a flat model of observable but also keep my pristine model that I can send back over the wire with no changes . I suspect mobx may do the same sort of thing for vue. I feel like the react pattern would work better with a language like clojurescript that actually has immutable data structures.
2. Prefer html to Jsx although vue does support jsx. Admittedly this is just a preference thing.
3. Less boilerplate. I felt like I was writing more code that didn’t really do anything useful in react/redux. Vue seemed to have the smallest ceremony to code ratio.
4. Vuetify seemed a lot easier to use and was more polished than the react counterparts. I know it’s just a widget library but I found it fantastic and the docs were great. Vue slots are a great idea
5. Documentation . Vue has second to none documentation and this is important when you are starting out
I build a medium sized app in vue and was astounded that I literally did not run into one issue. That has never happened to me in 30 years. Kudos to that team.
6. React router was on its 4th rewrite. I can’t deal with constant breaking changes
7. Router and vuex felt more cohesive and integrated into vue
Whatever you choose please do support these guys on patreon!