7 ms·
I write Vue every day, in a large application. Only small bits use VueX. Of all the frameworks I've used, it's brilliant because it hardly takes any thinking a
by keyle 8y ago
I write Vue every day, in a large application. Only small bits use VueX.
Of all the frameworks I've used, it's brilliant because it hardly takes any thinking away from the business logic, so I'm not bogged down, it stays OUT of my way, and it's rock solid.
I HIGHLY recommend it, and this is from someone doing web since 1997.
- odorousrex 8y ago>I HIGHLY recommend it, and this is from someone doing web since 1997. I started in 97 as well, and cannot recommend Vue enough. I've done React, Angular 1 & 2, and I keep coming back to Vue. I always feel like with React/Angular I'm conforming to work how they want me to work. (Esp. Angular - React is more forgiving). Whereas Vue is just a complement to the way I already work. I can use as much or as little of it as I wish. A hearty endorsement indeed.
- tashoecraft 8y agoSo for personal projects or for small apps I think that’s great. But when I think about projects that need to live on well after I’m around, then they shouldn’t work the way I work, they should be in standard way that anyone can come into and know what’s going on. That jumping applications between teams feels simple. This is why I like angular quite a bit, it’s not whatever the dev decided to do. It doesn’t include a whole bunch of small libraries of questionable support.
- wwweston 8y agoIt's been a few years since I checked in with Angular because the projects I worked on were distinctively unpleasant, so what I'm about to say may not be current. But at the time, the wide variation in project structure (and available opinionated approaches) and libraries/tooling of questionable support were definitely part of the problem (though certainly not the full extent).
- tashoecraft 8y agoYeah, if it’s been a few years things are pretty different. The RC era was a little rough, but things are pretty standardized now. I wouldn’t say go start building with it unless it fits your use cases, but certainly don’t stay away from it if you come across it.
- kangoo1707 8y agoI think OP does not mean that Vue is unstructured / non-disciplined. Vue does have a rigid structure and standard though, but it's pleasantly designed and doesn't get in your way. Maintenance has been a breeze for me.
- mygo 8y agoI think you might be reading into what the poster wrote the wrong way. the implications of a framework being able to be used the way the poster descibes is that it closely follows existing standards and best practices. So as opposed to forcing you to do things entirely differently, it helps you work the way you might already work. Quite different from an anything goes wild wild west. And as with any language or framework, whether or not it's hard to debug is up to the developer.
- kbody 8y agoHave you tried React in a similar setting? Personally I couldn't bear it and it's massive adoption on frontend pushed me away from following that route much. Vue on the other hand certainly looks more "logical" to my eyes.
- keyle 8y agoYes I've used React. React was ok, but I had to think React and work the React way. With Vue, I work my way with minimal conformance.
- koboll 8y agoWeird, I came away with just the opposite impression. Vue forces you to organize everything in a certain way: data goes in data, computed properties go in computed, methods in method... it all felt very Rails to me. React sort of used to have this problem, too, when you had to rely on classes for state, but the hooks era is a breath of fresh air. Everything is just a function. It feels freeing.
- Semaphor 8y agoWith Typescript classes that becomes better imo. Data are instance variables, computed properties are getters (and setters) and methods are instance methods.
- codegeek 8y agoCurious how do you deal with state management in large application if you are only using small bits of vuex. I am writing this vue application where one component has become so huge that I would like to break it into smaller components but then passing data around in props is a nightmare. So I then need to look into something like vuex. So how do you get away from that in a large app ?
- Townley 8y agoIt depends a lot on what you're hoping to do. There's a happy medium for a large app between "every component manages their own state/props and those of their children" and "every component is a stateless vessel for VueX data". I think if you're at the point where "passing data around in props is a nightmare" that's the pain point that VueX is meant to resolve, and it should feed into the solution. But following the principle of "components should manage their state without VueX if it's easy/convenient for them to do so" is a good way to avoid the global state becoming too unwieldy.
- keyle 8y agoThat's a problem you'll have with any of those frameworks. Personally I have endpoints that ask for the data at a component level and if they're small, they're being passed the data from the view that contains them.
- jaxn 8y agoIf you use GraphQL, then Apollo and it's local cache are a pretty amazing alternative to VueX
- Smithalicious 8y agoWhat exactly is your issue with props?
- koboll 8y agoVue's templating engine, honestly, seems somewhat poorly thought-out. The usual <div :something='stuff + "here"'/> way of writing it errs on the side of HTML over JS, using quote marks awkwardly to enclose a statement rather than JSX's more sensible curly brackets. It makes it harder to visually parse, and it's sometimes annoying to not be able to use one type of quote marks unescaped within the statement. Overall, this is one of many ways in which Vue (like Angular) seems like HTML with functionality tacked on, as opposed to React, which is closer to idiomatic JS. I've used both extensively and I don't think I can recommend Vue over React anymore -- unless you're, say, prototyping and looking to build an app entirely on the client, with no build step, where Vue really shines. Or unless you're doing something HTML-centric, like converting a static site.
- jimmy1 8y agoI 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)
- kinow 8y agoI worked more with backend (Java, Python, PHP), but in my current project we needed a good UI, and decided to use Vue. No regrets. Using it almost everyday. I knew Backbone and a bit of Angular, but after using Vue, its cli, i18n, vuex, and also vue mastery, I'm not looking at any other tool for now. The community around it is also extremely helpful.
- yura 8y ago>Of all the frameworks I've used, it's brilliant because it hardly takes any thinking away from the business logic, so I'm not bogged down, it stays OUT of my way, and it's rock solid. That's exactly what it's like. Working with Vue doesn't even feel like you're using a JavaScript framework. You just write your HTML, your CSS, your scripts/data and you're done. Vue is brilliant.
- ergothus 8y agoI'm too inexperienced to have a definitive opinion, but I'm not nearly so positive and wanted to toss out a contrasting opinion to the current comments. After a few years of using React and some past experience with various other templating/view systems (webdev of one sort or another since '99) I started picking up a little Vue. So far it's been easy enough, but it is highly confusing compared to most other systems I know. The syntax is like JS handled through custom HTML attributes. In one place a string is a string, in another it's a reference to a component property. If I want to iterate over a list, I spit out the `<ul>` and then an `<li>` that has special attributes that says to repeat it N times, filling in these different bound values. Compare that to, say, React, where my code is code, and my HTML looks like HTML (but is actually code) and the relationships become more clear, less magic. If I want to loop over an array and output some <li> tags....that is exactly what I do. Vue reminds me of JSP...that's not a point in it's favor in my book. Now - I've only been using it for a week, and there is so much more to learn. But in terms of first impressions, Vue has not impressed me...and I actually expected to be impressed.
- philliphaydon 8y agoI have the opposite feeling to you. The template feels like HTML to me and the syntax is clear and concise. React for me gets confusing with it all muddled together. But each to their own.
- dmitriid 8y agoCompared to React (and React’s JSX) Vue’s syntax is orders of magnitude more complex and is very inconsistent: https://news.ycombinator.com/item?id=19199423 https://news.ycombinator.com/item?id=19199423
- konart 8y agoI feel that this baybe the case when you know js very well and it's just easier for you to write 'custom-js' that will be transpiled to regular one. I'm working on backend most of the time and relatively recently I needed to do switch to frontend part of our service. For me Vue seems much easier and less confusing. You just have your plain html template and a few 'hooks' to make it work with your js script. >magnitude more complex and is very inconsistent: Just as the other guy said - it is very intuitive. You don't even have to learn much of js to make it work perfectly.
- gumcreme 8y agoTo be honest, your post is like this submission. It's not helping people who want to decide. You just say Vue is great but people would like to understand why or why it might be better than React. This submission is also not helpful because it's from 2017 and I wonder why it is heavily upvoted and not a newer post. Things changed in two years and again, readers would like to understand how Vue compares against React but in 2019.