Atlas Device SDK for .NET
Use the Atlas Device SDK for .NET to develop cross-platform mobile and desktop apps with C# and MAUI.
Get Started with the .NET SDK
Quick Start
Minimal-explanation code examples of how to work with the .NET SDK. Write to the device database, and sync with other devices.
Working Example App
Learn from example by dissecting a working MAUI client app that uses the .NET SDK.
Guided Tutorial
Follow a guided tutorial to learn how to adapt the example app to create your own working app.
Develop Apps with the SDK
You can use the Atlas Device SDK for .NET to develop apps in C# .NET with several frameworks, including .NET MAUI, Xamarin, Avalonia UI, UWP, Unity, and others.
Use the SDK's open-source database - Realm - as an object store on the device. Use Device Sync to keep data in sync with your MongoDB Atlas cluster and other clients.
Install the .NET SDK
Use NuGet to Install the .NET SDK in your solution.
Import the SDK in your source files to get started.
Define an Object Schema
Use C# to idiomatically define an object schema.
Open a Database
The SDK's database - Realm - stores objects in files on your device. Or you can open an in-memory database which does not create a file. Configure and open a database to get started reading and writing data.
Read and Write Data
Read and write data. You can filter data using idiomatic LINQ Syntax, or the database's Realm Query Language.
React to Changes
Live objects mean that your data is always up-to-date. You can register a notification handler to watch for changes and perform some logic, such as updating your UI.
Connect to an Atlas App Services App
Configure Device Sync in an App Services App. Define data access rules. Use Development Mode to infer your schema from your C# data model.
Then, connect to the backend from your client.
Authenticate a User
Use one of our authentication providers to authenticate a user. App Services provides access to popular authentication providers, such as Apple, Google, or Facebook. Use our built-in email/password provider to manage users without a third-party, or use custom JWT authentication to integrate with other authentication providers. Anonymous authentication provides access without requiring a login or persisting user data.
Open a Synced Database
Configure and open a synced database. Subscribe to a query to determine what data the synced database can read and write.
Read and Write Synced Data
The APIs to read and write data are the same whether you're using a synced or non-synced database. Data that you read and write is automatically kept in sync with your Atlas cluster and other clients. Apps keep working offline and deterministically sync changes whenever a network connection is available.
Use Atlas App Services in your application with the .NET SDK.
Call Serverless Functions
You can call serverless Functions from your client application that run in an App Services backend.
Query MongoDB Atlas
You can query data stored in MongoDB directly from your client application code.
Authenticate Users
Authenticate users with built-in and third-party authentication providers. Use the authenticated user to access App Services.
Recommended Reading
Integrate the SDK with Unity
Find out how to integrate the SDK with your Unity project.
Example Projects
Explore engineering and expert-provided example projects to learn best practices and common development patterns using the .NET SDK. Check out the Example Projects page for more .NET sample apps.
Large File Storage
Store large files, such as images, on a remote server. Use Triggers and Functions to store the references. Leverage the SDK's offline-first design to store large images, even when offline.
Analytics/Telemetrics Data
Take sensor readings, push data to Atlas, and display the results in Atlas Charts or a time series collection.
Use the SDK with REST APIs
Use the SDK for real-time operations together with REST APIs for server-side business logic - all with a single ViewModel.