Hacker News new | ask | show | jobs
by AtNightWeCode 1277 days ago
Apollo should cease to exist. It is a terrible product and basically designed for being a DDOS attack vector. Never design things like this. They are on the opposite track to the entire web industry.
2 comments

Can you expand on this? Is this a generic criticism of GraphQL? Apollo server? Client? And what do you mean by opposite track?

I really like GraphQL but agree that it‘s not trivial to implement well.

I also think it recently became a bit less relevant for web applications (React server components come to mind) but it‘s still very useful for some web apps, mobile apps and generally for designing nice APIs.

I think he takes issue with the theoretically infinite cost of a graphql query.
Maximum complexity control is a thing though.
We use GraphQL a lot for static content. Most content on modern webs should be static, or at least deterministic. What I am saying is that GraphQL should not be used at runtime to do these dynamic magic queries, which is the key feature in Apollo.
> Most content on modern webs should be static, or at least deterministic

What does this even mean?

> What I am saying is that GraphQL should not be used at runtime to do these dynamic magic queries, which is the key feature in Apollo.

What does this even mean?

How are you defining "dynamic magic" and "deterministic content"? GraphQL sends a query to a server that resolves it into the requested data. Is it not true that if you plug this into something like PostgreSQL via Hasura, you naturally have "determinism" in the same way Postgres offers it?

Please, expand, I have no idea what you're saying and I'm a full time web guy

Apollo is literally build on top of REST. It adds types and clarify the dependencies between the types. It enhances an existing protocol by adding features.

It is not a silver bullets but it has advantages like self-documenting (Playground), ease of discovery on big API (generated documentation with types) and can have TypeScript type generated for your (reduce the number of interfaces/types to maintain).

Federation is also a good concept if you have many teams that need to converge into a cohesive API gateway.

Overall, if you use it properly it can be a great tool.