88 lines
2.8 KiB
Markdown
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`
|