▲ | no_wizard 7 days ago | |||||||||||||||||||||||||||||||||||||||||||||||||
How was the market objectively wrong on GraphQL? I ask a a REST turned GraphQL advocate to be clear but criticisms I hear tend to be opinions or issues with specific implementations but not ones based on the technical shortcomings of the technology | ||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | davzie 7 days ago | parent | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
I can't comment on all the shortcomings and this may be reflective on my lack of experience with different implementations, but doesn't using GraphQL basically just enable a tonne of unoptimised database queries to occur that, at scale, could cause some serious load issues? | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | bearjaws 6 days ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
GraphQL has too many foot guns for your typical SMB to implement successfully, especially pivoting from REST. It requires you to architect your solution much further ahead than most companies have the capability to. I prefer it over SOAP, but I think it's far too easy to ignore: N+1 issues Security (found that we had our entire schema open including internal data routes at my last job), also we had to refactor from patients being company -> patient to company -> pharmacy -> patient... that was fun Overcomplicating resolvers Not implementing pagination upfront Dead end schema designs, since you need to plan much further ahead it really hurts when you mess it up. In REST you can make a V2 of a route and move on. Especially since many people ignore modules at first. Even large corporations get stuck with UserEntity_V2, updateUser_V2. IMO if you are going "wow if only we had GraphQL" and your team only knows REST you are always better off improving your REST tooling and standards. For example, when adding a new entity/resource you can just plan to understand how your own teams intend to query for this data, rather than guessing with GraphQL or implementing every search pattern. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | 7 days ago | parent | prev [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
[deleted] |