6 ms·
Having used vanilla JS, jQuery, Backbone, AngularJS, React (with and without Redux), and Vue (with and without Vuex) I really don't see eye to eye with the folk
by mieseratte 8y ago
Having used vanilla JS, jQuery, Backbone, AngularJS, React (with and without Redux), and Vue (with and without Vuex) I really don't see eye to eye with the folks who love Vue so much.
To me, it looks like Backbone, AngularJS, and React had an orgy and out came Vue. The "opinionated" claim strikes me as marketing BS, templating vs. JSX, attributes vs. components (assuming you're using their templating language), etc. There really isn't a performance benefit over React. You're wading into a new ecosystem without all the build-up React benefits from. The templating language itself is yet another thing to learn, and frankly I just don't think embedding control flow into the templates themselves is a sane approach.
The documentation folks love to talk about is alright, I've definitely seen worse, but it is too much "Go do X" and not a lot of "Why we do X." The latter is a particular strength of React, in my opinion, as they describe very well the underlying logic behind why something is the way it is.
About the best argument for it is the batteries-included nature of the projects, but even then I've not truly had that much trouble upgrading something like React Router such that it would make me question using it in the future.
- pjmlp 8y agoI rather just do plain WebComponents, but we are still a bit far from having them supported everywhere.
- crooked-v 8y agoFor me, the fundamental problem with web components is that attributes are limited to strings, so for anything even mildly complicated you have to stick something weird on top of them that serializes/deserializes things all the time.
- LiterallyDoge 8y agoI think the only concrete criticism here is that the Vue ecosystem is new, which is (admittedly) perilous. But with the KISS approach Vue takes, I've only very rarely cared about the ecosystem at all. I think that the weakness you are seeing here is a straw man from the nature of React's over-architected approach, which Vue does not significantly suffer from (sort of, we don't need a bunch of apps, just a good phone). Is there a particular situation you are thinking of when you say we are in need of said ecosystem?
- abalashov 8y ago> But with the KISS approach Vue takes, I've only very rarely cared about the ecosystem at all. I think quite similarly. I've only paid attention to third-party components maybe once or twice. That said, ecosystem size, health and critical mass do factor into project longevity, as well as perceived adoptability, all of which feed back into each other. However, in the context of React, the discussion about ecosystem elides the high necessity of using it, since core React stands a virtually zero chance of being sufficient.
- crooked-v 8y ago> However, in the context of React, the discussion about ecosystem elides the high necessity of using it, since core React stands a virtually zero chance of being sufficient. I think an SPA version of a CRUD app wouldn't need anything past core React. Most people don't talk about things that unamibitous, though.
- brailsafe 8y agoI think more often than not, an SPA version of a CRUD app is what most people convince themselves they're not working on.
- Ataraxy 8y agoHow long until the ecosystem isn't considered 'new' and what's missing from it to be considered not up to scratch compared to React?
- simooooo 8y agoI have to agree. I was a fan of Vue but then I tried react and much prefer that now.
- s0341 8y agoweird, i feel exactly the same when I use react lol. but lets be honest here, react fanboys are pissed theres a better/new kid on the block :D
- deleted 8y ago[deleted]
- rpeden 8y agoI think it's okay that you don't see eye to eye with people who love Vue. And I think it's also important to note that most of the things you point out are matters of preference. I've seen Vue fans and React fans argue about these things until they're blue in the face, when all it really boils down to is that some people like the way Vue does things, and some people like the way React does things. Healthy debate is good. But the downside is that I've noticed these debates devolving into what I call identity politics for programmers - instead of seeing the other group as front-end developers who just like doing things differently, I see people breaking the world down into two groups: people who agree with them, and idiots. And I don't think this approach is very good for us as a community. So I don't mean to single you out here, but the author didn't really criticize React in any way, so I don't think coming to the defense of React vs Vue here really added to the conversation. Why not just say, "hey, I prefer React, but it's good Vue exists for folks who prefer a different approach.". Vue's existence isn't a threat to React. It's okay to have multiple approaches to the same problem. I prefer React too, but I don't think a front end framework monoculture is a good thing so I hope that Vue, React, Aurelia, Ember, and others continue to grow.
- flabbergast 8y agoIt's just annoying that when I look for a new front-end job I see more and more Vue.. I really don't want to write all that markup, for me it feels like a step back from React, so I skip those jobs. Maybe I'm just afraid for non interesting technologies becoming a standard I have to concede to eventually.
- bigtunacan 8y agoAnd on the flip-side; I can't stand React so I'm glad to see that Vue is growing. I hate the JSX "everything is JavaScript" mentality where you shove all of your HTML into a render function. Vue's component separation of HTML/JavaScript/CSS just clicks better for me.
- jimmy1 8y ago> I hate the JSX "everything is JavaScript" mentality Would you object to things like unobtrusive javascript? Things like unobtrusive javascript came to be because people recognized early on that HTML was not enoug for writing applications -- that you needed something more. Since basically the entire world has come to embrace unobtrusive javascript, it isn't a logical leap to embrace JSX. https://medium.freecodecamp.org/react-s-jsx-the-other-side-of-the-coin-2ace7ab62b98 https://medium.freecodecamp.org/react-s-jsx-the-other-side-o...
- vippy 8y agoMy only trouble with the React stack is that, for me, someone who mostly works on apps, pretty much everything I work on is going to need a view library / a router / a means of managing state; I have a lot of inertia when it comes to working on new things because I know it's going to take a day or two just to get my project structure set up and running, before I even consider working on even the most general, common features of web apps (login, for instance.) Beyond that, Redux works well with user input, api calls, and sockets to manage state, because it is so explicit. IDK. Vue may be cool, but React/Redux has always done what I need of it.
- christophilus 8y agoI'm a React fan, too, as it enables nice FP-based front-end experimentation, such as pretty much all of the front-end Clojure solutions. It's really hard to do something like those using Angular or Vue.
- abalashov 8y agoYou'd be surprised how much FP you can pull off in Vue. :-)
- christophilus 8y agoI'd like to hear more about this. The reason ClojureScript's front-ends are React-based is that React provides a native JS view-layer (no templating required). I'm assuming Vue must do this, too, but I had a hard time tracking docs down when I looked a few years back. The other thing that React does is encourages top-down propagation of immutable data, which nicely fits ClojureScript and other FP languages. Is this approach equally efficient in Vue? Lastly, when I looked at view, it had a lot of sort of OO stuff happening in the docs, which doesn't map very nicely to ClojureScript and friends. Do you have any docs / blog posts on programming in Vue with pure JS (no templates or magic) and in a functional way? If so, I'd love to read them. I may spend a weekend trying to put a ClojureScript layer on top of Vue.