Docs Menu

Docs HomeDevelop ApplicationsAtlas Device SDKs

Application Services Overview - Flutter SDK

On this page

  • Overview
  • The App Services Client
  • Authentication & User Management
  • Device Sync
  • Call Atlas Functions
  • Query Atlas GraphQL API

You can connect your client apps to the Atlas App Services backend using the Flutter SDK. Backend functionality includes:

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.

Create an App Services Account

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 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.

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.

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.

← Encrypt a Realm - Flutter SDK