HarmonyOS/OpenHarmony アプリケーション開発 - パッケージマルチ HAP メカニズム (オン)

1. マルチHAP機構の設計目標

開発者にとって、アプリケーションをモジュールで管理すると便利です。優れたアプリケーションは通常、モジュールで管理され、モジュールは疎結合になっています。複数の HAP により、開発者はサービスを複数のモジュールに分割することが容易になり、各モジュールは独立した HAP に配置されます。例えば、決済アプリケーションには統一されたメインインターフェイスがあり、メインインターフェイスは「スキャン」「入金と支払い」「メッセージ」「財務管理」などのさまざまなモジュールを管理します。メイン インターフェイス上の他のモジュールを管理するためのロジックはエントリ パッケージに実装されていますが、「スキャン」、「領収書と支払い」、「メッセージ」、「財務管理」などのモジュールは別の機能パッケージに実装されています。複数のフィーチャー パッケージを同時に開発し、フィーチャー パッケージの個別の開発とテストを実現し、最終的にフィーチャー パッケージの機能をエントリー パッケージによって統合および統合できます。

開発者にとって、複数の HAP を合理的に組み合わせて、さまざまなデバイスに展開できると便利です。たとえば、アプリケーションには Entry パッケージと 2 つのフィーチャー パッケージ (Feature1 と Feature2) が含まれています。このうち、Entry パッケージはデバイス A とデバイス B にデプロイでき、Feature1 はデバイス A にのみデプロイでき、Feature2 パッケージはデバイス B にのみデプロイできるため、開発者は Entry と Feature1 を簡単に組み合わせてデバイス A にデプロイできます。そして、Entry と Feature2 Deploy をデバイス B に組み合わせます。

開発者にとって、必要なモジュールをオンデマンドでロードし、パッケージ サイズを縮小できると便利です。開発者は、アプリケーションの特定の HAP がオンデマンドでロードされるように構成できます。アプリケーションの起動時に最初に使用されない機能は、一時的に読み込まれないように構成できます。ユーザーがこれらの機能を使用すると、アプリケーションはこれらの機能の HAP を自動的にダウンロードし、アプリケーション パッケージのサイズをある程度削減できます。

アプリケーションのリソース共有を促進し、パッケージ サイズを削減します。複数の HAP が必要とするリソース (パブリック リソース ファイル、パブリック ページなどを含む) など (共有オブジェクト) ファイルは別の HAP に配置でき、他の HAP はこの HAP 内のリソースなどのファイルにある程度アクセスできます。上記により、アプリケーション バンドルのサイズを削減できます。
2. マルチ HAP 構築ビュー
IDE は、次の図に示すように、1 つのアプリケーション プロジェクト内で複数の HAP の開発と構築をサポートします。
図1 マルチHAP構成図


1. IDE開発状況ビュー

AppScope ディレクトリ
app.json5: アプリケーションのパッケージ名、バージョン番号、アプリケーション アイコン、アプリケーション名、依存する SDK バージョン番号など、アプリケーションのグローバル説明情報を構成します。リソースディレクトリ: アプリケーションアイコンリソースとアプリケーション名文字列リソースを配置します。注: このディレクトリは IDE によって自動的に生成され、名前は変更できません。AppScope ディレクトリの下のファイル名と、Entry モジュールおよび Feature モジュールの下のファイル名は同じであってはなりません。同じでない場合、IDE はエラーを報告します。
エントリまたは機能ディレクトリ (名前は開発者がカスタマイズできます) は、開発者が
アプリケーションのビジネス ロジックを実装するようにガイドするために IDE によって作成されるモジュールです。複数のモジュールを作成でき、図内のエントリと機能は作成された 2 つのモジュール。
リソースディレクトリ: このモジュールで使用されるリソースを配置します。
ets ディレクトリ: 開発者のビジネス ロジック。
module.json5: モジュールの名前、モジュールのエントリコードパス、含まれるコンポーネント情報など、モジュールの説明情報を設定します。
2. パッケージ化されたビューをコンパイルします

開発状態のモジュールをコンパイルして展開状態の HAP を生成し、モジュールと HAP は 1 対 1 に対応します。
HAP の module.json は、開発ビューの app.json5 と module.json5 から合成されます。
すべての HAP は最終的に、アプリケーション マーケットにリリースするために App Pack (拡張子 .app が付いたパッケージ ファイル) にコンパイルされます。

 

おすすめ

転載: blog.csdn.net/weixin_69135651/article/details/131683134