Realm SDKs let you connect your client apps to the Atlas App Services backend. The SDKs provide the functionality needed to authenticate users with any of the built-in authentication providers and call server-side Functions. You can also use an App Services App to sync data between devices.
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 App ID, which you can find in the App Services UI.
To learn how to initialize the App client, refer to Connect to App Services.
One of the most challenging aspects of client development is implementing a robust and secure authentication system. With the Realm SDKs, however, you can use any of the Realm 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.