6 ms·
AWS AppSync – Build data-driven apps with real-time and offline capabilities
- jchrisa 9y agoDoes it support peer-to-peer connections among edge devices?
- philosopherlawr 9y agoIf only this had offline support for non-NodeJS GraphQL
- nslog 9y agoIt does - you can do offline with Android and iOS too: https://docs.aws.amazon.com/appsync/latest/devguide/building-a-client-app.html https://docs.aws.amazon.com/appsync/latest/devguide/building...
- k__ 9y agoWith Expo/react-native-web, aws-amplify, and apollo-client, apollo-link-state this is a complete cross platform solution
- neom 9y agoPardon my ignorance, this is the AWS answer to Firebase?
- itake 9y agoI don't think Firebase supports GraphQL or Apollo?
- neom 9y agoAs far as I know, you are quite correct. I should have tempered with generally speaking.
- jkarneges 9y agoRegardless of protocol/software used, I think it could still be called an answer to Firebase, since AppSync and Firebase are both "backend-as-a-service" systems with realtime updates, useful for rapid app development.
- k__ 9y agoYes.
- abalone 9y agoI.e. AWS’s take on Firebase, built on AWS primitives. This has been out for a few months now. Any experiences with it?
- codyswann 9y agoI'm leading development on a React Native app using AppSync. So far it's amazing. It leverages Apollo for offline/GraphQL capabilities and Apache VTL to bind resources. It also integrates really nicely with AWS Amplify. One thing that was a bit of an annoyance was access levels. You can authenticate with the GraphQL api using a Key, IAM or Cognito JWT Key is for development only. IAM does not expose Cognito Groups to VTL JWT requires an active session. So we had to create a "fake" account for non-signed in access. Use case being, a "guest" can read data from the API but only "admins" can write data to the API
- k__ 9y agoI had the impression Cognito had this feature, but maybe I'm thinking of Auth0 here
- ryanmarsh 9y agoTo my knowledge Firebase doesn’t support graphql. I wish this meme about AppSync being AWS Firebase would die. AppSync is very different from Firebase but not that different from the other graphql-as-a-service companies.
- abalone 9y agoThat’s an architectural difference. Firebase predates graphql. I think the idea is at a high level they both target the same type of customer and use case, i.e. rapid development. No?
- ryanmarsh 9y agoThat’s not the problem GraphQL was invented to solve AFAIK. Subscriptions were added to graphql later. As I understand it graphql was created to abstract various api endpoints and tie the nodes together with resolvers so that queries would be more efficient. Firebase is a real-time db. When you hit it you hit a single endpoint. That’s very different. I can’t imagine anyone well versed in graphql and Firebase and their histories conflating the two but yet my other comments to this are getting downvoted.
- ggregoire 9y agoI wonder why most companies building simple CRUD apps still don't use those services (AppSync, Firebase, Graphcool, etc)? Seems like cheaper than hiring a backend developer + a devops.
- fredliu 9y agoHow/Does it handle push notifications to iOS/Android/Web? Similar to Firebase?
- k__ 9y agoAs far as I know GraphQL has subscriptions
- ryanmarsh 9y agoAppSync supports graphql subscriptions on mutations. They’re delivered using to the browser using MQTT.
- k__ 9y agoMQTT via WebSockets? Is this using AWS IoT?
- ryanmarsh 9y agoYes I don’t know.
- fredliu 9y agoah, thanks, that's what i wanted to ask. Since it's MQTT, how does it support iOS when the app is in the background? or it won't support that scenario on iOS? On Android, does it also use MQTT to maintain a connection? instead of using FCM/GCM? On the browser, how's the MQTT connection maintained? does it have service worker support for "offline" use cases?
- ryanmarsh 9y agoI haven’t been able to ascertain that from the docs. There could be different transports for web and iOS. All I know is web uses MQTT over web sockets and the Apollo library is used for offline and cache support.
- fredliu 9y ago
- wehadfun 9y agoSo basically it is a database in the cloud that you can access using GraphQL over HTTP?
- abalone 9y agoPlus real-time sync and offline capabilities. And I think some search and access control features.
- nslog 9y agoYup: https://docs.aws.amazon.com/appsync/latest/devguide/security.html https://docs.aws.amazon.com/appsync/latest/devguide/security... https://docs.aws.amazon.com/appsync/latest/devguide/tutorial-elasticsearch-resolvers.html https://docs.aws.amazon.com/appsync/latest/devguide/tutorial...
- EGreg 9y agoSeems like another way to lock you into a proprietary cloud (Firebase or AWS backend). Why not just take a client side library and an open-source backend, and host it on EC2 or some general purpose computer server hosted anywhere? This way your CLIENTS have a choice too. If you can install Wordpress why not this? SAFE network will solve all this soon.
- k__ 9y agoI think the lock-in can be rather small if you consider the flexibility of GraphQL.
- cjoelrun 9y agoHaving used graph.cool I can say there's a significant amount of lock-in. Authorization can be pretty specific to the implementation and often impacts your schema. Secondly the extensions that have a lot of the logic are implemented differently every time. AppSync uses Apache Velocity Template Language (VTL), seems like a huge lock-in there. Don't be fooled by the GraphQL sticker, there's a significant amount of lock-in if you go with any of the SaaS(BaaS) products.
- artpar 9y agoHey, if you are looking for an open source alternative, checkout daptin [1]. The graphql api is on the way [2] [1] https://github.com/daptin/daptin https://github.com/daptin/daptin [2] https://github.com/daptin/daptin/pull/28 https://github.com/daptin/daptin/pull/28
- abalone 9y agoIt’s built on AWS primitives, so while there is some lock in there, it’s not as bad as being tied to Firebase’s backend.
- scarface74 9y agoI avoid EC2 instances as much as possible. If you are just using a cloud provider to host your VMs, you’re really not taking advantage of “being in the cloud”. As far as lock in, it’s just like “providing a facade over your database access so you. n change databases. Few people ever change database backends.
- dang 9y agohttps://news.ycombinator.com/item?id=15801229 https://news.ycombinator.com/item?id=15801229
- cpr 9y agoSemi-on-topic, are there others providing GraphQL backends in the cloud, other than cloud.graph.cool and AWS?