9 ms·
Angular vs. React vs. Vue
- okket 9y agoEmber is so good, it does not need comparisons any more :) https://medium.com/@alvincrespo/ember-your-best-bet-b5cd7275dc84 https://medium.com/@alvincrespo/ember-your-best-bet-b5cd7275...
- mudbutt 9y agoI would argue that it is by far the worst Framework one could possibly choose.
- usaphp 9y agoCan you explain why?
- virmundi 9y agoThe just is FB added a clause that if you sue them and use their stuff, you immediately lose the license. So they could counter sue for breach of contract.
- davidjnelson 9y agoComposing components is not easy in ember. The component model in general is much less sophisticated than react or angular.
- jackinloadup 9y agoCan you provide any source material to support this?
- deleted 9y ago[deleted]
- alvincrespo 9y agoIf you have time, I'd like to learn more about why you have that opinion. Feel free to leave me a reply on the article.
- pbreit 9y agoCan you provide a reason or 2?
- seattle_spring 9y agoOne of the big reasons I avoid Ember is exactly this attitude. I have worked with people who, in a complete serious manner, think that Ember is so much better than everything else for everything. They won't STFU about it. It reminds me a lot of Rails bootcamp graduates.
- evilduck 9y agoPeople evangelize what works well and Ember works well. Hell, Rails works well. The thing about Ember though is that there' aren't code camps teaching it afaik. Ember has been an "island of stability" in the front end craziness of the last 5 years. They've navigated the trends pretty well and have a complete and competitive offering.
- alvincrespo 9y agoPretty interesting. I would have agreed with you a couple years ago. And I wanted to do a follow up on what I think was the most damaging issue with Ember back in 2012-2013. But you're hitting on a common topic I've heard quite frequently. More than happy to hear more about it and get your general thoughts on the subject. Feel free to reach out.
- cheapsteak 9y agoEmber seems to have half as many downloads as Vue nowadays Interactive histogram of daily downloads: https://npmcharts.com/compare/react,angular,@angular/core,ember-cli,vue https://npmcharts.com/compare/react,angular,@angular/core,em...
- jyunderwood 9y ago> If you work at Google: Angular Doesn't Google actually prefer Polymer? https://www.polymer-project.org/ https://www.polymer-project.org/
- akmittal 9y agoI don't think Google prefer either, YouTube was recently migrated to Polymer, They use Angular(Dart) from Adwords. almost all other projects use vanilla JavaScript(with closure compiler)
- lolive 9y agoAs far as i understand, Polymer (and Web Components, in general) permits to define custom HTML elements. What kind of custom elements are in the (insanely unreadable) Youtube main page?
- Vinnl 9y agoThe Polymer philosophy appears to be more of "make everything a custom element", i.e. up to the entire app (e.g. "<youtube-app/>", "<comments-section video-id=''/>", "<related-videos video-id=''/>", etc.).
- nawitus 9y agoDid YouTube switch to Polymer yet? I think only the new design (https://www.youtube.com/new https://www.youtube.com/new) uses it, and it's not yet switched on by default?
- Macha 9y agoGoogle do staged rollouts, I got the new YouTube design last week
- romanovcode 9y agoGoogle is actually using Angular extensively on their in-house tools.
- thingerr 9y agoThe post is wrong about React changing the BSD+Patent license. It hasn't changed and is still an issue, depending on who you ask. [0] https://github.com/facebook/react/issues/10191# https://github.com/facebook/react/issues/10191# [1] https://code.facebook.com/posts/112130496157735/explaining-react-s-license/ https://code.facebook.com/posts/112130496157735/explaining-r...
- fortythirteen 9y agoThat second article is a total cover-up. By that PATENTS.md file, Facebook could totally ream a company by doing the following: 1. Identify a competitive service or one that FB would like to build into their offerings, that is currently using React. 2. Litigate against that company, with any patent claim, whether justifiable or not. It will take months, if not years, for even the most frivolous suit to get thrown out. 3. Use the litigation period to revoke the company's license to React, effectively shutting down their product.
- tuxracer 9y agoPreact https://preactjs.com/ https://preactjs.com/ is a good purely MIT licensed drop in replacement for React if licensing is an issue
- elliotec 9y agoIt claims to be a drop in replacement, but it isn't.
- garfij 9y agoCan you expand on this at all? I've looked at it as a replacement and I understand there are things like prop-types that are missing, but my understanding is that there are other libraries you can can use in addition to preact that give you 100% compatibility.
- fortythirteen 9y agoIf you're basing company decisions on these types of articles, then you shouldn't be making these types of decisions.
- l1ambda 9y agoAll that matters is Angular and Vue are based on the outmoded logic-in-HTML paradigm.
- wiradikusuma 9y agoI recently used both Angular 2 and React (the latter more recent) in some small projects. While I enjoyed working with React, I think Angular is more suited for me, a one-man startup. A lot of decisions are already made and I just follow them. In React, every time I need something not built-in (which is very often), I have to do some research, and even after deciding one, I have this "what if I'm wrong" guilt at the back of my head. Of course I can "be wrong" too by choosing Angular, but at least I'm wrong for the whole stack :D
- kabes 9y agoI think angular just makes more sense in larger projects. Imo, It has quite a lot of overheard that only pays off when working in larger teams.
- camus2 9y ago> I think angular just makes more sense in larger projects. I remember people saying exactly that with Extjs back in the days, with no proof whatsoever. Can you explain how angular makes more sense in larger projects? > that only pays off when working in larger teams. what makes it better for "large teams" ?
- bryanrasmussen 9y agoIt always felt to me that the purpose of Angular was to give a 'large team using Java' type workflow to development, with the idea being that doing it this way you can just slot in a new angular developer when the previous one goes crazy and runs out the building screaming. But I've only worked on one Angular project, so this is a feeling on my part, not a well worked out theory of how it actually is.
- agumonkey 9y agoNever tried vue ? I dislike angular hyper engineered DOM-OOP hybrid. Vue also fit the human-sized framework in a way.
- akilism 9y agochooooo https://github.com/choojs/choo https://github.com/choojs/choo
- AbraKdabra 9y agoI'm just really glad Vue is now included in every "X vs Y" framework, or "choosing a js framework", almost every article for the past two years have only been for Angular or React.
- ranit 9y agoThis started after recent Facebook decision to change React license.
- atoko 9y agoCan you expand on that?
- ranit 9y agoWhat I meant was: Since facebook new licence was posted https://news.ycombinator.com/item?id=15050841 https://news.ycombinator.com/item?id=15050841 numerous articles appeared on HN front page, like https://news.ycombinator.com/item?id=15052691 https://news.ycombinator.com/item?id=15052691 https://news.ycombinator.com/item?id=15147462 https://news.ycombinator.com/item?id=15147462 also some about other alternatives. Which is a good thing, all together. BTW, for what it is worth, I don't have stake in any of these platforms, just wanted to point a possible reason to the GP's comment "I'm just really glad Vue is now included in every "X vs Y" framework, or "choosing a js framework", almost every article for the past two years have only been for Angular or React."
- stephenhuey 9y agoI think Vue is great but I wish Aurelia would show up in more of these comparisons as well: http://aurelia.io http://aurelia.io
- litzer 9y agoYou have a number of comments that advertise this but never offer any reason alongside it.
- tzs 9y agoIn case the author reads the comments here, you've got a couple of annoying botched links. The link in paragraph two to an alleged previous article of yours on choosing a tech stack gives a 404. The link in paragraph three to an alleged blog post of yours on single vs multi page apps is actually just a link to the present article.
- hateful 9y ago"If you love TypeScript: Angular" I would add an "(or Vue)" to this. When I first started out with Vue a month ago, there were some weird idiosyncrasies with typescript (IMHO). But the latest updates to "vue-class-component" and "vue-property-decorator" have fixed most of them. tip: I believe they're still working on a good option in the current CLI (https://github.com/vuejs/vue-cli/issues/263 https://github.com/vuejs/vue-cli/issues/263) but one of the templates linked in that post (https://github.com/johnlindquist/vue-typescript-simple https://github.com/johnlindquist/vue-typescript-simple) is almost perfect (I had to make the following change that's in one of the reported issues: https://github.com/johnlindquist/vue-typescript-simple/issues/2 https://github.com/johnlindquist/vue-typescript-simple/issue...).
- yuskii 9y agoI would also add React to this as well. Having built 2 react/redux/typescript apps, I can say that the TS ecosystem for react is quite excellent.
- mudbutt 9y agoIt drives me crazy when I hear things like Angular4+ is better for "Large Ambitious Applications with large teams" when in reality Angular4 suffers from the same slow down/performance problems as Angular 1.x. https://github.com/angular/angular/issues/14041 https://github.com/angular/angular/issues/14041 https://www.airpair.com/angularjs/posts/angularjs-performance-large-applications https://www.airpair.com/angularjs/posts/angularjs-performanc... I mean it's like they ignored all of the lessons and knowledge the industry has learned and produced a Framework that has issues built in! But I guess the Framework was designed with consulting in mind.
- arcosdev 9y ago> But I guess the Framework was designed with consulting in mind. I need a bumper sticker or T-shirt with this printed on it
- deleted 9y ago[deleted]
- slmyers 9y agoOne obscure issue that ends with the comment "It's slow but I don't think it's the crippling bug I first thought it was." hardly supports a claim that " Angular4 suffers from the same slow down/performance problems as Angular 1.x."
- davidjnelson 9y agoI prefer react but angular 2 and 4 are quite good. When used with ChangeDetectionStrategy.OnPush and ngrx/store, it's great to work with. String dsl based templates are annoying after jsx though, but angular's very nice mostly batteries included approach offsets this mostly. I also feel it's much harder to get hot reloading working as there is no virtual dom in angular. It can be done, it's just more complicated.
- korm 9y agoReact 16 (Fiber, release candidate) has pretty much the same performance as Vue https://rawgit.com/krausest/js-framework-benchmark/master/webdriver-ts-results/table.html https://rawgit.com/krausest/js-framework-benchmark/master/we... Angular is close enough too.
- wcarron 9y agoI've been using vue since it's conceptions (well, nearly) and it's been a joy. Initially, the templates provided the perfect path to migrate from angular 1.x. That, among other things, was the main reason I chose it over react. Now, years later and having experience with JSX in Vue, state, and building large apps, I finally checkout out React and discovered that they're pretty much the exact same thing: Define a component; add lifecycle hooks; add data and functions; render; done. I think Vue's community is finally catching up and and it's exciting to see. The only thing I find myself wanting is a vue-oriented testing solution. React has Jest and I find myself sorely wanting a testing library/wrapper with good documentation for vue. React certainly has an advantage in that regard. The article put it well: Vue if you still enjoy writing HTML templates (which I don't mind) or React if you prefer the JS orientation.
- ibejoeb 9y agoI feel like it's 20 years ago and we're seeing the golden age of RAD again. Doesn't it feel weird to anyone else that we spent so long on the web reimplementing basic visual components with spaghetti code, as if desktop UI software never existed? I suppose hindsight is 20/20. Things are just now starting to feel maintainable and reproducible. I think it's great.
- pbreit 9y agoExcept maybe the reason the web flourished is because it wasn't stuck in the desktop paradigm?
- ibejoeb 9y agoI don't think that's a fair history of the web, but that's not my point. I am saying that the paradigm for creating a UI is not so different. I have a component with a lifecycle, events, logic, and styling, and it can be instantiated arbitrarily many times and behave predictably. That's pretty new in web tech. As a specific example: "For decades, developers were trying to separate UI templates and inline Javascript logic, but with JSX, these are intermixed again." This is fantastic guidance for brochure sites, but did it ever really suit application development? UI components certainly have intrinsic layout and logic, and our unbundling of that, I think, came from overzealous adherence to the "rules" of a different game.
- alexssung 9y agoI'm disappointed to see RiotJS not getting much attention lately. I've been using it for a B2B SaaS application and it has been intuitive and elegant to use, and easy to pick up for any Javascript developers. I tried learning Angular but found it to be too monolithic, and I'm currently using React Native to develop the mobile apps. If React Native is any indicator of how React web works, I don't think it compares to RiotJS in terms of developer happiness.. i.e. React has a tougher learning curve, the code is less readable and not as concise, a lot of things feel unnecessary, whereas RiotJS is significantly more lightweight, more intuitive, and faster to get things working (from my experience)
- pbreit 9y agoYou should try Vue.
- tanguy_k 9y agoInstead of comparing GitHub stars, better check npm trends: https://npmcharts.com/compare/react,angular,@angular/core,vue https://npmcharts.com/compare/react,angular,@angular/core,vu... AngularJS, Angular 2+, Vue.js... all have a somewhat similar approach. React is more of a newer paradigm, it fixes most of the problems older stacks had in a radically different way, yet elegant. This article fails to explain the different paradigms. Also please stop "Want to use TypeScript? Go with Angular!". React and its ecosystem has the best TypeScript experience thanks to JSX. JSX being just JavaScript, everything is checked by TypeScript like any regular JavaScript piece of code. You cannot do that with HTML templates.