Please can anyone shed some light on why Graph QL is a preferred choice in Pheonix & Ash frameworks, however in the React eco system other utilities such as Prisma/Trpc/Drizzle/gRPC etc are more widely adopted?
I wouldn’t say it is the preferred choice in Phoenix (no idea about Ash). Don’t prisma and drizzle compare more to Ecto, being ORMs?
Is it? I see that most people prefer good ol’ REST when working with Phoenix APIs.
For those who do use it with Phoenix, most probably because they have a decoupled frontend with separate team structures who can then support multiple client-side technologies, like mobile, desktop, or web apps, or are themselves part of a microservice architecture communicating with systems in other platforms and languages.
As far as fullstack javascript, the ecosystem has realised they can provide isomorphic type safety and support a more integrated SSR strategy without creating discrete API endpoints.
GraphQL has some pros and some cons against a regular JSON api. Many Ash users use AshGraphql, but we also have AshJsonApi that is very capable.
One of the design goals of Ash is to allow you to decide later what kind of API you want, instead of doing it up front and shaping your app like whatever API you build. Or to even have both kinds of APIs to allow clients to choose.