Angular vs. React vs. Vue
medium.com
medium.com
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
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" ?
Also the lack of a really solid UI library has caused many headaches. Material isn't very configurable, PrimeNg is okay but somewhat buggy and poorly documented.
Wouldn't it be nice if UI components (and just as importantly, their styling) was decoupled from the JS framework they're implemented with. Some kind of markup language perhaps...
I keep experiencing this. JS developers that should have no problem understanding redux's approach, throwing it away because they are unwilling to simply read redux's docs. It's disheartening.
[0] https://github.com/facebook/react/issues/10191#
[1] https://code.facebook.com/posts/112130496157735/explaining-r...
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.
Things are just now starting to feel maintainable and reproducible. I think it's great.
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.
How do you see the relevance of react and vue for RAD 2.0?
I recently saw a company with a beautiful library and workflow for react; npm i your component, import it, and off you go with a on-brand (by default) visual component. Start binding event handlers...
I do agree with the maintainable remark though. Things seem like they're slowly congealing in the frontend JS world into the new paradigms we've chosen. But I feel like this is only making way for developers to throw their weight at the backend. It wouldn't surprise me if suddenly a GraphQL competitor came out soon, igniting a new flamewar and churn in API design that we'll all have to start dealing with.
But, having used both Vue and React, I wouldn't say that either has a clear advantage over the other. They do the same shit in similar ways. For me, it just came down to coding preferences, and the amazing documentation the Vue has. React can fill the same roles equally well.
https://medium.com/@alvincrespo/ember-your-best-bet-b5cd7275...
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.
More than happy to hear more about it and get your general thoughts on the subject. Feel free to reach out.
Interactive histogram of daily downloads:
https://npmcharts.com/compare/react,angular,@angular/core,em...
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=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."
Aurelia also feels easier to build with (less unnecessary boilerplate) and more maintainable in the end. The community is small but has made immense strides in a short amount of time. There is a company backing it, but a very small one, not a giant one such as Google or Facebook (and those giant ones make no guarantees, but the small one backing Aurelia has emphasized their long-term commitment time and time again). They have an ever-increasing number of community contributors and features have been added at a rapid pace. Since I began a year and a half ago, UI toolkits have regularly added Aurelia integrations. The CLI has improved by leaps and bounds.
You can find out more on their website and other blogs and articles around the web, but you may find this helpful:
https://stackoverflow.com/questions/41853743/angular-2-vs-au...
https://github.com/angular/angular/issues/14041 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.
I need a bumper sticker or T-shirt with this printed on it
tip: I believe they're still working on a good option in the current CLI (https://github.com/vuejs/vue-cli/issues/263) but one of the templates linked in that post (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/issue...).
Angular is close enough too.
Doesn't Google actually prefer Polymer?
What kind of custom elements are in the (insanely unreadable) Youtube main page?
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.
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.
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)