Prerequisites

Ditto’s .NET MAUI Quickstart supports iOS, Android, Mac Catalyst and Windows. Before getting started, ensure you have the following:

  • Git installed on your machine
  • .NET 9 SDK installed on your machine
  • .NET MAUI workloads installed on your machine. From the project root, open a terminal and run:
    sudo dotnet workload install maui
    sudo dotnet workload restore
    
  • A Ditto Portal account with a configured Ditto Application (see Getting SDK Connection Details)

Get Started

1. Clone the Repository

  1. Open the terminal
  2. Clone the repository from GitHub.
    git clone https://github.com/getditto/quickstart
  3. Navigate to the project directory:
    cd quickstart

2. Configure Ditto

Get Ditto App ID, Playground Token, Auth URL, and Websocket URL

  1. Log in to your Ditto Portal account
  2. Navigate to your application and obtain the Ditto App ID, Playground Token, Auth URL, and Websocket URL. (see Getting SDK Connection Details for more details)

Add Ditto Credentials

  1. Copy the .env.sample file at the top level of the quickstart repo to .env and add your app ID and online playground token.
    cp .env.sample .env
    
  2. Update the .env file with the App ID and Playground Token from your Ditto Application
    DITTO_APP_ID="REPLACE_ME_WITH_YOUR_APP_ID"
    DITTO_PLAYGROUND_TOKEN="REPLACE_ME_WITH_YOUR_PLAYGROUND_TOKEN"
    DITTO_AUTH_URL="REPLACE_ME_WITH_YOUR_AUTH_URL"
    DITTO_WEBSOCKET_URL="REPLACE_ME_WITH_YOUR_WEBSOCKET_URL"
    

3. Run the Application

  1. Navigate to the project directory

    cd dotnet-maui/DittoMauiTasksApp
    
  2. Build and Run the Application

    dotnet build -t:Run -f net9.0-android
    

4. Sync-Data Offline

  1. Launch the application on multiple devices or simulators
  2. Disconnect from your current WiFi network while keeping WiFi enabled on the device to allow for LAN connections
  3. Add, edit, and delete tasks and experience offline collaboration!

Next Steps

All the Ditto Quickstart apps works together! Try running a quickstart app in other languages and see them all collaborate.

Additional Resources