はじめに
多くの.NETバックエンド開発者にとって、現在流行しているABPフレームワークはよく知られています。オープンソースのABPフレームワークをベースに、ユーザー権限管理、パーミッション、組織、マルチテナントなどの基本機能を再開発することなく、独自の二次開発が可能です。
しかし、ABPフレームワークは.NET開発者に提供する選択肢が非常に限られており、現時点ではWebベースのソリューションのみが提供され、デスクトップやモバイルデバイス向けのソリューションは「おざなり」と言わざるを得ません。商用版ABPでさえ、デスクトップおよびモバイル向けのソリューションは単なる簡素な骨組みに過ぎず、そのようなニーズがある開発者は異なるソリューションを選ばざるを得ません。
現在、ほとんどの.NET開発者はモバイルプロジェクトの開発に、Uniapp、Electron、Flutterなどの一般的なWebソリューションを採用しています。これらの製品は本質的にC#と互換性がなく、既存のクラスライブラリ、エンティティ、サービスなどを共有できません。これでは、現在の.NETの「全部入り」という理念を実現できません。
開発の経緯
クライアント領域の開発者(Xamarin.Forms開発者を含む)が多く存在することを考慮し、2021年末からABPフレームワークをベースにしたWPF実装とXamarin.Forms実装の開発を計画しました。
これにより、既存の技術を活用して全プラットフォーム開発の理念を実現し、WPFおよびXamarin.Formsプロジェクトでは、モデルクラス、定数、インターフェース、サービスなどを含むクラスライブラリコードの90%以上をバックエンドプロジェクトと共有できるようになりました。
現在までに、Xamarin.FormsとWPFはABPフレームワークの90%以上の業務機能を再現しており、すべてのUI再設計、業務機能の実装、完全なMVVM設計が含まれています。
Xamarin.Formsフレームワークの実装については、以前の記事を参照してください: Xamarin.Forms 5.0 プロジェクト実践
WPF ABPフレームワークの紹介
今回のWPF ABPフレームワークは、ABPの技術的手段によってWPFプロジェクトを再現したものではなく、ABPフレームワークが提供する業務機能を完全に再現したものです。WPFプロジェクトでは、ABPが提供する起動設定、モジュールシステム、依存関係注入、各種リフレクション読み込み、自動エンティティマッピングなどの機能は削除されています。
このプロジェクトは、ほとんどのWPF開発者に馴染みのあるPrism MVVMフレームワークをベースに再開発され、UIにはSyncfusion WPFバージョンを使用しています。
このフレームワークには以下の機能が含まれています:
- ユーザーおよびロール管理
- 組織機構
- 権限管理
- マルチテナント
- ローカライゼーション多言語対応
- 認証と承認
- 監査ログ記録
- UIテーマ
- 例外処理
- データディクショナリ
- システム設定
プレビュー
- ログインページ テナント切り替え、言語切り替え、パスワード変更、メールアクティベーションを含む

- ホームページ システムメニュー、テーマ切り替え(ダーク/ライトテーマ)、ホームデータ統計パネルを含む

- 組織機構 組織情報の管理、異なるロールとユーザーの追加

- ロール管理 ロール情報の管理、ロール権限の設定、権限に基づくロールのフィルタリング


- ユーザー管理 ユーザー情報の管理、ユーザー権限の変更、ユーザーのロック/ロック解除/削除

- 監査ログ システムのリクエストログ、エラーログ、例外データ、変更ログ情報の記録


- 動的属性 動的データ、ドロップダウンリスト、選択肢、複数選択などの設定

- マルチテナント テナント情報の管理


- バージョン一覧 異なるバージョンの作成、料金基準、有効期限ルールの設定


- 言語一覧 多言語データの管理、関連情報の修正/設定/メンテナンス



- 設定 システムのコア機能設定(テナント、ユーザー、システムセキュリティ、メール、請求書、その他設定)を含む



- UIコンポーネントのデモ 一般的なコントロールのデモを含む

- マルチテーマ切り替え





ソースコードの入手方法は?
以前のXamarin.Formsチャリティーイベントに参加された方は、個別にご連絡いただければ、WPF版の完全なプロジェクトソースコードを無料で入手でき、Xamarin.FormsおよびWPFのABPフレームワークは今後も継続的に最適化され、無料の技術関連コンサルティングサービスも受けられます。前回のXamarin.Formsチャリティーイベントで得た収益は、近日中に寄付活動で公開する予定です。
以前のチャリティーイベントに参加されておらず、ソースコードの入手や商業目的の二次開発を希望される方には、WPF版ABPフレームワークの完全ソースコードを499元で提供しております。個別に作者(QQ:779149549)までご連絡ください。
今回のWPFフレームワークで収益が3万元を超えた場合、その超過分もチャリティー形式で寄付します。将来のMAUIフレームワーク版については、移植作業を進める予定です。
ビデオチュートリアルについて
WPF版プロジェクトの継続的な最適化に伴い、関連するチュートリアルも順次動画プラットフォームで公開する予定ですので、ご注目ください。