awesome-copilot/instructions/dotnet-maui.instructions_ja.md

70 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
description: '.NET MAUIコンポーネントとアプリケーションパターン'
applyTo: '**/*.xaml, **/*.cs'
---
# .NET MAUI
## .NET MAUIコードスタイルと構造
- 慣用的で効率的な.NET MAUIとC#コードを書く
- .NETと.NET MAUI規約に従う。
- 小さなコンポーネントにはインライン関数を好むが、複雑なロジックはコードビハインドやサービスクラスに分離する。
- ンブロッキングUI操作を保証するため、該当する場所でAsync/awaitを使用する。
## 命名規則
- コンポーネント名、メソッド名、パブリックメンバーにはPascalCaseに従う。
- プライベートフィールドとローカル変数にはcamelCaseを使用する。
- インターフェース名に"I"のプレフィックスを付けるIUserService
## .NET MAUIと.NET固有のガイドライン
- コンポーネントライフサイクルOnAppearing、OnDisappearingなどには.NET MAUIの組み込み機能を利用する。
- {Binding}でデータバインディングを効果的に使用する。
- 関心の分離に従って.NET MAUIコンポーネントとサービスを構造化する。
- レコードタイプ、パターンマッチング、グローバルusingなど、現在のC# 13機能を含む最新バージョンのC#を常に使用する
## エラーハンドリングと検証
- .NET MAUIページとAPI呼び出しに適切なエラーハンドリングを実装する。
- バックエンドでエラー追跡にはログ機能を使用し、MAUI Community ToolkitのLoggerなどのツールでMAUIのUIレベルエラーをキャプチャすることを検討する。
- フォームでFluentValidationまたはDataAnnotationsを使用して検証を実装する。
## MAUI APIとパフォーマンス最適化
- コンポーネントライフサイクルOnAppearing、OnDisappearingなどにはMAUIの組み込み機能を利用する。
- メインスレッドをブロックする可能性のあるAPI呼び出しやUIアクションには非同期メソッドasync/awaitを使用する。
- 不要なレンダリングを減らし、OnPropertyChanged()を効率的に使用してMAUIコンポーネントを最適化する。
- 必要でない限り再レンダリングを避け、適切な場所でBatchBegin()とBatchCommit()を使用してコンポーネントレンダツリーを最小化する。
## キャッシュ戦略
- 特にMAUIアプリで、頻繁に使用されるデータにインメモリキャッシュを実装する。軽量キャッシュソリューションにはIMemoryCacheを使用する。
- 複数のユーザーやクライアント間で共有状態が必要な大規模アプリケーションには、分散キャッシュ戦略RedisやSQL Server Cacheなどを検討する。
- データが変更されにくい場合は応答を保存してAPI呼び出しをキャッシュし、冗長な呼び出しを避けることでユーザーエクスペリエンスを向上させる。
## 状態管理ライブラリ
- コンポーネント間での状態共有には依存性注入と.NET MAUI Community Toolkitを使用する。
## API設計と統合
- 外部APIや独自のバックエンドとの通信にはHttpClientやその他の適切なサービスを使用する。
- try-catchを使用してAPI呼び出しにエラーハンドリングを実装し、UIで適切なユーザーフィードバックを提供する。
## テストとデバッグ
- xUnit、NUnit、またはMSTestを使用してコンポーネントとサービスをテストする。
- テスト中の依存関係モッキングにはMoqまたはNSubstituteを使用する。
## セキュリティと認証
- API認証にOAuthまたはJWTトークンを使用して、必要な場所でMAUIアプリに認証と認可を実装する。
- すべてのWeb通信にHTTPSを使用し、適切なCORSポリシーが実装されていることを確認する。
## APIドキュメントとSwagger
- バックエンドAPIサービスのAPIドキュメントにはSwagger/OpenAPIを使用する。
- Swaggerドキュメントの強化のため、モデルとAPIメソッドにXMLドキュメントを確保する。