I was hoping for a more cogent critique of React: I think an informed discussion of its weaknesses would be useful. This article failed to deliver: The main criticism, as already mentioned, falls down: there’s nothing to stop you rolling up chunks of DOM into custom Web Components, and then still using React. Other than that, it mostly says React’s design is “bad” and that the event model is nothing new. Hmmm.
Starting out, the Flipboard counter-example didn’t resonate much with me. Not saying it was a great idea for them to “go canvas”, but they solved a problem they were having. That somehow makes them bad because one browser just released something that solved their problem? Great if all your users only use firefox, and all the most recent version.
It was pretty much downhill from there,. Facebook is evil for making react? Oh come on. There are lots of reasons why I think Facebook is bad… I don’t know that them releasing something they wrote as open source is one of them!
React may be a awful, terrible, and bring about the end of the world (free web), but this article did nothing to convince me of that.
I feel like I should cross post my takedown from hacker news, but I want to keep lobsters more positive. Suffice it to say it’s a terribly influential idea, not a terrible idea.
I’m interested by the link to your “takedown” on Hacker News.
I don’t like Angular at all. But I think Polymer has some potential, which I guess agrees with the author because it uses web components. I do think React’s API is pretty cool.
That’s why it is great that React and Web Components can work together. :)
That’s great! Hadn’t seen that. Thanks for the link. The big blocker is still their license :/
Hadn’t seen this, that’s painful.
The examples show just how well structured and thought out polymer concepts are:
This article makes a lot of strong claims against React, without any rationale supporting those claims.
React’s design is bad.
It would be interesting to know why.
They went to a great deal of trouble to build their own rendering engine, using Canvas.
Using the example of Flipboard to illustrate why React is bad seems very far-fetched. Flipboard use case if very specific and not representative of a typical React project.
And, as far as the data flow stuff goes, that’s not even a new thing. People have been doing that for years.
Maybe, maybe not, I don’t know. But the article could at least acknowledge that React has helped to popularize this approach.
This is bad, because the Open Web is important, and ten years ago, we nearly lost it.
Saying that React is a threat to the Open Web (and comparing it to the history of web browsers) is really far-fetched, again.
This includes major rendering improvements.
This sentence contains a link to GPU accelerated compositing in Chrome. This is completely orthogonal to what React tries to achieve.
Just by using new innovations like Web components, instead of work-arounds like React, you’re contributing to the success of the Open Web.
At this point, we still don’t know why React is word-around, why it could not be used alongside Web components, and why it is a threat to the success of the Open Web…
The solutions will come in the form of better Web browsers, and reusable components that reduce coupling instead of increasing it. In other words, they’ll be based on best practices that have survived decades of evolution in the software industry.
I disagree with reusable components having been a great success in the GUI world. In my experience, when developing with native toolkits, it’s difficult to find great reusable components outside of what is already builtin in the toolkit.
The article says nothing about the advantages of the immediate mode rendering enabled by React, versus the retained mode implemented by the DOM.
Here is an article that is a lot more informed in my opinion (and for the record the author works on Firefox at Mozilla, so he can not be suspected of being an “enemy” of the Open Web):
So React is a conspiracy to trick engineers to work for Facebook? ~eye roll~
I was hoping for a real enumeration of React’s weaknesses (my company will be pushing React code to production soon), but this was all hand-waving aside from the tired separation of concerns argument.