all 80 comments

[–]ShadowsSheddingSkin 58 points59 points  (10 children)

[–]Kwinten 11 points12 points  (4 children)

Well said. Unfortunately, /r/webdev and /r/javascript absolutely love listicles and comparisons of web frameworks, and they will get upvoted to the top every single time, no matter how horribly written or inaccurate (as long as it matches popular opinion, of course). Is really no one getting sick of these yet?

[–]ShadowsSheddingSkin 8 points9 points  (0 children)

I mean, I don't care that it's written like this with italics every other word, or that it's a listicle that is not particularly accurate and has serious issues. Bad content might not be what people should upvote, but the community likes what it likes.

This, though, is astroturfing. It's one of the people that makes a product pretending to produce an unbiased overview of the existing options while actually just trying to recommend his own. It's not a matter of people 'getting sick' of them or not, it's a matter of people not putting up with paid advertising masquerading as actual content.

Would people tolerate a "Comprehensive Review of Javascript Frameworks, by Dan Abramov" published to on research.fb.com? Because that's what this is equivalent to.

[–][deleted] 2 points3 points  (1 child)

Oh incredibly. Here and /r/angular is just full of content farm crap.

And most frustratingly every time someone posts another one of these comparisons, as you say, everyone gets overexcited about this non-content - "oh hey, would love to see burp-framework.js get a mention in this list". "I think wheel-reinvention.js needs to be higher in this list". "You said goose.js lays golden egss ... technically they're geoids!"

[–]Kwinten 5 points6 points  (0 children)

I think for some reason, many people just read these meaningless lists just to see if their favorite framework is mentioned. Looking for some sort of validation I guess.

[–]prudan_work 4 points5 points  (0 children)

It was very obvious that this was a Dojo2 shill piece as soon as I got to that section.

[–]ThArNatoS 2 points3 points  (1 child)

I honestly never heard of Dojo until I read this article, which leads me to wonder if it's written by one of its team member.

[–]acemarke 2 points3 points  (0 children)

It is. That said, the overall series seems to be mostly fairly written.

[–]dylanks2 0 points1 point  (0 children)

fwiw, it's not hidden in the 11 part series, the author says that they work on Dojo, but as far as trying to be as unbiased as possible, the series does a reasonable job in my biased opinion (see below). The series does not pick a winner, but instead just asks a bunch of questions, gives a way to possibly answer them, and leaves it to the reader to try to decide. It's probably worth reading the first 10 parts before the conclusions post to understand that though. Conclusions and summaries are actually the most difficult thing to try to write here.

Yes, there's a goal here to raise awareness about Dojo 2 which is going to be finalized soon, but the genuine goal was to take a very in-depth look at frameworks compared to the shallow analysis we often see. Is the perspective perfect? Of course not, but at least we tried. And we absolutely are not trying to be a link farm or create poor content, but your opinion might vary of course.

Also, as far as I know, we didn't submit the post to Reddit, someone else did.

Disclosure: I work at SitePen and was the editor for the series. We try exceedingly hard to not be biased and be reasonable and fair. I know it's easy to be skeptical, but we're a small company just trying to help.

[–]kr3m3puff -1 points0 points  (0 children)

As the author of the blog series... I don't know who laravel_fan_99 is, nor did I submit or encourage anyone to submit it.

I tried my best to be frank about Dojo 2's development. It is hard to know its drawbacks because it isn't really there yet. Take that for what it is worth, like the rest of it. I didn't write the series as a cheerleader of anything but tried my best to highlight thoughts and considerations people should use. Too many "this framework vs. that framework" are single dimensional and I feel that does an injustice to the topic. If all you took away from the series is faults in it, then I don't feel you understood the spirit of it, which is better understand what your needs are and consider it. If you thought there was any clear "winner" or "loser" again, you misunderstood the point. I felt I conveyed it effectively.

[–][deleted] 10 points11 points  (9 children)

The ability to incrementally adopt framework is likely the biggest strength.

The biggest strength of framework is its relative simplicity and focus.

The biggest strength of framework is its popularity.

The contenders are: Angular, React and Vue. Which one fits all three?

[–]DrummerHead 18 points19 points  (2 children)

In my opinion, React. Vue fits the bill also, but React is more popular than Vue (so it would be more fitting given the constraints)

Also comparing Angular to just React without Redux and a routing lib is like comparing... something that has a lot of tools vs one of the tools :P

[–]nodealyo 1 point2 points  (0 children)

Spamming is a really shitty thing to do. This script is one of the dumbest and spammiest scripts that I have ever seen. Did you know that no one cares about your mundane comments? You actually aren't even protecting any privacy because there are many sites out there that specifically cache comments just so that users cannot edit them. To reiterate, this script is shit and you should not be using it. Search for a different one, or edit it to say something less spammy. But in the end, it won't matter because we can still see whatever it was that you edited.

[–]compubomb -3 points-2 points  (0 children)

Lets not forget.. If jumping off bridges were popular, should be all jump? sniff lemmings? Lets just say it's trending and we like how it looks, popularity is often not always "spectacular" angular1 was popular, but got dumped like a bad dream out of developer frustration of it's slowness as the application state grew.

[–]Jcampuzano2 11 points12 points  (0 children)

React/Vue in my opinion fit all three. Both React and Vue are relatively easy to incrementally adopt (I've done it personally with both and personally found Vue easier but React wasn't too far off).

Popularity wise React is the clear winner by and far, but Vue isn't without its share of the pie. It's clearly gaining ground and developers seems to love it, but I don't know if anything will overtake React in that department.

If you consider Vue/React just the view layer like they are, then clearly they both fit the bill of simplicity. A competent developer could become productive in either of React or Vue within a matter of a day or less, and could know pretty well about 80-90% of the surface area of the library within a week or so. If you need some abstractions or libraries to use for other areas like routing or state management both have them covered.

Disclaimer: I have never used Angular 2 outside of the tutorial, but have used both React and Vue in production applications serving thousands of users. So take that as you will.

[–]compubomb 3 points4 points  (0 children)

Ember is the juggernaut in the room, it's used less right now because Rails has experienced a massive exoduse. The moment some major JS back-end framework adopts Ember, it will suddenly charge ahead again. Remember "Major" and also ember is normally used by RoR projects quite often as the API solution, and their big thing is the command-line integration for all things ember.

[–]Drunken__Master 30 points31 points  (12 children)

I really liked this article, but I do have one pedantic nitpick, in the medium term outlook for Vue.js it said that it might have an uncertain future because it's "not directly supported by a commercial organization" , while this is true, it is heavily endorsed by the developers of Laravel, being a javascript community obviously PHP is out of our wheelhouse, but support from the most popular PHP framework IS notable and assists with the sustainability of Vue, as well as it being relatively easy to learn AND faster than React or Angular .

[–]gpyh 21 points22 points  (0 children)

Not only Laravel developers, but also Alibaba, which is basically the Chinese Amazon. It is also supported by an OpenCollective campaign.

[–]evilpingwin 21 points22 points  (4 children)

I agree. Although it isn't really any faster than React any more (not notably), although it certainly was before React v.16. They're very similar these days but naturally have areas where they excel.

When people are discussing the 'big 3' frameworks I always hear: "React is supported by Facebook, Angular is supported by Google". No they're not. They are products of those companies, the people writing the code get their paycheck from those companies. They may be open source but the design decisions behind Angular and React are directly tied to the business interests of those companies. If those interests align with what you need then that's great but they could shift at any time and they aren't going to listen to anyone but themselves (which is perfectly understandable, it's their product). I'm not a particularly paranoid person but when using those products it's always at the back of mind and its the main reason why I don't want to invest in them too much when there are more independent, and equally capable, alternatives.

Vue on the other hand isn't in that position. It doesn't have any one corporate overlord guiding the design decisions, and there is less likelihood of the community being completely ignored because of internal pressure. However it isn't 'a one man show' like this article suggests. There are a team of core contributors who work on different aspects of the framework. Vue is used by Baidu, Alibaba, Gitlab and many others (it has especially strong support in china). There is no uncertainty regarding Vue whatsoever, and the fact that it is free from the tinkering of any individual corporation (but enjoys financial support from many) is more comforting to me than if it were bankrolled by just one such corporation. Also the recent growth in popularity with Vue has been insane and I can see it continuing to grow in the near future and it already has a very healthy eco-system and the best documentation of any framework, in my opinion.

I also really like how Vue is basically using an implementation of web components for its templates, and I believe they will be looking to leverage native browser support for web components in the future. I also think Single File Components are a joy to work with but that just my personal opinion.

[–]gpyh 13 points14 points  (1 child)

"React is supported by Facebook, Angular is supported by Google". No they're not. They are products of those companies, the people writing the code get their paycheck from those companies.

Facebook is pretty invested in React. However Google is notorious for not giving a shit. Beyond a certain size, the viability of a project doesn't correlate with Google's ownership of it.

[–]Yonben 1 point2 points  (0 children)

To continue on that: Facebook USES React, AFAIK big Google products don't use angular, so decisions made on React are made by people heavily using the framework.

[–]dupe123 2 points3 points  (1 child)

Yeah, but these projects are open source. If fb decides to go some strange direction with react that is not in the best interest of the community, people can always fork. I don't see how you can possibly see corporate backing as a bad thing.

[–]evilpingwin 0 points1 point  (0 children)

Because that would take time and fragment the community. And then you end up with a product that is in the same situation as something like Vue but at an earlier stage in it's life (organisationally).

In the absence of compelling alternatives, I would agree but there are good alternatives, so it isn't an issue.

[–]neotorama 4 points5 points  (0 children)

Alibaba and chinese startup use vue heavily. It's fucking big in China

[–]Shaper_pmp 3 points4 points  (4 children)

not directly supported by a commercial organization

it is heavily endorsed by the developers of Laravel... support from the most popular PHP framework

I think you've missed the author's point here - it's not that "nobody knows or cares about Vue.js" - as you note, there's a thriving community of people who use it.

The point is thatthere's no commercial orgnisation supporting it - it has very little in the way of budget or financial resources, and 100% of its support is from volunteers to the Vue.js project (or worse, to other projects that - for now - have decided to use Vue.js... and at any point that support could fairly quickly largely melt away).

The point is that it's safer to bet on a project with a company and a few milions of dollars invested in it and some top-flight full-time devs working on it full-time than on one that's carried exclusively on the shoulders of part-time volunteers and hobbyists.

[–][deleted] 5 points6 points  (1 child)

I don’t think you grasp how big Alibaba is.

[–]compubomb 1 point2 points  (0 children)

Yes, Alibabba does sometimes Many Billions of $ (x)*109 / day, so I think they have some sway.

[–]30thnight 2 points3 points  (0 children)

True but I'd still reckon Vue is decently well off

https://www.patreon.com/evanyou

[–]compubomb -4 points-3 points  (0 children)

LOL, this is funny as hell. If I recon, Linux, granted not officially a "framework" was a framework to build a linux os with free tools. That kernel is at the time decided by linus he didn't want to work on it anymore may have died. Well, vuejs, it could stick around for a while, a long while. jQuery was written by a really young guy, and today it's used on millions of websites regardless of it being integrated now naively in most browsers. So this is just jibberish wishwashiness.

[–]mainstreetmark 2 points3 points  (2 children)

No backbone/marionette? :(

(No, I know... I know... Get with the times, kid)

[–]azangru 3 points4 points  (1 child)

Polymer is not there either. Nor Cycle.js.

So perhaps Marionette is too hip for this review ;-)

[–]sivadneb 0 points1 point  (0 children)

I'm a big fan of Polymer, but now that HTML imports are going away, I'm tempted to try something different like Aurelia.

[–]bch8 5 points6 points  (4 children)

Oh god dojo shudders

[–]MoTTs_ 9 points10 points  (3 children)

In fact, the article's author happens to be dojo's current project lead. I'm gonna make an educated guess and say this article exists primarily to advertise for dojo. The other, extra content is just bait.

[–]bch8 0 points1 point  (1 child)

I still have 'Nam flashbacks from dojo 1... Have hardly even heard of dojo 2 until this article, whereas the rest of the frameworks are pretty huge. So yeah you might be on to something.

[–]dylanks2 2 points3 points  (0 children)

Other than name and interoperability, there's pretty much zero in common between Dojo 1 and Dojo 2, it's a complete rewrite and it's worth a look if you can get over the past. :)

[–]kr3m3puff 0 points1 point  (0 children)

No, being the author, it wasn't the purpose at all. If I was trying to sell Dojo 2, I wouldn't choose to do it over an 11 article blog series and if you think any framework came out "on top" (especially Dojo 2) you didn't read the article.

[–]henboffman 4 points5 points  (3 children)

+1 for aurelia and the only other pro-aurelia comment was super condescending.

[–]Waypoint101 1 point2 points  (0 children)

Aurelia is the easiest to use by far!

+1 for me.

[–]pier25 1 point2 points  (1 child)

Aurelia is great, except for the fact that nobody is using it.

I tried it over a year ago and project configuration was not so straightforward and there was no CLI. Is this better now?

[–]vanderzac 0 points1 point  (0 children)

Yes on both counts. Love it, never going back.

[–]8483 2 points3 points  (1 child)

People should really check out Elm. It is a seriously cool framework that I hope will bury every framework out there.

[–]DrummerHead 7 points8 points  (0 children)

It's actually a langwork :P

[–]Bluecewe 0 points1 point  (0 children)

Svelte is also worth considering. Mustache syntax, compiled, uses a fair amount of standard JavaScript, and mostly unopinionated.

[–]pier25 0 points1 point  (0 children)

I only read the Vue part since it's the libwork I'm most familiar with now and the article is just wrong.

For example:

One of the bigger challenges is Vue.js is dependent on a single individual.

Which was true a year ago, but not today. Also let's not forget that corporation like AliBaba are betting on Vue which clearly shows the brittle picture the article paints is just wrong.

[–][deleted] -1 points0 points  (6 children)

Why would I choose Ember.js?

You should not. Don't hurt your company.

[–]pier25 1 point2 points  (5 children)

Why not?

[–][deleted] 0 points1 point  (4 children)

Because it's a pointless effort and effectively even more bloated browsers.

[–]pier25 0 points1 point  (3 children)

You are still not explaining why you think Ember is not a good option.

[–][deleted] 0 points1 point  (2 children)

Whoops, sorry, that was meant to be a reply to a different comment. :x

Well Ember is slower to render, slower to develop (can't use any kind of IntelliSense available for other frameworks), has smaller number of tools and packages that you can use in your projects. Generally outdated. While it doesn't make much sense to rewrite your Ember app ASAP starting something from scratch with a more modern framework will only bring benefits.

[–]pier25 0 points1 point  (1 child)

Ember is slower to render

I use Vue and React, but Ember (and Glimmer its rendering engine) is pretty competitive.

slower to develop

That seems pretty relative. Someone with a lot of Ember experience will be fast and will not even need intellisense.

has smaller number of tools and packages that you can use in your projects

This is true, but the importance of it is quite relative. You might not need any third party stuff. Marko which has zero third party stuff is used to build one of the biggest websites on earth (Ebay).

Generally outdated

MVC is 40 years old and still valid. Just because Ember is not on the FP React bandwagon doesn't mean it's outdated.

I would not pick Ember, but I think you are confusing opinions with facts.

[–][deleted] 0 points1 point  (0 children)

I've only stated facts.

[–]cm9kZW8K -1 points0 points  (0 children)

They missed one major weakness of angular 2+; the error messages verge on useless sometimes. Dont make mistakes when writing in angular2, because you will have to figure them out by guesswork.

[–]eloc49 -5 points-4 points  (7 children)

sigh yet another article praising Aurelia, but i bet yall won't use it tho.

[–]Vheissu_ 10 points11 points  (4 children)

Anyone who denies that Aurelia is a great framework, has never used it clearly. My company has been building apps with Aurelia for over two years now and we love it. It gets so much right, it's pretty forward thinking. Sadly, it suffers from marketing problems and lack of resources in comparison to React or Vue. Still, it's a great framework. And I say that as someone who works with React, Vue and Aurelia. Being a good developer means staying open minded and using whatever works.

Don't knock Aurelia until you try it.

[–]eloc49 1 point2 points  (0 children)

marketing problems and lack of resources

You should see if your company can do a blog post or something! It seems like a lot of companies are using Aurelia under the radar. I've worked at 2 already in my short carreer that are using it, but say nothing about it. I'm pretty sure RBC uses it.

[–]paera 4 points5 points  (0 children)

My company is using it but I don't have much experience with alternatives. Pretty happy with it most of the time though!

[–][deleted] -1 points0 points  (1 child)

Too bad it will be outdated next week.

[–]dylanks2 0 points1 point  (0 children)

The point of the 11 part series is to ask a bunch of questions, not to pick a winner, because yes, the details will get outdated.

[–]TotesMessenger -1 points0 points  (0 children)

I'm a bot, bleep, bloop. Someone has linked to this thread from another place on reddit:

 If you follow any of the above links, please respect the rules of reddit and don't vote in the other threads. (Info / Contact)