Files
Ho Ngoc Hai 76d75c753b Migrate
2026-05-23 18:37:02 +07:00

88 lines
2.8 KiB
Markdown

# AppClientBase - .NET MAUI Enterprise Base App
Base frontend application cho iOS và Android được xây dựng với .NET MAUI theo chuẩn Enterprise.
## Tech Stack
- **.NET 10 MAUI** - Cross-platform framework
- **CommunityToolkit.Mvvm 8.4.0** - MVVM implementation
- **CommunityToolkit.Maui 9.1.0** - MAUI extensions
## Project Structure
```
AppClientBase/
├── MauiProgram.cs # DI & configuration
├── App.xaml # Application resources
├── AppShell.xaml # Navigation shell
├── ViewModels/ # MVVM ViewModels
│ ├── BaseViewModel.cs # Base với IsBusy, Title
│ └── MainViewModel.cs # Main page ViewModel
├── Views/ # XAML Pages
│ └── MainPage.xaml # Main page với compiled bindings
├── Services/ # Business services
│ ├── INavigationService.cs # Navigation interface
│ ├── NavigationService.cs # Shell navigation
│ ├── ISettingsService.cs # Settings interface
│ └── SettingsService.cs # MAUI Preferences wrapper
├── Models/ # Data models
├── Resources/
│ └── Styles/
│ ├── Colors.xaml # Brand, Semantic, Surface colors
│ ├── Typography.xaml # Font families, sizes, text styles
│ ├── Theme.xaml # Button, Entry, Card styles
│ └── Styles.xaml # Template implicit styles
└── Platforms/ # Platform-specific code
├── Android/
└── iOS/
```
## Features
### MVVM + Dependency Injection
- Constructor injection qua DI container
- Singleton cho stateful services (NavigationService, SettingsService)
- Transient cho ViewModels và Views
### Branding System
- **Colors.xaml**: Light/Dark colors riêng biệt
- **Typography.xaml**: Font scale (Caption → Display)
- **Theme.xaml**: ButtonPrimary, ButtonSecondary, CardDefault styles
- AppThemeBinding cho Light/Dark mode support
### Compiled Bindings
- `x:DataType` cho performance tối ưu
- Compile-time binding validation
## Getting Started
```bash
# Navigate to project
cd apps/app-client-base
# Restore packages
dotnet restore
# Build for macCatalyst
dotnet build -c Debug -f net10.0-maccatalyst
# Build for iOS (requires Xcode with iOS simulator)
dotnet build -c Debug -f net10.0-ios
# Build for Android (requires Android SDK)
dotnet build -c Debug -f net10.0-android
```
## Requirements
- .NET 10 SDK
- MAUI workload (`dotnet workload install maui`)
- For iOS: macOS with Xcode
- For Android: Android SDK
## Related Skills
Xem các MAUI Skills để hiểu thêm về patterns được sử dụng:
- `.agent/skills/maui-enterprise-architect/SKILL.md`
- `.agent/skills/maui-branding-expert/SKILL.md`