StefanHoutzager

StefanHoutzager

I am interested in developing an api for a Single Page Application along the lines described here:

Anyone already made such an api / has pointers to projects that could help me?
Note: I am just a starting elixir / phoenix developer, worked myself through Dave Thomas’ and almost finished the phoenix tutorial.

Showing Posts 1 to 6

mkunikow

mkunikow

If I want to have some alternative to REST I would check what big giants are using like Neflix Falcor or Facebook GraphQL.
Resources:

StefanHoutzager

StefanHoutzager OP

Thanks. Jean-Jacques Dubray has some things to say about GraphQL in this overall interesting article btw: Why I No Longer Use MVC Frameworks - InfoQ

benwilson512

benwilson512

Author of Craft GraphQL APIs in Elixir with Absinthe

Disclaimer: I’m an author of http://absinthe-graphql.org/

We’ve had great success with GraphQL. To clarify questions about what differences exist between Absinthe and GraphQL-Elixir I’ll quote a recent mailing list post:

As you might expect, this has come up. Besides the “name” issue, there’s also the fact that the subject of GraphQL isn’t a simple topic, and it’s hard for new users to evaluate solutions adequately. I mentioned as much on Twitter during ElixirConf EU: https://twitter.com/wbruce/status/730778840310616064

From a technical perspective – as far as we can see – there are no advantages that graphql-elixir currently has over Absinthe. Absinthe is more complete, faster, checks for more errors (& at compilation time), has broader production usage, more discussion, better spec coverage, superior documentation, etc. Our needs to use it in production have really pushed us to develop features, hammer out bugs, and develop other integrations like Absinthe.Relay as more than just an item on a checklist.

The graphql-elixir team and our own are on amicable terms, and we discuss things regularly – but as the internals, approaches, and scopes of the projects are so different, at the current time, there’s not a plan to merge (from our perspective, there’s nothing from graphql-elixir that would make sense to, besides possibly some spec test cases).

Absinthe is by no means perfect. There is code in the main Absinthe project itself that could be improved, and there is a long list of features on our roadmap we would like to implement (projection, query complexity analysis, deferred queries, etc). We would definitely appreciate help there and in general, but it seems clear that the graphql-elixir team is going to continue to work on their separate implementation – a choice that I think is completely reasonable for them.

The question, really, is what the community chooses – and whether a “merged” version (even if just team merging) is the way forward. We have no plans to retire Absinthe’s source – it’s a critical production dependency for us – and, as I said, it doesn’t appear the graphl-elixir team has plans to close up shop either. In the meantime all that Ben and I can do is continue to improve Absinthe every day while we support our users and improve our own production infrastructure.

Whether the community makes an implicit choice or a specific project makes an explicit endorsement isn’t something we can control, but we’re always open to discussing the comparative benefits of our implementation, and collaborating on any way we can to better support GraphQL for Elixir developers.

If anyone’s interested, you can find Absinthe at http://absinthe-graphql.org, and our Slack chat via http://absinthe-graphql.org/community

Cheers,
Bruce (& Ben)

With respect to GraphQL itself, we’ve found it to be a great experience. From a developer perspective, strong typing on the inputs and outputs of the API removes tons of boilerplate you usually have around checking parameters, parsing stuff like dates / times / geolocation coordinates, and walking nested maps with string keys.

It’s also been great from the perspective of coordinating front end and backend teams. You simply agree on the kind of documents you want to work with. Then you just write some tests with those documents, and when they pass, you’re good to go!

uranther

uranther

Thanks for this link about the SAM architecture. This is a whole 'nother avenue I must explore now. Intuitively it feels right being reactive and functional…

StefanHoutzager

StefanHoutzager OP

A couple of reactions pointed to graphql. Never heard of it, but when I’m correct it is about the GET only. But for that part it looks interesting at first sight. I cannot find much criticism on the subject of graphql, except mr Dubray’s (Why I No Longer Use MVC Frameworks - InfoQ , look for keyword graphql). I would like to get more understanding of what the critique means. More people are struggling with this matter, see f.e. Building an Agile, Maintainable Architecture with GraphQL · GitHub . Can someone explain? Maybe you mr. Dubray?

adamk

adamk

Hi, I recently published a working spa at GitHub - akeating/peap: PEAP - Phoenix Elixir Angular Postgres · GitHub that includes graphql. It’s likely you will need both rest and graphql in any non-trivial application. I delegate the rest api implementation to grapqhl internally, thus using graphql as api for both grapqhl and rest endpoints.

— All posts loaded —

Where Next? Top

Trending in Questions Top

water
I’m aware of 2 such projects, are there others? git: GitHub - team-alembic/realworld: A fullstack Phoenix LiveView application with back...
New
katta
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
peck
Hi everyone. My team and I have been working on a fairly modest app based around video streaming and chat, but we’ve landed a customer t...
New
bradley
I really like the adapter patterns that ecto, nebulex, waffle, etc. use and would love find something similar for a key management servic...
New
unaware8150
Hello folks! So at work, we are seeing some situations where we have to define some “fixed” strings that are used across the codebase in...
New
Alvinkariuki
How Can I Optimise Compile Time Dependencies I have been building an elixir application for about 2 years now. Many modules and files ha...
New
leoschweizer
Hi, we run different LLM models across a cluster, with each node loading a configurable subset. Model-specific queues let nodes consume ...
New

Other Trending Topics Top

budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New
KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
mudasobwa
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
juhalehtonen
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
budgie
I love Elixir. It’s one of 2 programming languages I’ve ever fallen in love with. But I don’t use it anymore. Serverless was the promis...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews