Have you tried using Facebook's create-react-app?

pic of create-react-app folder properties

Fifteen-thousand, six-hundred, eighty three files for over sixty megs of space, and I haven't added a single line of code. Wow, just the readme of how to use what you just installed is 57 kilobytes of light reading.

Shawn Wildermuth talked to a similar issue, here Angular, but with an eye on any large framework, on Yet Another Podcast with Jesse Liberty in August.

8:18:

The actual programming [Angular] day to day, I really enjoyed. The ceremony of setting it all up, I found painful.

11:12:

I'm open to being wrong... [but with CLI for PhoneGap, and now with Angular]... it's hard to understand what all the generated code is doing. And my bread and butter, the thing I care about, is I want to know what's going on. I don't want to just trust that all the scaffolded stuff is just going to work, because ultimately I'm going to have to debug that at some point.

I'm pretty much in the same camp, as you likely know. I think you'd have to talk me out of using a "logic-less" templating system like moustache or handlebars first.

I like the concept of React's virtual DOM, but when diffing DOM and updating selectively is a cheaper operation than your standard update paradigm, that's a pretty hefty code smell. When you have something like shouldComponentUpdate on top of virtual DOMs, you're in trouble. We're inching back to getting 80% of our performance up front, but then the last 20% costs more than owning it all in house at the start. Over 15k files, y'all.

Remember folks: If you're performing cascading calculations on the client, that's an architecture smell. Get that logic where it belongs, and don't use frameworks that encourage you to place it somewhere unwise.


Quick update 20161231: Check out how long it takes to expand and copy over a zipped copy of the unmodified create-react-app folder contents... (Okay, granted, this is my wildly underpowered Lenovo 100S, but still...)

Labels: , , , ,