What is AWS AppSync and what are its top alternatives?
Top Alternatives to AWS AppSync
- Prisma
Prisma is an open-source database toolkit. It replaces traditional ORMs and makes database access easy with an auto-generated query builder for TypeScript & Node.js. ...
- 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. ...
- 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. ...
- 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. ...
- Firebase Realtime Database
It is a cloud-hosted NoSQL database that lets you store and sync data between your users in realtime. Data is synced across all clients in realtime, and remains available when your app goes offline. ...
- Apollo
Build a universal GraphQL API on top of your existing REST APIs, so you can ship new application features fast without waiting on backend changes. ...
- Hasura
An open source GraphQL engine that deploys instant, realtime GraphQL APIs on any Postgres database. ...
AWS AppSync alternatives & related posts
- Type-safe database access11
- Open Source10
- Auto-generated query builder8
- Supports multible database systems6
- Increases confidence during development6
- Productive application development4
- Built specifically for Postgres and TypeScript4
- Supports multible RDBMSs2
- Robust migrations system1
- Doesn't support downward/back migrations2
- Doesn't support JSONB1
- Do not support JSONB1
- Mutation of JSON is really confusing1
- Do not support JSONB1
- Jjj0
related Prisma posts
I just finished a web app meant for a business that offers training programs for certain professional courses. I chose this stack to test out my skills in graphql and react. I used Node.js , GraphQL , MySQL for the #Backend utilizing Prisma as a database interface for MySQL to provide CRUD APIs and graphql-yoga as a server. For the #frontend I chose React, styled-components for styling, Next.js for routing and SSR and Apollo for data management. I really liked the outcome and I will definitely use this stack in future projects.
In my last side project, I built a web posting application that has similar features as Facebook and hosted on Heroku. The user can register an account, create posts, upload images and share with others. I took an advantage of graphql-subscriptions to handle realtime notifications in the comments section. Currently, I'm at the last stage of styling and building layouts.
For the #Backend I used graphql-yoga, Prisma, GraphQL with PostgreSQL database. For the #FrontEnd: React, styled-components with Apollo. The app is hosted on Heroku.
- Realtime backend made easy369
- Fast and responsive268
- Easy setup240
- Real-time213
- JSON188
- Free133
- Backed by google126
- Angular adaptor82
- Reliable67
- Great customer support35
- Great documentation31
- Real-time synchronization25
- Mobile friendly21
- Rapid prototyping18
- Great security14
- Automatic scaling12
- Freakingly awesome11
- Angularfire is an amazing addition!8
- Super fast development8
- Chat8
- Firebase hosting6
- Built in user auth/oauth6
- Awesome next-gen backend6
- Ios adaptor6
- Very easy to use4
- Speed of light4
- Great3
- It's made development super fast3
- Brilliant for startups3
- .net2
- JS Offline and Sync suport2
- Low battery consumption2
- Push notification2
- Free hosting2
- Cloud functions2
- The concurrent updates create a great experience2
- I can quickly create static web apps with no backend2
- Great all-round functionality2
- Free authentication solution2
- CDN & cache out of the box1
- Google's support1
- Simple and easy1
- Faster workflow1
- Free SSL1
- Easy Reactjs integration1
- Easy to use1
- Large1
- Serverless1
- Good Free Limits1
- Can become expensive31
- No open source, you depend on external company16
- Scalability is not infinite15
- Not Flexible Enough9
- Cant filter queries7
- Very unstable server3
- No Relational Data3
- Too many errors2
- No offline sync2
related Firebase posts
Hi Otensia! I'd definitely recommend using the skills you've already got and building with JavaScript is a smart way to go these days. Most platform services have JavaScript/Node SDKs or NPM packages, many serverless platforms support Node in case you need to write any backend logic, and JavaScript is incredibly popular - meaning it will be easy to hire for, should you ever need to.
My advice would be "don't reinvent the wheel". If you already have a skill set that will work well to solve the problem at hand, and you don't need it for any other projects, don't spend the time jumping into a new language. If you're looking for an excuse to learn something new, it would be better to invest that time in learning a new platform/tool that compliments your knowledge of JavaScript. For this project, I might recommend using Netlify, Vercel, or Google Firebase to quickly and easily deploy your web app. If you need to add user authentication, there are great examples out there for Firebase Authentication, Auth0, or even Magic (a newcomer on the Auth scene, but very user friendly). All of these services work very well with a JavaScript-based application.



























This is my stack in Application & Data
JavaScript PHP HTML5 jQuery Redis Amazon EC2 Ubuntu Sass Vue.js Firebase Laravel Lumen Amazon RDS GraphQL MariaDB
My Utilities Tools
Google Analytics Postman Elasticsearch
My Devops Tools
Git GitHub GitLab npm Visual Studio Code Kibana Sentry BrowserStack
My Business Tools
Slack
related AWS Mobile Hub posts
- GraphQL4
- Better with Relations and Security3
- Cheaper2
- Flexible Auth options2
- Continuous deployment1
- Backed by Amazon1
- Free tier is limited2
- Steep Learning Curve1
related AWS Amplify posts
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.
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?
Realm
- Good7
- Cloud Syncing3
- Elegant API3
- React Native Support2
- Strong Adoption Growth1
- No offline support for web till now1
related Realm posts
- Very fast6
- Poor query1
related Firebase Realtime Database posts
We are building a social media app, where users will post images, like their post, and make friends based on their interest. We are currently using Cloud Firestore and Firebase Realtime Database. We are looking for another database like Amazon DynamoDB; how much this decision can be efficient in terms of pricing and overhead?
- From the creators of Meteor12
- Great documentation5
- Open source3
- Real time if use subscription2
- File upload is not supported1
- Increase in complexity of implementing (subscription)1
related Apollo posts
When I joined NYT there was already broad dissatisfaction with the LAMP (Linux Apache HTTP Server MySQL PHP) Stack and the front end framework, in particular. So, I wasn't passing judgment on it. I mean, LAMP's fine, you can do good work in LAMP. It's a little dated at this point, but it's not ... I didn't want to rip it out for its own sake, but everyone else was like, "We don't like this, it's really inflexible." And I remember from being outside the company when that was called MIT FIVE when it had launched. And been observing it from the outside, and I was like, you guys took so long to do that and you did it so carefully, and yet you're not happy with your decisions. Why is that? That was more the impetus. If we're going to do this again, how are we going to do it in a way that we're gonna get a better result?
So we're moving quickly away from LAMP, I would say. So, right now, the new front end is React based and using Apollo. And we've been in a long, protracted, gradual rollout of the core experiences.
React is now talking to GraphQL as a primary API. There's a Node.js back end, to the front end, which is mainly for server-side rendering, as well.
Behind there, the main repository for the GraphQL server is a big table repository, that we call Bodega because it's a convenience store. And that reads off of a Kafka pipeline.
At Airbnb we use GraphQL Unions for a "Backend-Driven UI." We have built a system where a very dynamic page is constructed based on a query that will return an array of some set of possible “sections.” These sections are responsive and define the UI completely.
The central file that manages this would be a generated file. Since the list of possible sections is quite large (~50 sections today for Search), it also presumes we have a sane mechanism for lazy-loading components with server rendering, which is a topic for another post. Suffice it to say, we do not need to package all possible sections in a massive bundle to account for everything up front.
Each section component defines its own query fragment, colocated with the section’s component code. This is the general idea of Backend-Driven UI at Airbnb. It’s used in a number of places, including Search, Trip Planner, Host tools, and various landing pages. We use this as our starting point, and then in the demo show how to (1) make and update to an existing section, and (2) add a new section.
While building your product, you want to be able to explore your schema, discovering field names and testing out potential queries on live development data. We achieve that today with GraphQL Playground, the work of our friends at #Prisma. The tools come standard with Apollo Server.
#BackendDrivenUI
Hasura
- Fast23
- Easy GraphQL subscriptions18
- Easy setup of relationships and permissions16
- Automatically generates your GraphQL schema15
- Minimal learning curve15
- No back-end code required13
- Works with new and existing databases13
- Instant production ready GraphQL12
- Great UX11
- Simple4
- Low usage of resources3
- Cumbersome validations2
related Hasura posts
Hey guys! I am looking for some advice. I would like to start learning new technologies but I am confused about some concepts:
My objective is to have a Next.js frontend application (which will be getting data from a custom API), and a backend web app running ExpressJS.
I would like to use GraphQL, so I found that I can use Hasura to expose the PostgreSQL data directly to the frontend, so my question is: is it possible for the backend to connect to Hasura and do CRUD on the database or should I use something like Prisma + Graphql?
Could you please give an example of a working application using these technologies, or an approach on how you will implement it? Thanks!
A simple diagram of what I think could be implemented: https://miro.com/app/board/uXjVOow62HA=/?share_link_id=548654600442