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"}}

AWS Amplify logo

AWS Amplify

JavaScript Open Source Library with React, React Native Extensions
493
548
+ 1
15

What is AWS Amplify?

A JavaScript library for frontend and mobile developers building cloud-enabled applications. The library is a declarative interface across different categories of operations in order to make common tasks easier to add into your application. The default implementation works with Amazon Web Services (AWS) resources but is designed to be open and pluggable for usage with other cloud services that wish to provide an implementation or custom backends.
AWS Amplify is a tool in the AWS Tools category of a tech stack.
AWS Amplify is an open source tool with GitHub stars and GitHub forks. Here’s a link to AWS Amplify's open source repository on GitHub

Who uses AWS Amplify?

Companies
114 companies reportedly use AWS Amplify in their tech stacks, including WebTech Team, Peak-AI, and Samsara.

Developers
334 developers on StackShare have stated that they use AWS Amplify.

AWS Amplify Integrations

JavaScript, React, Amazon S3, React Native, and Gatsby are some of the popular tools that integrate with AWS Amplify. Here's a list of all 9 tools that integrate with AWS Amplify.
Pros of AWS Amplify
5
GraphQL
3
Better with Relations and Security
2
Flexible Auth options
2
Cheaper
1
Backed by Amazon
1
Config free environment variables
1
Continuous deployment
0
Jije
Decisions about AWS Amplify

Here are some stack decisions, common use cases and reviews by companies and developers who chose AWS Amplify in their tech stack.

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?

See more
Needs advice
on
AWS AmplifyAWS AmplifyFirebaseFirebase
and
FlutterFlutter

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.) Since 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. My 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. Thank you.

See more
Luis De la Hoz
Backend Developer at Smash · | 2 upvotes · 33.1K views

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?

See more

AWS Amplify Alternatives & Comparisons

What are some alternatives to AWS Amplify?
Firebase
Firebase is a cloud service designed to power real-time, collaborative applications. Simply add the Firebase library to your application to gain access to a shared data structure; any changes you make to that data are automatically synchronized with the Firebase cloud and with other clients within milliseconds.
AWS Mobile Hub
AWS Mobile Hub is the fastest way to build mobile apps powered by AWS. It lets you easily add and configure features for your apps, including user authentication, data storage, backend logic, push notifications, content delivery, and analytics. After you build your app, AWS Mobile Hub gives you easy access to testing on real devices, as well as analytics dashboards to track usage of your app – all from a single, integrated console.
Beanstalk
A single process to commit code, review with the team, and deploy the final result to your customers.
Serverless
Build applications comprised of microservices that run in response to events, auto-scale for you, and only charge you when they run. This lowers the total cost of maintaining your apps, enabling you to build more logic, faster. The Framework uses new event-driven compute services, like AWS Lambda, Google CloudFunctions, and more.
Realm
The Realm Mobile Platform is a next-generation data layer for applications. Realm is reactive, concurrent, and lightweight, allowing you to work with live, native objects.
See all alternatives

AWS Amplify's Followers
548 developers follow AWS Amplify to keep up with related blogs and decisions.