このプロジェクトについて
QimenJSはモジュール型のTypeScriptインフラストラクチャライブラリで、名前は「奇門遁甲」——古代の陣形配置の術数体系に由来します。能力の組み合わせ(Ability)とデータパイプライン(Pipeline)によって柔軟なフロントエンドアーキテクチャを構築し、イベントシステム、データパイプライン、エンティティ管理、国際化、HTTPクライアントなど38の独立サブパッケージを提供し、フロントエンドアプリケーションの基盤層からUI層までをカバーします。
現在のバージョンは0.2.0で、初期開発段階にあり、コアAPIとUIコンポーネント層は利用可能で、フレームワークのフローは一通り動作していますが、APIは今後のバージョンで変更される可能性があります。
パッケージリストは階層ごとに整理されています:
- **基盤層 (Layer 0)**:統一エラー体系、ログシステム、汎用ユーティリティ関数、非同期ユーティリティ、ランタイム環境検出、ハッシュとエンコード/デコード、国際化、リクエスト/イベントコンテキスト、パッケージ間共有の基本型を含みます。
- **コア層 (Layer 1)**:レジストリ、イベントバス、キャッシュ管理、データパイプライン、能力の組み合わせ、タスクスケジューリングを含みます。
- **データ層 (Layer 2)**:データプロセッサフレームワーク、検証エンジン、DOMイベントアダプタ(8種類のジェスチャー認識)、MIMEタイプ解析、名前付き正規表現パターンレジストラ、Schema定義、権限システムを含みます。
- **サービス層 (Layer 3)**:HTTPクライアント(4段階パイプライン + インターセプター + SSEストリーミング)、OAuth2認証(パスワード/認可コード/クライアントクレデンシャルモード + 401自動リフレッシュ)、ABPフレームワークデータプロセッサ、Spring Dataデータプロセッサ、システム能力セットを含みます。
- **アプリケーション層 (Layer 4)**:エンティティ管理フレームワーク(5種類のManager + Ability組み合わせアーキテクチャ)、ルーティングシステム(純粋なイベントパターン + RouteAbilityコンポーネント能力)を含みます。
- **UI層**:コンポーネントコアインフラストラクチャ、UIコンポーネント能力定義、UIコンポーネント実装(Icon/Button/Toggle/Tabs/Card/Menu/Nav/Panelなど)、高度なUIコンポーネント(Step/Timeline/Rating/PropertyGrid/OneTimePasswordなど)、JSON駆動のレイアウト定義システム、テーマリソース(ライト/ダーク + 10種類の中国風プリセット + ユーザーカスタム)、中国風アイコンライブラリ(102個のSVG + フォントアイコン)、命令型API(toast/msgbox)を含みます。
アーキテクチャの特徴には、階層設計(依存方向が単一で、層をまたいだ参照をしない)、能力の組み合わせ(エンティティマネージャーがAbilityDefinitionを通じて能力を動的に組み合わせる)、パイプライン処理(データリクエスト/レスポンスがプラグ可能なプロセッサパイプラインを通過し、ABP/Springがそのまま利用可能)、環境適応(コアパッケージは環境に依存せず、ブラウザ/Node.jsで共通)、型安全性(完全なTypeScript型定義)が含まれます。
サンプルディレクトリ `examples/full-stack/` には完全なフルスタックデモが含まれており、OAuth2認証、ABP APIユーザー管理、Spring Data注文管理、36個のQimenJSサブパッケージの機能デモページ、国際化(i18nプリコンパイル + 動的言語切り替え)をカバーしています。
ドキュメントにはアーキテクチャ説明、パッケージ説明、ベストプラクティス、APIリファレンスが含まれます。開発コマンドには依存関係のインストール、ビルド、テスト実行、コードチェック、APIドキュメント生成が含まれます。バージョン番号はSemVer仕様に従い、0.x.xは初期開発段階を示します。
本プロジェクトはAI支援開発プロジェクトであり、コードの大部分はAIによって生成されました。Huawei CodeArts、Trae CN、ChatGPT、DeepSeek、Gemini、通義千問、FitEncodeなどのツールの貢献に感謝します。ライセンスはMITです。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.