I am now building a React Native app, and I don't know what to choose for my backend between AWS Amplify and Firebase. Which one fits more with react native? ","private":false,"viewCount":47666,"publishedAt":"2022-01-12T02:37:02Z","upvotesCount":3,"decisionType":"getAdvice","fromTools":[],"toTools":[],"subjectTools":[{"type":"id","generated":false,"id":"Tool:101231777382143497","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773461393493","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774544144572","typename":"Tool"}],"services":[{"type":"id","generated":false,"id":"Tool:101231773461393493","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231777382143497","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774544144572","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"Tool:101231774544144572":{"id":"101231774544144572","name":"React Native","slug":"react-native","title":"A framework for building native apps with React","verified":false,"imageUrl":"https://img.stackshare.io/service/2699/KoK6gHzp.jpg","canonicalUrl":"/react-native","path":"/react-native","votes":1156,"fans":34401,"stacks":33585,"followingTool":false,"followContext":null,"__typename":"Tool","thumbUrl":"https://img.stackshare.io/service/2699/thumb_KoK6gHzp.jpg","thumbRetinaUrl":"https://img.stackshare.io/service/2699/thumb_retina_KoK6gHzp.jpg"},"$Tool:101231777382143497.stackDecisions({\"first\":6}).edges.0":{"node":{"type":"id","generated":false,"id":"StackDecision:107607164375113351","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"User:103501959723260647":{"id":"103501959723260647","username":"simonmahns","title":"","companyName":"","imageUrl":"https://img.stackshare.io/user/351017/default_252aa19c132d961d57d4c3fdeaedb183a5507fd0.png","thumbUrl":"https://img.stackshare.io/user/351017/thumb_252aa19c132d961d57d4c3fdeaedb183a5507fd0.png","displayName":"simonmahns","__typename":"User"},"StackDecision:105300048050488053":{"user":{"type":"id","generated":false,"id":"User:103501959723260647","typename":"User"},"company":null,"link":null,"publicId":"105300048050488053","id":"105300048050488053","htmlContent":"
I am currently working on a long term mobile app project. Current stack: Frontend: Dart/Flutter Backend: Go, AWS Resources (AWS Lambda, Amazon DynamoDB, etc.)\nSince there are only two developers and we have limited time and resources, we are looking for a BAAS like Firebase or AWS Amplify to handle auth and push notifications for now. We are prioritizing developing speed so we can iterate quickly. The only problem is that AWS amplify support for flutter is in developer preview and has limited capabilities (We have tested it out in our app). Firebase is the more mature option. It has great support for flutter and has more than we need for auth, notifications, etc.\nMy question is that, if we choose firebase, we would be stuck with using two different cloud providers. Is this bad, or is this even a problem? I am willing to change anything on the backend architecture wise, so any suggestions would be greatly appreciated as I am somewhat unfamiliar with Google Cloud Platform.\nThank you.","private":false,"viewCount":270607,"publishedAt":"2020-11-30T15:47:01Z","upvotesCount":6,"decisionType":"getAdvice","fromTools":[],"toTools":[],"subjectTools":[{"type":"id","generated":false,"id":"Tool:101231777382143497","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773461393493","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231777036008618","typename":"Tool"}],"services":[{"type":"id","generated":false,"id":"Tool:101231775445191553","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231777382143497","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773461393493","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773615579247","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774215979427","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773842107538","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231777036008618","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774111549176","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"Tool:101231777036008618":{"id":"101231777036008618","name":"Flutter","slug":"flutter","title":"Cross-platform mobile framework from Google","verified":false,"imageUrl":"https://img.stackshare.io/service/7180/flutter-mark-square-100.png","canonicalUrl":"/flutter","path":"/flutter","votes":1175,"fans":18207,"stacks":16884,"followingTool":false,"followContext":null,"__typename":"Tool","thumbUrl":"https://img.stackshare.io/service/7180/thumb_flutter-mark-square-100.png"},"Tool:101231775445191553":{"name":"Google Cloud Platform","path":"/google-cloud-platform","id":"101231775445191553","imageUrl":"https://img.stackshare.io/service/4240/1a61e4pu_400x400.jpg","thumbUrl":"https://img.stackshare.io/service/4240/thumb_1a61e4pu_400x400.jpg","stacks":25505,"fans":16962,"votes":18,"followingTool":false,"__typename":"Tool"},"Tool:101231773615579247":{"name":"Amazon DynamoDB","path":"/amazon-dynamodb","id":"101231773615579247","imageUrl":"https://img.stackshare.io/service/389/amazon-dynamodb.png","thumbUrl":"https://img.stackshare.io/service/389/thumb_amazon-dynamodb.png","stacks":3709,"fans":4020,"votes":195,"followingTool":false,"__typename":"Tool"},"Tool:101231774215979427":{"name":"AWS Lambda","path":"/aws-lambda","id":"101231774215979427","imageUrl":"https://img.stackshare.io/service/1909/aws-lambda.png","thumbUrl":"https://img.stackshare.io/service/1909/thumb_aws-lambda.png","stacks":24028,"fans":22859,"votes":432,"followingTool":false,"__typename":"Tool"},"Tool:101231773842107538":{"name":"Golang","path":"/golang","id":"101231773842107538","imageUrl":"https://img.stackshare.io/service/1005/O6AczwfV_400x400.png","thumbUrl":"https://img.stackshare.io/service/1005/thumb_O6AczwfV_400x400.png","stacks":22472,"fans":17042,"votes":3299,"followingTool":false,"__typename":"Tool"},"Tool:101231774111549176":{"name":"Dart","path":"/dart","id":"101231774111549176","imageUrl":"https://img.stackshare.io/service/1646/Twitter-02.png","thumbUrl":"https://img.stackshare.io/service/1646/thumb_Twitter-02.png","stacks":3914,"fans":4474,"votes":452,"followingTool":false,"__typename":"Tool"},"$Tool:101231777382143497.stackDecisions({\"first\":6}).edges.1":{"node":{"type":"id","generated":false,"id":"StackDecision:105300048050488053","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"User:104528881041035347":{"id":"104528881041035347","username":"luisdelahoz","title":"Backend Developer","companyName":"Smash","imageUrl":"https://img.stackshare.io/user/667860/default_f0159560189a664ae2c349bb050f0973fcba25dd.jpg","thumbUrl":"https://img.stackshare.io/user/667860/thumb_f0159560189a664ae2c349bb050f0973fcba25dd.jpg","displayName":"Luis De la Hoz","__typename":"User"},"StackDecision:104785374785187938":{"user":{"type":"id","generated":false,"id":"User:104528881041035347","typename":"User"},"company":null,"link":null,"publicId":"104785374785187938","id":"104785374785187938","htmlContent":"
Hi all. I'm working on a mobile app that uses AWS Amplify to connect to Amazon Cognito and API Gateway, and I would like to extract the configuration info (user pool id, client id, region), so I can get it from a URL. How can I do this in the safest way?","private":false,"viewCount":33149,"publishedAt":"2020-08-31T18:18:50Z","upvotesCount":2,"decisionType":"getAdvice","fromTools":[],"toTools":[],"subjectTools":[{"type":"id","generated":false,"id":"Tool:101231774879946179","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773881468995","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231777382143497","typename":"Tool"}],"services":[{"type":"id","generated":false,"id":"Tool:101231777382143497","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773881468995","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"Tool:101231774879946179":{"id":"101231774879946179","name":"Amazon API Gateway","slug":"amazon-api-gateway","title":"Create, publish, maintain, monitor, and secure APIs at any scale","verified":true,"imageUrl":"https://img.stackshare.io/service/3299/aws-api-gateway.png","canonicalUrl":"/amazon-api-gateway","path":"/amazon-api-gateway","votes":45,"fans":1479,"stacks":1399,"followingTool":false,"followContext":null,"__typename":"Tool","thumbUrl":"https://img.stackshare.io/service/3299/thumb_aws-api-gateway.png","thumbRetinaUrl":"https://img.stackshare.io/service/3299/thumb_retina_aws-api-gateway.png"},"Tool:101231773881468995":{"id":"101231773881468995","name":"Amazon Cognito","slug":"amazon-cognito","title":"Securely manage and synchronize app data for your users across their mobile devices","verified":false,"imageUrl":"https://img.stackshare.io/service/1093/16ffae8c667bdbc6a4969f6f02090652.png","canonicalUrl":"/amazon-cognito","path":"/amazon-cognito","votes":34,"fans":1105,"stacks":610,"followingTool":false,"followContext":null,"__typename":"Tool","thumbUrl":"https://img.stackshare.io/service/1093/thumb_16ffae8c667bdbc6a4969f6f02090652.png","thumbRetinaUrl":"https://img.stackshare.io/service/1093/thumb_retina_16ffae8c667bdbc6a4969f6f02090652.png"},"$Tool:101231777382143497.stackDecisions({\"first\":6}).edges.2":{"node":{"type":"id","generated":false,"id":"StackDecision:104785374785187938","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"$Tool:101231777382143497.allToolIntegrations({\"first\":9})":{"count":9,"pageInfo":{"type":"id","generated":true,"id":"$Tool:101231777382143497.allToolIntegrations({\"first\":9}).pageInfo","typename":"PageInfo"},"edges":[{"type":"id","generated":true,"id":"$Tool:101231777382143497.allToolIntegrations({\"first\":9}).edges.0","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231777382143497.allToolIntegrations({\"first\":9}).edges.1","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231777382143497.allToolIntegrations({\"first\":9}).edges.2","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231777382143497.allToolIntegrations({\"first\":9}).edges.3","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231777382143497.allToolIntegrations({\"first\":9}).edges.4","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231777382143497.allToolIntegrations({\"first\":9}).edges.5","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231777382143497.allToolIntegrations({\"first\":9}).edges.6","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231777382143497.allToolIntegrations({\"first\":9}).edges.7","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231777382143497.allToolIntegrations({\"first\":9}).edges.8","typename":"ToolEdge"}],"__typename":"ToolConnection"},"$Tool:101231777382143497.allToolIntegrations({\"first\":9}).pageInfo":{"hasNextPage":false,"endCursor":"OQ","__typename":"PageInfo"},"Tool:101231773939333405":{"imageUrl":"https://img.stackshare.io/service/1209/javascript.jpeg","thumbUrl":"https://img.stackshare.io/service/1209/thumb_javascript.jpeg","thumbRetinaUrl":"https://img.stackshare.io/service/1209/thumb_retina_javascript.jpeg","name":"JavaScript","id":"101231773939333405","slug":"javascript","path":"/javascript","__typename":"Tool"},"$Tool:101231777382143497.allToolIntegrations({\"first\":9}).edges.0":{"node":{"type":"id","generated":false,"id":"Tool:101231773939333405","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231773849098825":{"imageUrl":"https://img.stackshare.io/service/1020/OYIaJ1KK.png","thumbUrl":"https://img.stackshare.io/service/1020/thumb_OYIaJ1KK.png","thumbRetinaUrl":"https://img.stackshare.io/service/1020/thumb_retina_OYIaJ1KK.png","name":"React","id":"101231773849098825","slug":"react","path":"/react","__typename":"Tool"},"$Tool:101231777382143497.allToolIntegrations({\"first\":9}).edges.1":{"node":{"type":"id","generated":false,"id":"Tool:101231773849098825","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231773409399220":{"imageUrl":"https://img.stackshare.io/service/25/amazon-s3.png","thumbUrl":"https://img.stackshare.io/service/25/thumb_amazon-s3.png","thumbRetinaUrl":"https://img.stackshare.io/service/25/thumb_retina_amazon-s3.png","name":"Amazon S3","id":"101231773409399220","slug":"amazon-s3","path":"/amazon-s3","__typename":"Tool"},"$Tool:101231777382143497.allToolIntegrations({\"first\":9}).edges.2":{"node":{"type":"id","generated":false,"id":"Tool:101231773409399220","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231777382143497.allToolIntegrations({\"first\":9}).edges.3":{"node":{"type":"id","generated":false,"id":"Tool:101231774544144572","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231776137461847":{"imageUrl":"https://img.stackshare.io/service/5472/default_189db484e0770a6101c6a70f0ef0172bc0f8de37.png","thumbUrl":"https://img.stackshare.io/service/5472/thumb_189db484e0770a6101c6a70f0ef0172bc0f8de37.png","thumbRetinaUrl":"https://img.stackshare.io/service/5472/thumb_retina_189db484e0770a6101c6a70f0ef0172bc0f8de37.png","name":"Gatsby","id":"101231776137461847","slug":"gatsbyjs","path":"/gatsbyjs","__typename":"Tool"},"$Tool:101231777382143497.allToolIntegrations({\"first\":9}).edges.4":{"node":{"type":"id","generated":false,"id":"Tool:101231776137461847","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231777382143497.allToolIntegrations({\"first\":9}).edges.5":{"node":{"type":"id","generated":false,"id":"Tool:101231774879946179","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231777382143497.allToolIntegrations({\"first\":9}).edges.6":{"node":{"type":"id","generated":false,"id":"Tool:101231773881468995","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101749879404087478":{"imageUrl":"https://img.stackshare.io/service/10529/default_ee01ccfd3a243fe511b348ef430837ef9e9a2ad5.png","thumbUrl":"https://img.stackshare.io/service/10529/thumb_ee01ccfd3a243fe511b348ef430837ef9e9a2ad5.png","thumbRetinaUrl":"https://img.stackshare.io/service/10529/thumb_retina_ee01ccfd3a243fe511b348ef430837ef9e9a2ad5.png","name":"React-admin","id":"101749879404087478","slug":"react-admin","path":"/react-admin","__typename":"Tool"},"$Tool:101231777382143497.allToolIntegrations({\"first\":9}).edges.7":{"node":{"type":"id","generated":false,"id":"Tool:101749879404087478","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231774241012594":{"imageUrl":"https://img.stackshare.io/service/1987/VzUjxSxf_400x400.jpg","thumbUrl":"https://img.stackshare.io/service/1987/thumb_VzUjxSxf_400x400.jpg","thumbRetinaUrl":"https://img.stackshare.io/service/1987/thumb_retina_VzUjxSxf_400x400.jpg","name":"CrashPlan","id":"101231774241012594","slug":"crashplan","path":"/crashplan","__typename":"Tool"},"$Tool:101231777382143497.allToolIntegrations({\"first\":9}).edges.8":{"node":{"type":"id","generated":false,"id":"Tool:101231774241012594","typename":"Tool"},"__typename":"ToolEdge"}}