Skip to main content

.NET MAUI (legacy)

Legacy

This represents the legacy mobile app architecture done in .NET MAUI.

The mobile .NET MAUI clients are Android and iOS applications with extensions and watchOS. They are all located at https://github.com/bitwarden/mobile.

Principal structure is a follows:

  • App: Main .NET MAUI project that shares code between both platforms (Android & iOS). One can see specific platform code under the Platforms folder.
  • Core: Shared code having both logical and UI parts of the app. Several classes are a port from the Web Clients to C#. Here one can find most of the UI and logic since it's shared between App and the iOS extensions.
  • iOS.Core: Shared code used by the main iOS app and its extensions
  • iOS.Autofill: iOS extension that handles Autofill
  • iOS.Extensions: iOS extension that handles Autofill from the bottom sheet extension
  • iOS.ShareExtension: iOS extension that handles sharing files through Send
  • watchOS: All the code specific to the watchOS platform
    • bitwarden: Stub iOS app so that the watchOS app has a companion app on Xcode
    • bitwarden WatchKit App: Main Watch app where we set assets.
    • bitwarden WatchKit Extension: All the logic and presentation logic for the Watch app is here

Dependencies diagram

Below is a simplified dependencies diagram of the mobile repository.

plantuml