Reputation: 4627
We have decided that AppSync
would be an excellent tool for our React Native app development. However, the problem is the scalability in development. Looking through Google entire day to find a way to do AppSync
development offline so that anyone can freely create APIs and merge them, I realized that there is no such solution.
So how do large teams develop native apps using AppSync
? Do you create AppSync
app for every developer you have so that each person can change their own API freely then some how merge that back into production AppSync
app?
I really wish there were a way to develop APIs locally and use git to merge them and upload the code directly to AppSync
. As far as I know this is not possible but if you do know of a way or a different way, please let me know.
Upvotes: 17
Views: 6094
Reputation: 3595
You can source control the entire AWS AppSync configuration including the endpoint, schema, resolvers, data sources, and any other AWS resources with AWS CloudFormation. Adrian's article walks thru the entire process. The ChatQL sample on GitHub contains a CloudFormation document and GraphQL schema that you can also use as a reference.
Once you've modeled AppSync and resources with CloudFormation, you can easily replicate your environment as many times as you want. Hence, you can either set up separate endpoints per developer or use a shared endpoint. I prefer the former since it provides isolation between developers.
Upvotes: 5
Reputation: 843
You can also use the serverless framework to manage your AppSync endpoints with this plugin: https://github.com/sid88in/serverless-appsync-plugin
It also states, that it supports an offline mode for local development. Although, I didn't test it yet. But this can come in handy, when you want to pre-test your AppSync in a CI/CD environment.
Upvotes: 2