
Why Vue (Not React) Is the New jQuery - peterxjang
http://anyonecanlearntocode.com/blog_posts/why-vue-not-react-is-the-new-jquery
======
talmand
Trying to compare these new Javascript solutions to creating "apps" as the
"new jQuery" does a great disservice to jQuery.

jQuery answered a great deal of the problems of the day in a way that
abstracted away all the stupid stuff of the browsers we had to deal with. It
didn't just make it easier to work with the DOM, it also made it easier to
work with the browsers.

These new Javascript frameworks and libraries address different problems than
jQuery. Some provide solutions looking for a problem, in my opinion, but many
provide solutions that jQuery doesn't even begin to address and should not. In
a way, this comparison to jQuery also does a disservice to these other
projects. None of them are the next jQuery, they are their own thing and
should be treated as such.

~~~
kedean
The point he was making at the start is that it didn't matter that jQuery
solved those browser incompatability problems (so did umpteen other
libraries), it succeeded because it was easy to get started and build on. The
problem being solved is not the matter at hand.

~~~
talmand
I see the problem here. My main point isn't the problem that they solved, it's
the impact they had on the industry. I say none of these new projects are
having the impact that jQuery did. It's not a proper comparison that's
beneficial to either side.

------
subie
Vue is really nice with simple examples. It does everything how you'd expect,
quickly, and with little code. When you start building more advanced things
you'll need to completely buy into the framework and that's when Vue gets a
lot less pretty. I think React and Angular 2 are far better framework to learn
and commit to.

So yes Vue is the new jQuery in that you can built smalls things nicely but
good luck wiring up a large app.

~~~
andrei_says_
Could you provide some examples to issues related to application scale?

~~~
subie
I'm not saying it has problems at scale. I just don't enjoy building large
scale things with it. It feels like a hacked jQuery lib with Redux and Angular
packed into it.

------
findjashua
The arguments provided by the author are rather poor:

1\. setting up babel, webpack etc - you don't have to do the setup yourself,
just use the cli ([https://github.com/facebookincubator/create-react-
app](https://github.com/facebookincubator/create-react-app))

2\. learning es6 syntax - that's not a framework-specific problem, you could
run into that w any framework (personally, I don't think it's a problem to
begin with, since es6 is actually a lot nicer to work with)

It would've been a lot better if he showed what specific features of Vue make
it easier to build apps w it.

~~~
peterxjang
Fair points. I haven't played around with create-react-app much - it seems
like a great tool, but it's important to note that a) it's pretty new, and b)
it was created to address the very issues of what makes React hard to learn.
What I'm not sure about is if the abstraction it provides will come back to
haunt a beginner. It seems like the developers are anticipating a point where
the basic setup is no longer suitable for a project with the "eject" feature,
which means at some point you'll have to understand the underlying tool chain.
This isn't a bad thing, but again, the learning path isn't clear.

As far as ES2015 syntax, it's not specific to a framework, but it is an extra
thing that a beginner has to learn. Nearly every React tutorial I've come
across takes heavy advantage of its features. And don't get me wrong - I love
the new features and use them in my own code. But it's hard to tell the best
way to teach a newcomer nowadays. Skip ES5 and only learn ES2015? That seems
like trouble, you won't be able to read many existing codebases. Learn ES5
first, then ES2015? That seems like reasonable, but again, it's hard to get
into React right away since you'll have to learn ES5 first. Again, these
aren't problems for experienced developers, but it's daunting for a beginner
to get started.

You do have a good point about showing specific features of Vue, this post was
only trying to show the ease of getting started. I may follow up with a post
to show some more specific features of building a larger app.

------
jacobmischka
Vue is really nice, but React having React Native is a massive advantage. It
isn't as beginner-friendly, but it's a massive ecosystem and I don't think Vue
is ever going to topple it for the top framework.

------
the_duke
Has anyone built a large app with vue.js and compare it to React?

To me it seems more well-suited for small elements inside a regular page.

Single file components are awesome though, I'd love to have that in React (not
a big fan of JSX).

~~~
rukenshia
I built some "medium" sized vue applications, ie a client ui for an upcoming
multiplayer modification. the vue components play nicely together but your
global store tends to get a little hard to read. sure, you can split it into
even more files but that might just make it even more confusing. especially
always adding mutations to the store is a pain in the ass. I also didn't find
a proper way for built-in events and using this.$parent.$broadcast and co.
feel like a hack. I eventually built my own event system for that. Other than
that, I really like vue and would not pick anything else for my projects right
now. I am excited for the upcoming changes in vue 2, iirc my complaint about
Vuex will be solved too, then.

------
iptables
great. another addition to the javascript clusterfuck

~~~
true_religion
React was released in March 2013. VueJS was started in Jul 6, 2014. It's not
new.

We've had we've had both alternative existing concurrently for almost 2 years
now.

~~~
iptables
okay

------
joshmn
Was digging around GitLab's source code yesterday to be very pleasantly
surprised to see that they're using Vue in some places.

