4 ms·
Vue has a lot of great ideas. I originally found it to have just enough power over Backbone, without the heft of Angular. Despite a great premise, my time with
by throwaway284534 10y ago
Vue has a lot of great ideas. I originally found it to have just enough power over Backbone, without the heft of Angular. Despite a great premise, my time with Vue was turbulent.
Vue version updates are tremendous time sinks. API thrashing was common from the original 0.x.x releases to 1.0.0
This was justified as all versions under 1.0.0 being "under development". That's fine, but call it what is, "non-production-ready software". A public beta that should have a prominent disclaimer.
The removal of the built in event system was also handled poorly. There was no migration path other than build-your-own shim using the Vue constructor.
My beef with Vue these days is the growing Vue-specific tooling. I'm not fond of the single file .vue approach as it doesn't make it easy to separate components into different contexts.
The standard rebuttal for this complaint is "but JavaScript, CSS, and templates are the same context." I agree that the approach of scoping CSS and template to a component is great. Not being able to use separate files leads to a lot of noise. I don't need to see the CSS when I'm working on the component JavaScript. The best solution I've had in the meantime is using my editor's "block folding" feature.
Combine this with a .vue specific syntax highlighting, and a .vue eslint configuration.
It's really not what I signed up for in the beginning. I sense I'm coming off as entitled. Evan's countless hours of work is commendable and I'm grateful for his vision.
I hope Vue will find that illusive balance of configuration and opinion in its lifetime.
- jcoffland 10y agoYou don't have to use the single file approach. You are free to organize the files how you like.
- manyxcxi 10y agoI didn't get in to Vue until 1.0, after I hopped into a project that had it. Being a backend guy first, I bristled at having to get my head around Vue to make fixes to this project- it was a mere half a day later that I felt quite comfortable with Vue and the different hierarchies, events, and propagations. Maybe because I walked into a half decent already written project or because I have experience with Angular, React, and Backbone I was almost there already on Vue. It's to the point that I pretty much have started my last dozen projects with Vue, whereas it would've just been HTML5 + whatever as I needed and it would've been a hodgepodge.
- rk06 10y agoBut you can move html, css and js into separate file by linking them from .vue file using src imports[1] [1](http://vue-loader.vuejs.org/en/start/spec.html http://vue-loader.vuejs.org/en/start/spec.html)
- elithrar 10y ago> Vue version updates are tremendous time sinks. API thrashing was common from the original 0.x.x releases to 1.0.0 I didn't have to endure this, although pre-1.0 API breakage goes with the territory (of pre-1.0 software...). The 2.0 API changes look pretty sane (https://github.com/vuejs/vue/issues/2873); https://github.com/vuejs/vue/issues/2873); once it is official and the vue-cli webpack template is updated, it looks like only a little work to upgrade. Vue's documentation (in the present) is really good, and was a motivating factor for me choosing it over React.
- mixedCase 10y agoI had been trying Vue for a couple weeks, with at least two different approaches to file organization (first setting up bash scripts to build release and dev channels, later switching to minifying and compiling using gulp with things like Closure) before I discovered vue-cli and its webpack template.