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.
When using the SDK to access the App Services backend, you start with an
App object. This object provides all other functionality related to
App Services. You initialize the
App object with an App Services App ID,
which you can find in the App Services UI.
To learn how to initialize the App client, see Connect to App Services - C++ SDK.
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 App Services authentication providers with very minimal backend setup or client-side code required. With the authentication APIs, you can implement the following functionality:
Creation of new user accounts
User log-in and log-out
Providing custom user data
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 in the same way as a non-synced Realm. 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 enable you to define and execute server-side logic for your application. You can call these Functions from your client applications via the Realm SDKs. These server-side functions can run under the context of the authenticated user, and thus honor the rules, roles, and permissions that you have assigned to your collections.
By using Functions, you provide a secure way for a variety of client applications to share complex functionality without having to reproduce that logic client-side.
To learn how to call Functions, see Call a Function.