AWS AppSync enables support for generic WebSockets clients with GraphQL real-time subscriptions

Posted on: Apr 23, 2020

AWS AppSync is a managed GraphQL service that simplifies application development by letting you create a flexible API to securely access, manipulate, and combine data from one or more data sources. AppSync allows to easily make any of its supported data sources real-time, with connection management, scaling, fan-out and data broadcasting handled automatically between the service and the clients, enabling developers to focus on the business differentiators for their real-time applications instead of WebSockets operations and infrastructure management.

Managed GraphQL subscriptions on AppSync allow to seamlessly optimize access from thousands or millions of clients to applications requiring real-time updates, such as gaming leader boards, social media apps, sports scores, live streaming, interactive chat rooms, IoT dashboards, and many others.

AppSync as well as Amplify provide intelligent SDKs and client libraries for iOS, Android, and JavaScript (web and React Native) applications to easily connect to AppSync GraphQL APIs which automatically handle multiple client connections, scalability, fan-out, and broadcasting in the backend. Today we’re publishing our real-time WebSockets protocol so developers have a choice to use their favorite WebSockets client in any language to connect, register and receive GraphQL real-time subscriptions from their AppSync APIs, in addition to the optimized clients and SDKs readily available and provided by AppSync and Amplify. Developers now have the flexibility to build their own customized clients to connect to AppSync APIs leveraging generic HTTP libraries to send GraphQL queries and mutations in addition to generic WebSockets clients for GraphQL subscriptions.

For more details on how to connect to AppSync with any generic WebSockets client, refer to our new blog post as well as our real-time protocol client documentation. For more details on AppSync latest real-time features, refer to our blog post on pure WebSockets support and the AppSync documentation.