News for hackers. Stuff that matters.
Re:How and why we moved to Vue.js by dyeje on Sunday February 11, 2018 @11:07AM (#16353216)
I disagree. As someone who recently made the switch from jQuery to React, it is way easier to shoot yourself in the foot with jQuery. React let's you focus on how the component should behave instead of doing mental gymnastics trying to manipulate the DOM. There are always so many edge cases with DOM manipulation, it rarely turns out well for anything but trivial things (which I still use it for).
Re:How and why we moved to Vue.js by dham on Sunday February 11, 2018 @02:57PM (#16354419)
It's easy to shoot yourself in the foot with any technology. People switch to a technology thinking they're writing better code with it, but in reality they're just a better at coding. Or it's a rewrite of something, in that case you know more about the problem you're solving. If you're bad at coding jQuery, when you switch to Vue or React, you then have gigantic mono components, if else if else rendering, 5000 state variables, or some other thing that you shoot yourself with.
Re:How and why we moved to Vue.js by cstejerean on Sunday February 11, 2018 @03:23PM (#16354576)
Some technologies make it much easier to shoot yourself in the foot than others. jQuery is in that category. Some technologies make it easy to do things right by making sure that the right way is the path if least resistance.
Re:How and why we moved to Vue.js by faitswulff on Sunday February 11, 2018 @12:10PM (#16353497)
> React let's you focus on how the component should behave instead of doing mental gymnastics trying to manipulate the DOM

Agreed - a huge benefit of Vue is exactly that - it's declarative. You describe what you want with a (more or less) plain ol' Javascript object, instead of how you want something to work. It's almost like writing JSON - and is just as readable.

Re:How and why we moved to Vue.js by rleija on Sunday February 11, 2018 @03:30PM (#16354622)
ReactJS is declarative as well.
Re:How and why we moved to Vue.js by faitswulff on Sunday February 11, 2018 @04:21PM (#16354876)
I wasn't saying that it isn't.
Re:How and why we moved to Vue.js by GhostVII on Sunday February 11, 2018 @04:18PM (#16354861)
JSX is not declarative
Re:How and why we moved to Vue.js by timbuckley on Sunday February 11, 2018 @05:14PM (#16355133)
Not really sure how you can reach that conclusion. With JSX you are declaring what the HTML will look like, rather than specifying how to do the transitions. It's difficult to get more declarative than that.
Re:How and why we moved to Vue.js by shams93 on Sunday February 11, 2018 @11:42AM (#16353363)
Yeah if you need a SPA jQuery won't work. Ultimately react and Vue will give you much cleaner code at the cost of learning the shadow Dom. All the old Dom methods from jquery and vanilla js over to shadow Dom instead.
Re:How and why we moved to Vue.js by masklinn on Sunday February 11, 2018 @12:30PM (#16353613)
> Yeah if you need a SPA jQuery won't work.

It will certainly work, there are plenty of SPA which use jquery (or even vanilla JS) for their DOM manipulation. But it will likely be significantly more painful and prone to desync bugs than using a vdom-based system

Not just SPAs either, any non-trivial component is affected.

Re:How and why we moved to Vue.js by dragonshed on Sunday February 11, 2018 @09:26PM (#16356107)
I challenge anyone to use jQuery to build a SPA and not re-invent backbone (poorly or otherwise).

I built a simple site recently and one complex page ended up with shitty recreations of backbone Model and View.. and never knew until a colleague reviewed my code and suggested I look those up.

Re:How and why we moved to Vue.js by temporallobe on Monday February 12, 2018 @12:57AM (#16356848)
I recently did exactly this and it wasn't that bad. It's not that I couldn't use Backbone, I decided not to because I didn't see the point in introducing yet another library when all I really needed to do was bind inputs to a model, which I did in about 5 lines of terse jQuery. Besides, I had custom widgets that wouldn't have benefited from Backbone anyway and would have required customization anyway. I think judicious use of libraries is ok, but tbe more elite among us tend to become libray snobs and shame people for not doing things the "right" way.
Re:How and why we moved to Vue.js by Can_Not on Friday February 16, 2018 @10:15AM (#16392859)
> there are plenty of SPA which use jquery (or even vanilla JS) for their DOM manipulation.

I've seen jQuery included in VueJS/react/ng2 for a specific complex plugin, and I've seen it for a few simple DOM manipulations where there was no reason for kQuery to do it instead of the framework, but is there actually a paradigm for jQuery being the root framework in an SPA? I've looked for jQuery SPA and found nothing. Does a jQuery SPA framework actually exist or are you talking about lots of homemade frameworks that use jQuery?

Re:How and why we moved to Vue.js by philliphaydon on Sunday February 11, 2018 @08:46PM (#16355965)
Jquery solved a problem where building websites was a pain. Trying to listen to an event? Manipulate the dom? All painful.

But the thing is we aren’t really building websites anymore. We are building web applications. And jquery just plain sucks for that.

Re:How and why we moved to Vue.js by Klathmon on Sunday February 11, 2018 @11:53AM (#16353405)
FYI it's "the virtual Dom", the shadow Dom is something different.