Hacker News new | past | comments | ask | show | jobs | submit login
Why Vue (Not React) Is the New jQuery (anyonecanlearntocode.com)
33 points by peterxjang on Sept 20, 2016 | hide | past | favorite | 20 comments

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.

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.

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.

Maybe they mean it in the sense of jQuery was part of the previous paradigm. In the new paradigm, React or Vue are the tools to use.

I can see that, but in my experience none of these new frameworks or libraries have had the same impact that jQuery when comparing it to similar libraries of the time. When I came across jQuery that's what I started using and have never considered switching to anything else since. It's only recently that we can start laying off jQuery simply because the native APIs have finally started catching in terms of ease of use.

As for modern frameworks like Angular, React, Vue, and so on; I have used multiples of them, and by the state of the community, I say they are fairly easy to transition from one to the next and none have had the same impact. I would imagine most reasons for changing is either job change related or just keeping up with the latest shiny thing. Heck, in some cases I still use jQuery with some of the new frameworks because it is still easier to do it that way.

You're totally right.

Even if I never had to use jQuery directly (had a short gig with Ember) I can see what it did.

It made JavaScript usable in the dark ages and did it with a nice API.

What do the frameworks of today?

What is their USP?

I mean React, for example, has a nice small API and its component concept is easy to grasp. To create an app, simply nest components, but the boilerplate and understanding required for Flux/Redux obliterates this. Not to mention the whole BabelJSXFlow stuff they have going on (and try to solve with create-react-app now)

It can be rendered on the server and the client can show finished markup and take it over to form a SPA, but as far as I can tell this is mostly a querstion of taste, since it now forces more load on the server.

So I wouldn't say it had too much of a net-positive effect as it could have had.

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.

I disagree on the scalability of Vue / Vuex. I've found it to be quite flexible and simple to grok.

Fyi, Cocos Creator was built with Vue. That's not a small app: http://www.cocos.com/download/creator/

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

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.

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)

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.

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.

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.

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).

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.

great. another addition to the javascript clusterfuck

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.


I thought this months new hotness was inferno js

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

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact