| > The Javascript framework requires a 1xx KB download before content can be rendered, making your app less performant, hurting SEO... False. React can be rendered on the server and sent in the initial request using ReactDOM.renderToString. > You hate maintaining an entire application in Javascript... No I don't. I'd rather write an entire application in JS than write an application (backend and frontend) in two different languages, or write a frontend as a series of ad-hock JS scripts. If I hated maintaining an entire app in JS, why would I maintain it using JS? I use JS for everything because I prefer it to the alternatives. > a simple CRUD application for which client side rendering is unnecessary. No one needs to do an SPA. The world got by just fine without it. For me, the reasons to do an SPA with ES2015 modules had to do with simplifying my frontend architecture. JQuery is easier to get wrong compared to the render-everything mindset of React. > Google doesn't use AngularJS for Gmail. Good for them. Angular sucks IMHO. That being said, Gmail came long before Angular, and why migrate when you have a working product? > Facebook doesn't use ReactJS for Facebook. Facebook doesn't use ReactJS for --everything-- on Facebook. The fact that React can be gradually migrated into an existing application is one of React's greatest strengths. Facebook do, however, use React for Instagram. They even use webpack for this. > Twitter doesn't use client side rendering. Define client side rendering. When I scroll down on the page and new items magically appear, I would say that is client side rendered. The time to first see the content, using React, could be done by first rendering React on the backend. But why migrate when you got a working product? > People are building a mountain of abstractions and investing so much time to over-engineer everything in Javascript. WHY?! Is it over-engineering when it solves a problem and does nothing more than it has to? React renders views, that's it. You can render on the frontend, backend or both. React is easier to use than having many different JQuery-based scripts. In short. React does one thing. It does it well, and it simplifies my UI code. How is this over-engineering? I could say the same for gulp (for me, easier than bash scripts), webpack (easier than makefiles), ( node+express (waaaaay easier than Java or C#), Immutable.js (makes things easier to reason about) and the rest of my pure JS-stack. |