Application Services Overview - Flutter SDK
On this page
GraphQL is deprecated. Learn More.
Overview
You can connect your client apps to the Atlas App Services backend using the Flutter SDK. Backend functionality includes:
The App Services Client
To connect to your App Services backend, start with an App object. This object provides all other functionality related to the backend. Initialize an App with the Realm app ID, which you can find in the Realm UI.
To learn how to initialize the Realm App client, refer to Connect to App Services.
Authentication & User Management
One of the most challenging aspects of client development is implementing a robust and secure authentication system. With the SDKs, however, you can use any of the App Services authentication providers with minimal backend setup and client-side code. With the authentication APIs, you can implement the following functionality:
Create new user accounts
User log in and log out
Multiple users logged on at the same time on the same device
Link user accounts from different providers
Store custom data for a particular user
To learn how to set up authentication in your app, refer to Authenticate Users.
Device Sync
Device Sync adds data synchronization between an App Services backend and client devices on top of all of the functionality of Realm. When you use Realm with Sync, realms exist on device, similar to using Realm without Sync. However, changes to the data stored in those realms synchronize between all client devices through a backend App Services instance. That backend also stores realm data in a cloud-based Atlas cluster running MongoDB.
To get started with Sync, refer to Device Sync.
Call Atlas Functions
Atlas Functions let you define and execute server-side logic. You can call these Functions from your client applications via the Realm SDKs. These server-side functions can run in the context of the authenticated user, and thus honor the rules, roles, and permissions that you have assigned to your data in Atlas.
Using Functions provides a secure way for multiple client applications to share complex functionality without having to reproduce that logic client-side.
To learn how to call an Atlas Function from your client app, refer to Call a Function.
Query Atlas GraphQL API
The Atlas GraphQL API lets you access data stored in a linked MongoDB Atlas cluster using any standard GraphQL client.
To learn how to use the Realm Flutter SDK to authenticate requests to the Atlas GraphQL API, refer to Query Atlas GraphQL API.