This is the best case for learning react that I have heard. Normally the author makes a nebulous case for how one framework is better than the other. I enjoy how this distinguishes the paradigms in a meaningful way.
He seems to have some points, but I don’t really like how he calls libraries like Angular “fly-by-night”.
Also, I think React probably has some bad points just like any other language. Just showing that other frameworks have bad points doesn’t mean the one you advocate does not.
Lastly, while he shows the difficulties these other frameworks have, he doesn’t actually show how React or Dart solves these problems.
IMO, many devs could use a healthy dose of irreverence, if only to break the status quo.
The author advocates for a simpler approach to programming. Rather than suffering CoolFramework.js' weird query syntax, why not just do what it was trying to do in the first place manually? This may require you write a bit more code, yes. It’s not as sexy. It’s akin to poring over an ORM’s docs for hours trying to write one weird query when you probably could write it in straight SQL and have it be cleaner.
I’m planning to; we;we’re prototyping both React and Dart (which we’d like to use in a similar way to React). I didn’t block because I’m stuck for a solution, I was just dumping my thoughts on the frameworks that are becoming “mainstream”, which I think aren’t pushing web devs in a good direction :(
I hear you, I’ve penned thoughts on this topic as well:
There’s an alarming level of intellectual deference to frameworks. It’s like devs assume that if you throw enough “best practices” at a problem then it eventually results in a best solution. This is harmful because it acts as a cognitive killswitch of writing better code, often by an implicit appeal to groupthink.
The worst part is it’s difficult to call out this laziness without being labeled negative or whiny. This, to me, is the biggest indicator that there’s a problem: the utter lack of introspection.
The worst part is it’s difficult to call out this laziness without being labeled negative or whiny
I can agree with this; see comments on Reddit! ;)
Sorry, the “fly-by-night” comment was meant to be tongue-in-cheek, but I guess that’s not very obvious ;(
I probably should’ve included a React sample; but my post was mainly about what we’re doing wrong; I wasn’t really advocating a solution (it’s easy to point out flaws, harder to solve them!).
Ah ok, understood. Don’t take it too personally, maybe my sense of humor is just out of whack. ;)
I think a React or Dart sample may have been beneficial, even if only for contrast.
I would like you to know that I actually enjoyed reading the article, and I agree with the points you make. I just wanted to point out what I found to be some inconsistencies. Reading my last comment, I think maybe I was too harsh – I did not mean to come off that way. Sorry.
It’s my fault. I write my blog posts as if readers know who I am; it’s rare they’re read by thousands of total strangers who don’t know my personality! Of course, I’m not going to change it; it’s my blog; get your own! ;)
Reading my last comment, I think maybe I was too harsh
I didn’t take it that way at all; I think the comment was entirely fair!
I really wish I’d detailed React better in the post; because so many people are reacting the way I did when I first saw it. I posted this on twitter:
Is this how you would choose to write a TODO app? So much noise and bizzare syntax/funcs/properties :/ #React
It looked horrific to me. However, after one of the Facebook guys told me “Give it 5 minutes”, I had a real quick play with it; and I was very quickly sold. I’m a big fan of functional programming, and this really struck a chord (component rendering feels very much like a pure function, which has many advantages).
I encourage everyone to play with React for 5 minutes; first impressions are very misleading!