Hacker News new | past | comments | ask | show | jobs | submit login

This is cool, although these days, (if requirements permit), my choice would be GraphQL via something like PostGraphile.

https://github.com/graphile/postgraphile




https://github.com/PostgREST/postgrest (Haskell) is an order of magnitude more performant than postgraphile (Node ~ aka wet noodles).


I wouldn't let that sway you too much; the main reason for the performance difference is that PostgREST builds the JSON response in the database and then pipes that through to the user directly (at least that's my understanding). PostGraphile OTOH parses the JSON from the database and feeds it through the rest of your GraphQL schema, allowing data to be mixed in from your custom fields which might fetch from microservices or external services such as Stripe, or just perform additional calculations in application-land, and finally serialises the resulting data to send it to the end user. Despite this significantly greater flexibility and power requiring all this additional work, PostGraphile achieves very solid performance.


came here to suggest the same thing :) I have been using this project and contributing to it recently and it is really great.

It has been months, and I keep discovering possibilities and functionality :)


Wet noodles?


For those interested in creating REST APIs instantly on a mysql database

https://github.com/o1lab/xmysql/


Mind if I ask the reason why you’d pick GraphQL as the default API technology?


I'd pick graphql ((I'm currently Using Hasura) because you can combine api's local and remote into one. You can also only ever worry about one endpoint and there are a lot of tools to create all the graphQL straight from the db : Postgraphile / Hasura are two that come to mind. Prisma is a little different but makes graphql easier.

Rest you have way more code to worry about, way more end points, you always have to figure which endpoint to send stuff too, and you usually have no control over how much data you're going to get back.. if you get back fifty fields, but only needed the email that's a lot of data that could interfere with performance.


Yep, I’m familiar with the benefits of GraphQL (I built AWS AppSync and AWS Amplify). I’m interpreting from your response that the codegen and tooling for GraphQL saves a lot of time to create the usual API cruft and that’s why you prefer it. Is my understanding correct?


I've been using this tool on a project for a couple months. It's been fantastic, I spend all my time on the frontend!


what are your thoughts about AWS AppSync ?


thanks for mentioning this library - looks great, I will have to try it out !


this just saved me a bunch of time thanks!




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: