| Sometimes frontend developers overengineer their solutions, yes. Sometimes you need a more complicated solution for a complicated set of requirements. Do you need GraphQL? Nope! Do you need GraphQL for an application that needs to fetch a lot of highly relational data with nested objects? No, but it sure would be more optimal to just ask for what you need in one request in the shape you expect, instead of either: a) Multiple REST API calls that you need to combine and coordinate in the frontend b) A specialized REST API call that gives you all the data you need in the shape you want, but it isn't very RESTful c) A REST API call with a bunch of `with[]` params (a la Laravel) that indicate what nested objects you'd like, but not their exact shape So, which is more maintainable then? — The other wild misconception I see time and time again is this: Of the five things you mentioned "React/Redux/Graphql/hooks/bazillion-libs", only the first one is React, and the second-to-last (Hooks) of which it is optional. The rest are dependencies you opt for, hopefully after weighing pros and cons. You don't need to use Redux, GraphQL, react-table, whatever other dependency in your React web application. Please separate out React from React-based codebases from code architecture. They're not one in the same. |