| Not every application faces all the problems you mention: A lot of teams don't have the "designer" problem and are just fine without JSX. Passing data through dozens of children is not a problem in every application, a lot of simple CRUD stuff can do just fine without Flux. Even bundling is not necessary for progressively enhanced websites, and for most SPAs a really simple, naive strategy will do just fine. If the requirements of your project are ambitious, some complexity is not avoidable. But the problem today is that a lot of unneeded complexity is introduced into projects because people want to adhere to "best practice" and don't question what they need and what they don't need. In my opinion, it is a huge mistake to not actively resist complexity creeping into your project. You should only give in if it there is proof that it makes sense economically. This issue is another variant of "premature optimization is the root of all evil" |