The User Interface of the Mobile Clients (Android, iOS) as well as the Windows Desktop client, can be fundamentally customized using custom XAML definitions. These UI definitions are loaded and interpreted by the clients at runtime, and override the default UI that are packaged with the Apps.
All UBIK Clients are built on the UBIK Universal Client Foundation and can therefore leverage all its functionality.
flowchart TD
subgraph View
WEB["Web (Blazor)"]
HOLO["Hololens 2"]
WIN["Windows (WinUI)"]
MAUI["Android/iOS/Tizen (MAUI)"]
CUSTOM["Custom Clients"]
end
subgraph ViewModel
UCF["Universal Client Foundation (UCF)"]
AR["AR Module (UCF.AR)"]
AI["AI Assistant"]
end
subgraph Model
CORE["Mobile Core"]
DB[(Mobile Database)]
FS[[File System]]
end
AUTH["Authentication"]
CONTENT["Content"]
PUSH["Push"]
SERVER["UBIK Server"]
WEB <-.HTML/CSS.-> UCF
HOLO <-.Unity 3D.-> UCF
WIN <-.XAML.-> UCF
MAUI <-.XAML.-> UCF
CUSTOM <-.-> UCF
UCF <--> CORE
CORE <--> AUTH
CORE <--> CONTENT
CORE <--> PUSH
AUTH <--> SERVER
CONTENT <--> SERVER
PUSH <--> SERVER
Because all clients share the same foundation, there is no difference between usable ViewModels, Properties and Commands. However, since they use different UI Frameworks, there are differences in the XAML dialect that prevent reusing the same UI definitions across mobile and desktop clients.
The UI System of the UBIK Mobile clients is built on the .NET MAUI Platform, therefore the principals and constraints of this framework apply.
The UI System of the UBIK Mobile clients is built on the .NET Win UI Platform, therefore the principals and constraints of this framework apply.