Vláďa Macek
10/09/2021, 11:19 AMDavin Chia (Airbyte)
How far can one get with this approach in practice?I would say this is the way to go, otherwise your UI will have to jump through many hoops to use the api. If you look at our API, we have low-level apis as well as higher-level apis grouped under
webBackend
. Our UI mainly utilises the webBackend
routes, which are composed of the low level routes so anyone can build upon Airbyte.
Would you consider something else than OpenAPI?
Why do you think for example GraphQL is not a fit for Airbyte? Is it because GraphQL is data-oriented and Airbyte needed something more RPC?In my experience, GraphQL is great for data intensive applications and to minimise chatty-ness. I’ve also seen GraphQL used as in front of backend OpenAPIs to power just the frontend. I wouldn’t say we need something RPC per se - our API could be more restful and use HTTP verbs. I’d say that we opted for the simplest solution at that time and that was post style endpoints with JSON payloads.
Davin Chia (Airbyte)
What reading would you recommend about APIs? I found https://cloud.google.com/blog/products/api-management - but there are too many articles to grasp its usefulness right away.Depends on what you are looking for. If you are looking api design, the way I cut my teeth was following along one of the many tutorials out there (e.g. https://restfulapi.net/rest-api-design-tutorial-with-example) and designing my own APIs while looking at Stripe, Yelp and Facebook apis for live examples.
Davin Chia (Airbyte)
Would you start the UI by bootstrapping from https://github.com/facebook/create-react-app like Airbyte did? What alternatives would you consider?@Artem Astapenko is better suited to answer this
Vláďa Macek
10/11/2021, 9:01 AMDavin Chia (Airbyte)
Artem Astapenko
10/11/2021, 9:10 AMArtem Astapenko
10/11/2021, 9:12 AMVláďa Macek
10/11/2021, 12:26 PM