11 ms·
Will Vue.js become a giant like Angular or React?
- peter_retief 9y agoI hope so, its really easy to use, anyway it has my vote
- sotojuan 9y agoI think there's merit on staying small-ish. Not every framework has to be a giant that dominates the industry. Having a small community means the potential for focus and strong canonical learning resources, as opposed to the mess of poorly written React and Angular posts/"guides" we get every week. The community feels tighter and it may be easier for the maintainer(s) to manage it and the codebase. Ember is a good example. Ember's community isn't small (sold out conferences every year), but it's not in the spotlight like React or Angular are. That doesn't mean the framework is doing poorly. If anything, their community and meetups are "better" than React's (for my definitions of a good community/meetup).
- kerkeslager 9y agoYou may be right about the quality of meetups, but meetup quality is a pretty unusual metric for a JS framework's success.
- sotojuan 9y agoTrue. At work we use React for the practical reasons explained by others in the comments. My point was that Vue doesn't need to be huge. It's fine the way it is and its current size has some benefits.
- bartekb 9y agoAs the author of the article, I would agree with you on that. Still, I would love to see it grow to some extent to allow Vue developers to find jobs more easily and CTO's to see its value, while still managing to hold a good community and not messing the framework up.
- deleted 9y ago[deleted]
- tyrw 9y agoHaving used all three, it feels like Vue.js will grow to occupy the role that React occupies today. That, or React will (smartly) take on some of Vue's core features like single component files with actual HTML, CSS, and JavaScript in them. Vue is far easier to start with yet feels more powerful too. Angular 2+ is a separate animal for larger teams, so will probably remain for that use case.
- ausjke 9y agoit always amazes me how one person project such as vuejs and laravel can compete against with the frameworks made by giants such as google and facebook. yes there are more developers involved in vuejs and laravel now but the two main authors are still the king to rule these two extremely popular projects, truly amazing.
- lightblade 9y agoThat's also why taking on Vue is a huge risk. The project has a high bus factor. If the main author burnt out and quit, the project is dead.
- wishinghand 9y agoIt definitely is not because not only are there other contributors but Alibaba and Monterail have also made meaningful contributions (the former also developing an analog to React-Native but with Vue).
- lightblade 9y agoMeaningful contribution in what way? This is Vue's contribution graph sorted by addition: https://github.com/vuejs/vue/graphs/contributors?from=2016-04-10&to=2017-06-18&type=a https://github.com/vuejs/vue/graphs/contributors?from=2016-0... The #2 person contributes only about 1% compared to the #1 person. Compare to React's same graph: https://github.com/facebook/react/graphs/contributors?from=2013-05-26&to=2017-06-18&type=a https://github.com/facebook/react/graphs/contributors?from=2... The #2 person is at about 50% of the #1 person. Compare to Ember's same graph: https://github.com/emberjs/ember.js/graphs/contributors?from=2011-04-24&to=2017-06-18&type=a https://github.com/emberjs/ember.js/graphs/contributors?from... The #2 person is at 75% of the #1 person.
- nickthemagicman 9y agoThe only advantage React has is a huge backer..Facebook. So large companies are more open to using it because it's less risk and has higher chance of being around in 5 years than a framework without a huge backer. That's my theory on how 'biz' people make I.T. decisions.
- Just1689 9y agoI can confirm this
- azr79 9y agoConfirming this, same logic for Angular
- onion2k 9y agoThe "corporate backing" argument is the same as one that people use to justify using Windows rather than Linux. It's not wrong per se, but it's far from telling the whole story; there are some huge and popular projects that didn't have a large corporate sponsor at the beginning.
- barrkel 9y agoAnother aspect is lower ramp up time for hiring new developers, and easier convincing developers to come on board where they'll learn / use a growing technology rather than some oddball niche thing. They're solid, non-arbitrary reasons. Given a choice between the most common tech on the market and a niche offering, you need to have a good reason to choose the niche offering, because it comes with real downsides to a development team (as opposed to an individual developer).
- sergiotapia 9y agoAfter being burned really badly by Ember and Meteor, I'm probably never going to use tools that are all-in-ones ever again. With React I get something laser-focused, just does 1 thing well and that's it. With Vue, I have to buy into the entire ecosystem. I don't want to experience what I did with ember and meteor ever again in my professional life. I think about all the great developers I've worked with and I looked up to, and almost all of them hated all-in-ones. I rolled my eyes when I was younger, but today it's like damn these guys had a point!
- MatekCopatek 9y agoI agree with the general notion, but I fail to see how one would consider Vue an all-in-one, its feature scope and actual size in KB are much closer to small, view focused frameworks such as React.
- ausjke 9y agoMaybe polymer and web components are the way to go, at least that is what I'm trying to use these days.
- patrick_haply 9y agoOut of curiosity, how did Ember and Meteor burn you so hard and why are you so averse to "all-in-one" tools as a result?
- nine_k 9y agoA typical all-in-one framework is Ruby on Rails. It is great to quickly start a project that does basic things planned for by the framework. But as your project grows, and you start to need special, custom things (and you inevitably do), you understand the "Rails" part. You have to move along the rails. This leads to a growing number of ugly hacks, just to keep the whole thing within one framework. The problem is that you can't replace one component you want different. Everything is cross-dependent, aka "integrated". In the long term, libraries rock, and monolithic frameworks suck. But in the beginning, the lure of a monolithic framework us strong.
- Tade0 9y agoEverything has already been said in the article, but there's one thing that makes Vue stand out the most: The author(s) are really focused on keeping this framework's API simple and getting rid of/deprecating stuff that doesn't promote productivity.
- petilon 9y agoVue.js is a step backwards, relative to React, in my opinion. What I love about React is JSX (or TSX if using TypeScript). JSX is a combination of JavaScript and HTML syntaxes. You don't need to learn a new syntax in order to incorporate loops and conditionals in the view layer, thanks to JSX: you just use JavaScript. More importantly, you get compile-time verification. If you use a JavaScript variable in JSX and someone deletes that variable you find out about this issue at compile time. This is very important for large projects that multiple developers are working on together. Angular and View.js don't have this capability and that's a very serious shortcoming for large projects.
- indreklasn 9y agoI love React but you're completely wrong here. Vue has JSX support as well https://github.com/vuejs/babel-plugin-transform-vue-jsx https://github.com/vuejs/babel-plugin-transform-vue-jsx. JSX isn't a React thing anymore. Most Virtual DOM solutions offer JSX. Styling React components is a huge pain. What I like about Vue is the awesome styles, HTML and js in one file for each component. With React projects I have a completely seperate styles folder.
- petilon 9y agoThe documentation for view.js seems to highlight a custom syntax that cannot be verified at compile-time: https://vuejs.org/v2/guide/#Conditionals-and-Loops https://vuejs.org/v2/guide/#Conditionals-and-Loops If you are interested in HTML, JavaScript and Styles in one component you really want Web Components. React and view.js support components but they are brittle. W3 Web Components (implemented by Chrome and Safari) solve this problem. More on that here: https://github.com/wisercoder/uibuilder https://github.com/wisercoder/uibuilder
- yunyu 9y agoVue templates are verified at compile time (don't know where you got that from), and static analysis is planned for the future (which isn't directly possible with JSX): https://medium.com/@youyuxi/pretty-good-comparison-overall-but-a-few-points-id-like-to-discuss-e4f6460e75d5 https://medium.com/@youyuxi/pretty-good-comparison-overall-b... There are two distributions of Vue, one in which templates are precompiled (this is the default and recommended build), and one bundling the runtime template compiler. You are most likely thinking of the latter.
- enkay 9y agoIt's the best parts of Angular and React in one framework. I don't know why you'd want to use anything else.
- k__ 9y agoWhat are the good parts of Angular that are in Vue?
- devdoomari 9y agothe databinding - though it's a shame Typescript+React+Mobx does databinding with better 'template' typechecking...
- enkay 9y agohttps://vuejs.org/v2/guide/comparison.html#AngularJS-Angular-1 https://vuejs.org/v2/guide/comparison.html#AngularJS-Angular...
- crb002 9y ago#JQuery4Ever Webassembly needs it's own UNIX. A simple abstraction library for browser IO that scales.
- shaneos 9y agoIt's a bit disingenuous to say that Facebook uses Vue for Newsfeed. It's on a marketing site, not on a performance and business critical part of the site. These marketing sites are very often built by contractors, not FB engineers, and tend to be one off efforts. Not to knock Vue, but it weakens the message when deliberately misleading info like this is used
- munchor 9y agoA comment on the linked article actually mentions that it was indeed contracted. Very disingenuous indeed by the article's writer.
- shaneos 9y agoRight, it's just as valid (that is to say it is not at all) to claim that this comment thread uses Vue since it discusses it. YCombinator runs Hacker News on Vue now! It's a shame since it's otherwise a well written article
- sgustard 9y agoNot the same at all. To say that the site newsfeed.fb.com uses Vue is a fact. To say that Facebook owns and operates that site is a fact. The valid point is that Facebook is a large company made up of many people and not a monolithic entity.
- shaneos 9y agoThe point I was making (badly) is that he states that News Feed by Facebook uses Vue. News Feed is a well known product by one of the largest companies in the world, and if Vue were indeed used by it (as React is) it would be a huge endorsement for the quality, durability, scalability and resilience of the project. However the reality is so far from that, where a marketing site built by contractors under none of the strict constraints of the product it speaks about uses Vue, that it serves not as an endorsement but instead a needless point of contention in the post.
- colbyh 9y agofor what it's worth I will say that writing components in Vue is enjoyable in the way that React was initially. the two are definitely more similar than either is to Angular, but I find Vue slightly more easy to get started with (no JSX overhead). JSX is far more powerful than simple HTML templates but I rarely find myself needing that power.
- munchor 9y agoAs a reminder, you don't have to use JSX to use React. JSX is just a wrapper that makes it more elegant but you can just use the React API to create and declare element structures.
- colbyh 9y agototally! but the pure JS syntax is pretty rough (IMO) and I was simply comparing their "default" templating languages, since most people will probably start with them. I love react and have always been super impressed with the ecosystem FB created - just wanted to give Vue credit for being an enjoyable framework.
- azr79 9y agoI went Angular, because I can get a well paid job very easily, it's a very fun Framework to work with, TypeScript is awesome, it's complete, fast and powerful, is backed by Google and has a huge community. Vue might be fun to work with, but it doesn't have all the advantages of Angular (or React) I listed above.
- aloisdg 9y agoYou can use TypeScript with Vue without trouble. It is true for employabilty. It will/may come later.
- cjalmeida 9y agoI'm a contractor and Vue work seems to be gaining momentum. Another advantage is that you get to work with newer codebases and people that know what they're doing instead of somewhat legacy projects that picked a framework just because it's popular.
- mythz 9y agoWe ship Vue.js + TypeScript + Webpack templates: http://docs.servicestack.net/templates-single-page-apps http://docs.servicestack.net/templates-single-page-apps Vue.js also has the nice advantage of being able to use HTML, TypeScript and SASS within the same .vue component: https://github.com/ServiceStack/Templates/blob/master/src/SinglePageApps/VueApp/VueApp/src/home/Home.vue https://github.com/ServiceStack/Templates/blob/master/src/Si...
- mythz 9y agoVue.js is simpler and complete with integrated well-documented core components that's much faster than Angular. Vue being stewarded by Benevolent Dictator is why it has an elegant design that's more pleasurable to use. Angular2+ has morphed into another design by committee complex monstrosity requiring much more code, conceptual and cognitive overhead to achieve the same result.
- nope123 9y agoNope. React has 10 people in its core team, highly compensated to work on React. There is at least one genius among those 10. Think of Fiber and how it works. VueJS may copy that model but in this sense, as in the case with JSX, they're a follower. They are not a thought leader. Just a sink/collector for React haters.
- k__ 9y agoI think Vue will maybe kill Ember, but not React.
- scriptkiddy 9y agoMaybe you should share your opinion with Even You at the next conference you go to and see how he takes it. Writing Vue off like this is an insult to it's creator. Evan works really hard on maintaining and improving Vue for what probably amounts to pennies on the dollar when compared with the money Facebook pumps into react. I'm not saying that you're wrong about Vue not being a "thought-leader" or whatever, just that you really should be more appreciative of developers who release awesome libraries under OSS licensing. That said, being a "thought-leader" is not necessary in order to make a difference. Software has been, is, and always will be an iterative process. We build upon the shoulders of giants that came before us. We take the best ideas from our predecessors and combine them to create something new and, hopefully, better. Regardless of your opinion on the philosophical aspects of Vue, you have to give credit to its creator and its community.
- nope123 9y agoPoint well taken.
- ice109 9y ago>There is at least one genius among those 10 who?
- shaneos 9y agoJordan Walke and Sebastian Markbage easily fall into that category, from years working closely together. Christopher Chedeau perhaps too
- k__ 9y agoReact isn't just a web framework like Angular or Vue AND the company creating it uses it for its main product. So React doesn't compare to any of the others.
- gressquel 9y agoSince when is React in the same bracket as AngularJS? Vue is on par with React but still far to go before its as big as Angular
- snappyTertle 9y agoReact will continue to dominate thanks to react native. Neither Angular or Vue.js has a solution for mobile as nice as react native, at least as far as I know.
- michaelkrupp 9y agoYou might want to have a look at Weex, aka "vue native": https://weex.incubator.apache.org/ https://weex.incubator.apache.org/
- yunyu 9y agoAlso nativescript: https://www.nativescript.org/blog/a-new-vue-for-nativescript https://www.nativescript.org/blog/a-new-vue-for-nativescript
- isaaclyman 9y agoThis is a valuable discussion to me right now. At work I've been tasked with looking into a number of front end frameworks (Angular 4, React, Vue, Aurelia and Mithril) to see if we'd like to start writing new pages and components in one of those as opposed to AngularJS which we currently use. AngularJS has a few specific pain points for our web app, a complex and (unfortunately) ambitious SPA. I'm building a prototype of one of our actual landing pages in each framework to get a bird's-eye view of what works and what doesn't. So far I've been really impressed with Vue, but my team has a couple of objections from the outset: 1) Most mid-level developers haven't heard of or used Vue, so the pool of candidates we can hire as our company grows will be smaller if we switch from a common denominator like AngularJS to something relatively unknown like Vue. I personally love to learn new tech, but not everyone does and a "Vue developer" job posting may not get a lot of hits. Then again, if (e.g.) 15% of devs want to use Vue and only 10% of companies use it, that's a clear advantage over 75% of devs wanting to use Angular and 80% of companies using it. I wouldn't be surprised if the numbers worked out like that. 2) Vue is kind of a one-man band, whereas Angular and React are backed by large cap companies. This is the weaker argument IMO, since there's no law stating that Google and Facebook can't run up on hard times and decide to drop support for their open source projects. And after seeing how sloppy Angular's documentation is, I've lost a lot of confidence in the "bigger is better" argument. However, in a rational universe, it may be fair to say that Vue would die more easily than Angular would. My view on the situation is that it's better to use the right tool for the job and have less developers/support than to use the wrong tool for the job and have more developers/support. But I'm more technically-minded than business-minded, so I understand that I might need to be open to business concerns outside of my normal decision-making criteria. I'm keeping detailed notes as I compare frameworks, so I may do a write-up when I'm done if anyone's interested. (Although the "battle of the frameworks" genre has been done to death...)
- abalashov 9y agoRe: the first point -- the counterpoint in my eyes would be that that hiring devs for any particular framework experience might be a losing battle, given the insane life cycles of front-end JS technology. In web development more than anything else, the chances are higher that whatever keyword you hire for will be sidelined in 1-2 years. Even compared to other fast-moving tech niches, the web front-end arena is a batshit insane ADHD chipmunk in this regard. A DBA or a networking guy's current keywords are going to have at least five years of shelf life in some fashion. You can't count on those kinds of lifespans in the web world anyway. Yes, I also think that's ridiculous. And so, "all-around competent JS developer experienced in a variety of frameworks and tools" might be the only viable hiring selector here. Also, the barriers to entry to Vue are much lower. The simplicity is one of the main selling points. I'm not even a web developer by trade, but I picked up most of the essentials in a day or two. Admittedly, I did have a [kind of amateur] AngularJS background, which made that process much simpler, but I gather a React background equally predisposes one to rapid assimilation of Vue.
- mstijak 9y agoI feel that the biggest advantage of Vue over React is that it's incrementally-adoptable. It's small and lightweight and fits nicely everywhere. Preact offers a similar experience.
- davedx 9y agoOk I'll bite. What is the equivalent of redux-form in vue.js?
- cjalmeida 9y agoYou don't need such thing in Vue. It has two way data binding for input components. (The implementation is quite clever. Very similar to React in nature but with less boilerplate.)
- amelius 9y agoDon't forget about others, such as Preact [1] [1] https://github.com/developit/preact https://github.com/developit/preact
- lioeters 9y agoI am a fan of this "small (and focused) is beautiful" approach, like yo-yo [0], hyperHTML [1], and numerous others. The thing that sold me on Preact is its compatibility layer with React, which provides a kind of de facto standard API for components. One day I just replaced React with Preact, with the only difference being a happily reduced app size - and have been using it since. I don't plan to keep up with React's latest developments - I'm satisfied with the rendering performance of Preact, and want to stick to a stable API which lets me focus on actually building things with it. I feel the same about client-side routers, the build process with Webpack, etc. - I'm fatigued of keeping up with breaking changes, and have started transitioning to smaller, individual libraries that just do their modular jobs, with minimum API surfaces that are reliable over long-term. [0] https://github.com/maxogden/yo-yo https://github.com/maxogden/yo-yo [1] https://github.com/WebReflection/hyperHTML https://github.com/WebReflection/hyperHTML
- deleted 9y ago[deleted]
- AngeloAnolin 9y agoTried Angular, ReactJS and VueJS and to me, they have their own strengths, but all are more than capable as frameworks for building large and solid enterprise level apps. IMO, productivity and simplicity has Vue winning my preference. Reading the article, I was surprised at this part: "Wait, did I just write Facebook? Check Facebook’s newsfeed." I did checked facebook's newsfeed and certainly, the Vue Devtools lit up on my Chrome browser, which detected VueJS being used on that page. Given that FB has heavily leaned on React, I wonder why they would be using Vue on one of their premiere pages? Is it because they are also trying to analyze what's being offered by Vue and integrate it with React in the future?
- shaneos 9y agoAs other comments here and on the post itself point out, that page which is a marketing site "about" news feed, not actually News feed, was built by contractors with zero knowledge or involvement by Facebook engineering. The reason given was that they had an engineer familiar with Vue and none with React experience
- burntrelish1273 9y agoStatamic uses Vue.
- dqvsra 9y agoFacebook news feed always crashing after sometimes of scrolling on mobile devices. The whole version of mobile web Facebook looks terrible, old fashion, completely awful ui\ux. This is a result of working framework. Try to compare it with another social networks like VK.com which is extrimely stable on mobile devices (both desktop and mobile version), very fast and user friendly.
- luord 9y agoWhile I don't mind if Vue stays small (as in, just used enough to keep momentum), I'd love it if it became more popular. It's truly a joy to work with. Angular was the first framework I used, and I liked working with it well enough, even if I wasn't a big fan of many of its idiosyncrasies. But then Google announced they were going in an entirely different direction so I decided to try new things. I tried liking react (gods, I tried, many, many times) but I just can't like how the code looks when using it or the structure it ends up forming, or the boilerplate it requires. Vue, however, feels like doing plain JS, which I actually like[1], as each component is rarely more than a few objects and functions. Well, that and html templates, which I'm fine with and would have to use anyway as a backend developer. [1]: JS has always been my second favorite language, after python, and the new versions are just so nice to write.
- SilverSlash 9y agoI've not used Vue or Angular, but I love React. It feels almost object oriented programming like - kind of like programming in Java. Correct me if I'm wrong (I'm new to web dev).
- abalashov 9y agoUpvote if you're still using Vue in 2017! /s
- abalashov 9y agoAll right, it seems HN did not appreciate my joke about the life-cycle of front-end JS frameworks.