Hacker News new | comments | ask | show | jobs | submit login

There are some great things going on in React / Flux, but the part that needs to be emphasized about Flux, that Facebook doesn't address explicitly anywhere, and that most people eager to always be on the cutting edge will never admit, is that this stuff was designed to solve problems for very complex applications. Complexity is relative, and the solutions that reduce complexity and friction in the development process for Facebook may increase it for another organization. That is to say, Flux / React et al is by no means simple. Not even a little bit. But it probably simplified a lot of things for the Facebook team. However, YMMV for your 6 person startup engineering team.

I'm convinced the complexity comes from the language,

Flux/React are actually quite simple and I can put the core architecture together in under 50 loc of Elm.

The complexity comes from stitching everything together. You choose your router, your flux library, your build tools, whether or not to use JSX, whether or not to write your CSS with Javascript, which fancy new React specific testing and mocking library you need to use, how to organize your project, what best practices you should follow, what gotchas you will encounter because of Reacts relative young age as an OOP library, etc.

You will always have to deal with complexity, it just depends on what kind of complexity you are willing to stomach. Some people prefer to deal with the complexity of stitching things together, other people prefer to have things stitched together for them and deal with the complexity of many abstractions. Both are fine choices, and we will debate endlessly with each other over which approach is the best approach. (hint: neither are).

Facebook's Flux is pretty verbose and can be difficult to setup but similar libraries like Redux are very simple if you have prior JavaScript experience.

React is also pretty simple when compared to libraries like Angular.

I agree, React is fairly simple to use on it's own, but the Flux pattern / framework is really where the complexity comes in, IMO. I refer to them together b/c you rarely see one without the other. My general feeling is, Flux seems like an excellent solution for some of the problems Facebook has -- their inbox for example, where you have multiple components on a page that need to react when external events happen (a message is sent, a message is received, etc). My feeling is that many would-be cargo-cult-ers don't have problems at this level of complexity. Most of them are doing basic CRUD operations, and using a needlessly complex framework to do it.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact