WPF汎用権限開発フレームワーク (ABP)

WPF汎用権限開発フレームワーク (ABP)

ほとんどの.NETバックエンド開発者にとって、現在人気のABPフレームワークはよく知られています。オープンソースのABPフレームワークをベースに、自分で二次開発を行うことができ、基本的な機能を再開発する必要はありません。

最終更新 2022/05/29 10:16
痕迹g
読了目安 3 分
カテゴリ
コース
タグ
.NET C# WPF オープンソース .NETコース

はじめに

多くの.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版プロジェクトの継続的な最適化に伴い、関連するチュートリアルも順次動画プラットフォームで公開する予定ですので、ご注目ください。

さらに探索

関連読書

その他の記事
同じタグ 2025/05/27

WPFで危険警告効果を実現する

作成したプログラムをユーザーに配布した後、ユーザーが危険な操作を行っている場合、ソフトウェアは警告効果を表示する必要があります。例えば、フレームの端が赤くなるような、高徳地図のような警告効果です。

続きを読む
同じタグ 2025/01/26

WPF カスタムXMLファイルによる国際化

この記事では、WPFプログラムでカスタムXMLファイルを使用して国際化を実現する方法について詳しく説明します。必要なNuGetパッケージのインストール、言語リストの動的取得、言語の動的切り替え、コードおよびXAMLインターフェースでの翻訳文字列の使用などを含み、ソースコードのリンクも提供し、開発者がWPFアプリケーションの国際化を簡単に実装できるように支援します。

続きを読む
同じタグ 2024/12/05

Avalonia 国際化への道:Resx リソースファイルの深い応用と探求

今日のグローバル化されたソフトウェア開発の流れにおいて、アプリケーションの国際化(i18n)とローカライゼーション(L10n)は特に重要です。Avalonia UI は強力なクロスプラットフォーム UI フレームワークとして、開発者にさまざまな国際化の方法を提供しています。その中でも、従来の Resx リソースファイルを使用した国際化処理は、Winform、WPF、ASP.NET Core などの開発シナリオでの使用習慣と互換性があるだけでなく、便利なツールと特定の開発フローを活用することで、国際化を効率的かつ整理された形で実現できます。

続きを読む