本出願の目的、技術的解決策および利点をより明確に説明するために、以下、添付の図面を参照して、本出願を詳細に説明する。本明細書に記載の具体的な実施例は、本出願を説明するためにのみ使用され、本出願を限定するものではないことを理解されたい。
図1は、一実施例によるサブアプリケーション開発方法の応用シナリオ図である。図1を参照すると、当該応用シナリオは、端末110およびサーバ120を含む。端末110は、スマートテレビ、スマートスピーカ、デスクトップコンピュータ、またはモバイル端末であり得る。モバイル端末は、携帯電話、タブレットコンピュータ、ノートブックコンピュータ、携帯情報端末、およびウェアラブル機器などのうちの少なくとも1つを含み得る。サーバ120は、独立したサーバであってもよいし、複数の物理サーバから構成されるサーバクラスタであってもよい。
サーバ120は、サブアプリケーション開発者用ツールを記憶することができる。端末110は、当該サブアプリケーション開発者用ツールをサーバ120からローカルにダウンロードすることができる。端末110は、サブアプリケーション開発者用ツールのインターフェースを当該端末110のローカルに表示することができる。当該サブアプリケーション開発者用ツールは、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールをカスタマイズ拡張することによって得られたものであり、当該カスタマイズ拡張は、第2メインアプリケーションのサブアプリケーション開発処理に関連する。当該第2メインアプリケーションは、当該第1メインアプリケーションとは異なる。端末110は、当該インターフェースを介して、当該第2メインアプリケーションのサブアプリケーションの開発トリガ命令を受信でき、当該開発トリガ命令に応答して、当該サブアプリケーション開発者用ツールを介して、当該第2メインアプリケーションのサブアプリケーション基本ライブラリを取得する。端末110は、当該サブアプリケーション基本ライブラリをロードして、当該第2メインアプリケーションのサブアプリケーション実行環境を作成することができ、当該サブアプリケーション実行環境下で、当該第2メインアプリケーションのサブアプリケーションに対して開発処理を実行する。
ここで、サブアプリケーションの実行中に、メインアプリケーションによって提供されるインターフェースまたはオペレーティングシステムによって提供されるインターフェースを呼び出す必要がある。サブアプリケーション基本ライブラリは、サブアプリケーション実行中に実行する必要のあるソフトウェアまたは命令が記述され、当該ソフトウェアまたは命令を実行することにより、対応するインターフェースを呼び出して、サブアプリケーションの機能を実現することができる。したがって、当該サブアプリケーション基本ライブラリをロードすることにより、サブアプリケーション実行環境を作成でき、当該サブアプリケーション実行環境は、サブアプリケーションの実行プラットフォームと見なすことができ、当該サブアプリケーション実行環境は、サブアプリケーションの実行時に実行する必要のあるソフトウェアまたは命令を提供することにより、インターフェースを呼び出す機能を提供し、サブアプリケーションは、対応するインターフェースを呼び出して、当該サブアプリケーションの機能を実現することができる。
他の実施例では、サーバ120は、カスタマイズ拡張されたサブアプリケーション開発者用ツールを直接記憶することなく、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールを記憶することもできる。端末110は、当該第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールをサーバ120からローカルにダウンロードし、ローカルで、当該ネイティブサブアプリケーション開発者用ツールに対して、第2メインアプリケーションのサブアプリケーション開発処理に対応するカスタマイズ拡張を実行して、カスタマイズ拡張されたサブアプリケーション開発者用ツールを取得することができる。端末110はさらに、当該カスタマイズ拡張されたサブアプリケーション開発者用ツールを表示する。
図2は、一実施例によるサブアプリケーション開発方法の例示的なフローチャートである。本実施例は、主に、当該サブアプリケーション開発方法をコンピュータ機器に適用することを例として説明し、当該コンピュータ機器は、図1における端末110であり得る。図2を参照すると、当該サブアプリケーション開発方法は、以下のステップを含み得る。
ステップS202において、サブアプリケーション開発者用ツールのインターフェースを表示し、当該サブアプリケーション開発者用ツールは、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールに基づいて、第2メインアプリケーションのサブアプリケーション開発処理に対応するカスタマイズ拡張を実行することによって得られたものであり、第2メインアプリケーションは、第1メインアプリケーションとは異なる。
ここで、サブアプリケーション開発者用ツールは、サブアプリケーションを開発およびデバッグするための開発者用ツールである。開発者用ツール(IDE:Integrated Development Environment)は、コンピュータプログラムの開発を支援するアプリケーションソフトウェアの一種である。サブアプリケーション開発ツールは、可視化の動作インターフェースを提供することにより、開発人がサブアプリケーションの研究開発を完了するのを支援する。
サブアプリケーションは、メインアプリケーションによって提供される環境で実現できるアプリケーションであり、一実施例では、サブアプリケーションは、メインアプリケーション内のミニプログラム、公式アカウントなどであり得る。メインアプリケーションは、サブアプリケーションをホストするアプリケーションであり、サブアプリケーションの実現に必要な環境を提供する。メインアプリケーションは、ネイティブアプリケーションである。ネイティブアプリケーションは、オペレーティングシステム上で直接実行できるアプリケーションである。
本実施例では、ステップS202におけるサブアプリケーション開発者用ツールは、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールをカスタマイズ拡張することによって得られたものである。カスタマイズ拡張は、第2メインアプリケーションのサブアプリケーション開発処理に対応する拡張である。つまり、サブアプリケーション開発者用ツールは、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールに対して、第2メインアプリケーションのサブアプリケーション開発処理に対応するカスタマイズ拡張を実行することによって得られたものである。
第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールとは、拡張変更されておらず、第1メインアプリケーションのサブアプリケーションを開発するための専用のツールを指す。
なお、第2メインアプリケーションは、第1メインアプリケーションとは異なり、つまり、第2メインアプリケーションは、第1メインアプリケーション以外の1つのサードパーティアプリケーションである。
第2メインアプリケーションのサブアプリケーション開発処理に対応するカスタマイズ拡張とは、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールに基づいて、第2メインアプリケーションのサブアプリケーションのパーソナライズ需要を満たすことができる拡張を実行したものを指す。これは、第2メインアプリケーションのサブアプリケーションのパーソナライズ機能を、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールに追加することに相当する。拡張されたサブアプリケーション開発者用ツールに基づいて開発された第2メインアプリケーションのサブアプリケーションのみが、第2メインアプリケーションに適合することができ、これにより、第2メインアプリケーションによって提供される環境で実現されることができる。
一実施例では、第2メインアプリケーションは、少なくとも1つのメインアプリケーションである。つまり、サブアプリケーション開発者用ツールは、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールに基づいて、少なくとも1つの第2メインアプリケーションのサブアプリケーション開発処理に対応するカスタマイズ拡張を実行することによって得られたものであり得る。これは、ネイティブサブアプリケーション開発者用ツールでは、1つまたは複数の第2メインアプリケーションに対応するカスタマイズ拡張を実行できることに相当する。
例えば、第1メインアプリケーションはAであり、ネイティブサブアプリケーション開発者用ツールはIDE1であり、現在、第2メインアプリケーションBおよびCに対応するサブアプリケーションを開発する必要があると仮定する。この場合、ネイティブサブアプリケーション開発者用ツールIDE1で、Bのサブアプリケーション開発処理に対応する拡張を実行するだけでなく、Cのサブアプリケーション開発処理に対応する拡張も実行して、開発者用ツールIDE2を取得する。このようにして、IDE2に基づいて、Bのサブアプリケーション開発処理、およびCのサブアプリケーション開発処理を実現することができる。
一実施例では、第1メインアプリケーションおよび第2メインアプリケーションは、ソーシャルアプリケーション、サブアプリケーション特別にサポートする専用アプリケーション、ファイル管理アプリケーション、メールアプリケーション、およびゲームアプリケーションなどのいずれか1つであり得る。ソーシャルアプリケーションは、インスタントメッセージングアプリケーション、ソーシャルネットワークサービス(SNS:Social Network Service、)アプリケーション、またはライブブロードキャストアプリケーションなどを含む。これは単なる例であり、第1メインアプリケーションおよび第2メインアプリケーションのタイプを限定するものではなく、サブアプリケーションを開発する必要がある任意のメインアプリケーションは、第1メインアプリケーションまたは第2メインアプリケーションであり得ることが理解できる。
なお、第2メインアプリケーションは、第1メインアプリケーションとは異なり、第2メインアプリケーションのタイプが第1メインアプリケーションのタイプとは異なると限定しなく、第2メインアプリケーションおよび第1メインアプリケーションは、同じタイプに属する異なるアプリケーションであってもよい。コンピュータ機器は、プラグインを追加する方式で、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールをカスタマイズ拡張できることが理解できる。このようなプラグインを追加する方式は、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールを、動的かつ柔軟にカスタマイズ拡張することができる。開発者は、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールを編集することにより、当該ネイティブサブアプリケーション開発者用ツールをカスタマイズ拡張することもできる。このような方式は永続的な拡張である。つまり、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールに基づいて1つの新しいサブアプリケーション開発者用ツールが開発され、つまり、カスタマイズ拡張のコンテンツは、サブアプリケーション開発者用ツールの一部であり、剥離可能なプラグインコンテンツには属しない。
コンピュータ機器は、当該サブアプリケーション開発者用ツールを実行してから、当該サブアプリケーション開発者用ツールのインターフェースを表示することができる。
一実施例では、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールを編集することによって、まったく新しい完全なサブアプリケーション開発者用ツールを取得し、コンピュータ機器は、サーバから当該サブアプリケーション開発者用ツールを直接ダウンロードすることができる。これにより、コンピュータ機器は、当該ダウンロードされたサブアプリケーション開発者用ツール実行して、当該サブアプリケーション開発者用ツールのインターフェースを表示することができる。
別の実施例では、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールにプラグインを追加することでカスタマイズ拡張を実行して、サブアプリケーション開発者用ツールを取得することに応答して、コンピュータ機器は、サーバから第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールをダウンロードした後、ネイティブサブアプリケーション開発者用ツールにプラグインを追加して、当該サブアプリケーション開発者用ツールを取得することができる。これにより、コンピュータ機器は、当該サブアプリケーション開発者用ツールを実行して、当該サブアプリケーション開発者用ツールのインターフェースを表示することができる。
ステップS204において、インターフェースを介して、第2メインアプリケーションのサブアプリケーションの開発トリガ命令を受信する。
ここで、開発トリガ命令は、第2メインアプリケーションのサブアプリケーションの開発処理の実行をトリガするために使用される。
一実施例では、ユーザは、当該インターフェースに対してプリセットされたアクション(例えば、長押し、スライド、またはクリックなどの1つのアクションまたは複数のアクションの組み合わせ)を行うことができ、コンピュータ機器は、プリセットされたアクションを検出した後、第2メインアプリケーションのサブアプリケーションの開発トリガ命令を生成する。
一実施例では、インターフェースに開発トリガコントロールを表示することもでき、コンピュータ機器は、当該開発トリガコントロールのトリガ動作を検出した場合、第2メインアプリケーションのサブアプリケーションの開発トリガ命令を生成することができる。ここで、開発トリガコントロールは、第2メインアプリケーションのサブアプリケーションの開発処理をトリガするために使用されるコントロールである。
一実施例では、ステップS204は、インターフェースにモードオプションセットを表示するステップであって、モードオプションセットは、第2メインアプリケーションのサブアプリケーション開発モードのオプションを含む、ステップと、モードオプションセットからオプションの選択動作を検出した場合、当該第2メインアプリケーションのサブアプリケーションの開発トリガ命令を生成するステップとを含む。
ここで、モードオプションセットは、少なくとも1つのモードオプションを含む。モードオプションは、モードに対応するオプションである。サブアプリケーション開発者用ツールは、モードごとに異なる環境を提供することが理解できる。一実施例では、モードオプションセット内のモードオプションに対応するモードは、第2メインアプリケーションのサブアプリケーション開発モードを含んでもよいし、第1メインアプリケーションのサブアプリケーション開発モード含んでもよく、または、第1メインアプリケーションのサブアプリケーションテストモードを含んでもよく、または、第2メインアプリケーションのサブアプリケーションテストモードなどを含んでもよい。
第2メインアプリケーションのサブアプリケーション開発モードとは、第2メインアプリケーションのサブアプリケーションの開発モードを指し、第2メインアプリケーションのサブアプリケーションの開発のための環境を提供するために使用される。
複数の第2メインアプリケーションが存在する場合、各第2メインアプリケーションは、対応するサブアプリケーション開発モードオプションを有することが理解できる。つまり、複数の第2メインアプリケーションが存在する場合、モードオプションセットは、複数の第2メインアプリケーションのサブアプリケーション開発モードのオプションを含む。これは、異なる第2メインアプリケーションが、異なるエントリから、対応するサブアプリケーション開発モードに入る必要があることに相当する。
例えば、第2メインアプリケーションBおよびCが存在する場合、モードオプションセットは、第2メインアプリケーションBのサブアプリケーション開発モードのオプション、および第2メインアプリケーションCのサブアプリケーション開発モードのオプションを含み得る。第2メインアプリケーションBのサブアプリケーションを開発しようとする場合、第2メインアプリケーションBのサブアプリケーション開発モードのオプションを選択する必要がある。第2メインアプリケーションCのサブアプリケーションを開発使用とする場合、第2メインアプリケーションCのサブアプリケーション開発モードのオプションを選択する必要がある。
一実施例では、モードオプションセットはまた、非第2メインアプリケーションのサブアプリケーション開発モードのオプションを含み得る。一実施例では、モードオプションセットはまた、第1メインアプリケーションのサブアプリケーション開発モードのオプションを含み得る。一実施例では、モードオプションセットはまた、プラグインモードを含み得る。プラグインモードは、開発プラグインの環境を提供するために使用される。
一実施例では、コンピュータ機器は、インターフェースにモードオプションセットを表示できる。ユーザは、モードオプションセットからオプションを選択することができる。コンピュータ機器は、モードオプションセットから選択されたオプションを検出することができる。選択されたオプションが第2メインアプリケーションのサブアプリケーション開発モードのオプションである場合、コンピュータ機器は、当該オプションに対応する第2メインアプリケーションのサブアプリケーションの開発トリガ命令を生成できる。
明らかに、第2メインアプリケーションのサブアプリケーション開発モードのオプションは、第2メインアプリケーションのサブアプリケーションの開発エントリに相当し、当該オプションを選択した場合、第2メインアプリケーションのサブアプリケーションの開発処理をトリガすることができる。
明らかに、モードオプションセットが複数の第2メインアプリケーションのサブアプリケーション開発モードのオプションを含む場合、ユーザは、その中から第2メインアプリケーションのサブアプリケーション開発モードのオプションを選択でき、コンピュータ機器は、当該オプションを検出して、当該オプションに対応する第2メインアプリケーションのサブアプリケーションの開発トリガ命令生成することができる。つまり、任意の第2メインアプリケーションに対応するオプションを選択した場合、当該選択された第2メインアプリケーションのサブアプリケーションの開発トリガ命令の生成をトリガする。
一実施例では、コンピュータ機器は、サブアプリケーション開発者用ツールのインターフェースに、当該モードオプションセットを直接表示することができる。
別の実施例では、コンピュータ機器はまた、サブアプリケーション開発者用ツールのインターフェースに、モード選択エントリを表示することができる。ここで、モード選択エントリは、トリガされた場合、モードオプションセットを表示するために使用される。ユーザは、モード選択エントリに対してトリガ動作を実行でき、コンピュータ機器は、当該トリガ動作を検出した場合、サブアプリケーション開発者用ツールのインターフェースに、当該モードオプションセットを表示する。一実施例では、モード選択エントリは、ドロップダウンボックスの形で表示されることができる。
理解を容易にするために、図3を参照して説明する。図3は、一実施例におけるモードオプションセットの表示インターフェースである。図3を参照すると、ユーザがツールバーのモード選択エントリ302に対してトリガ動作を実行することにより、モードオプションセット304を表示する。モードオプションセット304は、第1メインアプリケーションAのサブアプリケーション開発モードのオプション、プラグインモードのオプション、および複数の第2メインアプリケーション(すなわち、第2メインアプリケーションBおよび第2メインアプリケーションC)のサブアプリケーション開発モードのオプションを含む。図3では、ユーザが第2メインアプリケーションBのサブアプリケーション開発モードのオプションを選択した場合、サブアプリケーション開発者用ツールは、当該モードでのコード編集領域、デバッグ領域、およびシミュレータ表示領域を表示できる。
ステップS206において、開発トリガ命令に応答して、サブアプリケーション開発者用ツールを介して、第2メインアプリケーションのサブアプリケーション基本ライブラリを取得する。
ここで、サブアプリケーション基本ライブラリは、サブアプリケーションの実行のための環境を提供するために使用される。
明らかに、サブアプリケーション基本ライブラリ、すなわち、ランタイムライブラリ(Runtimeライブラリ)は、サブアプリケーションが実行するときに実行されるソフトウェア/命令、特に、サブアプリケーションの正常実行に不可欠な命令を記述する。つまり、サブアプリケーション基本ライブラリは、サブアプリケーションの実行時に環境を提供するために、サードパーティのクライアントとモバイル端末の能力をカプセル化したものに相当する。
一実施例では、サブアプリケーション開発者用ツールが、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールを編集することによって得られたものである場合、コンピュータ機器は、開発トリガ命令を受信した後、サブアプリケーション開発者用ツール自体のファイルから、第2メインアプリケーションのサブアプリケーション基本ライブラリを取得することができる。サブアプリケーション開発者用ツールが、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールにプラグインを追加して得られたものである場合、開発トリガ命令を受信した後、コンピュータ機器は、当該プラグインの関連情報から第2メインアプリケーションのサブアプリケーション基本ライブラリを取得することができる。一実施例では、当該プラグインの関連情報は、当該プラグインの構成ファイルであり得る。
一実施例では、第2メインアプリケーションのサブアプリケーション基本ライブラリは、少なくとも1つの基本ライブラリバージョンを有し得る。当該サブアプリケーション基本ライブラリに複数の基本ライブラリバージョンがある場合、コンピュータ機器は、指定された基本ライブラリバージョンに対応するサブアプリケーション基本ライブラリを取得することができる。コンピュータ機器は、デフォルトで最新の基本ライブラリバージョンに対応するサブアプリケーション基本ライブラリを取得することもできる。
一実施例では、サブアプリケーション開発者用ツールのインターフェースは、サブアプリケーション基本ライブラリの選択エントリを含む。開発トリガ命令の受信に応答して、コンピュータ機器は、当該選択エントリ内の現在指定されている基本ライブラリバージョンを検出し、当該現在指定されている基本ライブラリバージョンに対応するサブアプリケーション基本ライブラリを取得することができる。明らかに、ユーザは、当該選択エントリに対してトリガ動作を実行して、基本ライブラリバージョンを再指定することができ、コンピュータ機器は、当該動作に応答して、再指定された基本ライブラリバージョンに対応するサブアプリケーション基本ライブラリを取得してロードすることができる。
ステップS208において、サブアプリケーション基本ライブラリをロードして、第2メインアプリケーションのサブアプリケーション実行環境を作成する。
ここで、サブアプリケーション実行環境とは、第2メインアプリケーションのサブアプリケーションの実行のために提供される環境を指す。
一実施例では、コンピュータ機器は、当該サブアプリケーション基本ライブラリをロードして、第2メインアプリケーションのサブアプリケーションに実行環境を提供することができる。
明らかに、サブアプリケーション基本ライブラリをロードすることは、第2メインアプリケーションのカスタマイズされたサブアプリケーション基本ライブラリを注入して、第2メインアプリケーションのサブアプリケーションを実行するための環境を提供することに相当する。つまり、第2メインアプリケーションのサブアプリケーションは、作成されたサブアプリケーション実行環境で実行できる。
なお、第2メインアプリケーションのサブアプリケーション実行環境は、第2メインアプリケーションのすべてのサブアプリケーションの実行要件を満たすことができる。例えば、第2メインアプリケーションが、c1、c2、c3の複数のサブアプリケーションを有する場合、第2メインアプリケーションのサブアプリケーション実行環境下で、第2メインアプリケーションのサブアプリケーションc1、c2、c3の開発処理をそれぞれ完了することができる。
ステップS210において、サブアプリケーション実行環境下で、第2メインアプリケーションのサブアプリケーションに対して開発処理を実行する。
一実施例では、コンピュータ機器は、サブアプリケーション実行環境下で、第2メインアプリケーションのサブアプリケーションへのユーザによる開発命令入力に応答し、当該開発命令に応答して、第2メインアプリケーションのサブアプリケーションに対して開発コード編集、開発コードデバッグ、およびプログラムリリースなどの開発処理を実行することにより、第2メインアプリケーション専用のサブアプリケーションを開発することができる。
ここで、開発コードデバッグは、コードのコンパイル、シミュレーション表示、サブアプリケーション動作、およびコードの変更とデバッグなどを組み合わせて実行される。
一実施例では、サブアプリケーション開発者用ツールは、開発コード編集領域、開発コードデバッグ領域、およびサブアプリケーションシミュレータ表示領域などを統合して、ユーザによるサブアプリケーションの開発を実現する。
なお、サブアプリケーション開発者用ツールで第2メインアプリケーションのサブアプリケーション開発処理に対応するカスタマイズ拡張が実行されたため、第2メインアプリケーションのサブアプリケーションの開発プロセスでは、当該カスタマイズ拡張の情報に従って、第2メインアプリケーションのサブアプリケーションに対応するパーソナライズ処理を実現することもできる。
上記のサブアプリケーション開発方法は、第2メインアプリケーションのサブアプリケーションを開発する場合、他のアプリケーション(すなわち、第1メインアプリケーション)の既存のサブアプリケーション開発者用ツールをカスタマイズ拡張して、第2メインアプリケーションのカスタマイズされたサブアプリケーション基本ライブラリを取得し、当該サブアプリケーション基本ライブラリをロードすることによって、第2メインアプリケーションのサブアプリケーションのための実行環境を提供し、これにより、当該実行環境に基づいて、第2メインアプリケーションのサブアプリケーションの開発処理を実現する。このようにして、第2メインアプリケーション用にネイティブのサブアプリケーション開発者用ツールを特別に開発する必要がないため、コストを節約することができる。
さらに、第2メインアプリケーション専用のサブアプリケーション開発者用ツールを再開発することと比較して、本願実施例におけるサブアプリケーション開発ソリューションは、比較的少ない時間を消費するため、サブアプリケーションの開発効率を向上させる。
一実施例では、サブアプリケーション開発者用ツールは、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールに、第2メインアプリケーションのサブアプリケーションシミュレータプラグインをインストールして得られたものである。本実施例では、ステップS206でサブアプリケーション開発者用ツールを介して第2メインアプリケーションのサブアプリケーション基本ライブラリを取得することは、サブアプリケーション開発者用ツールを介して、サブアプリケーションシミュレータプラグインの構成ファイルから、第2メインアプリケーションのサブアプリケーション基本ライブラリを選択することを含む。
ここで、第2メインアプリケーションのサブアプリケーションシミュレータプラグインは、第2メインアプリケーションのサブアプリケーションのカスタマイズ開発処理を実行するために使用される。
サブアプリケーションシミュレータプラグインは、対応する構成ファイルを有し、当該構成ファイルは、第2メインアプリケーションのサブアプリケーション基本ライブラリを含む。
コンピュータ機器は、サブアプリケーション開発者用ツールを介して、サブアプリケーションシミュレータプラグインの構成ファイルから、第2メインアプリケーションのサブアプリケーション基本ライブラリを選択する。コンピュータ機器は、当該選択された第2メインアプリケーションのサブアプリケーション基本ライブラリをロードして、第2メインアプリケーションのサブアプリケーション実行環境を作成することができる。
明らかに、異なる第2メインアプリケーションは、異なるサブアプリケーションシミュレータプラグインに対応する。
例えば、第2メインアプリケーションBに対応するサブアプリケーションシミュレータプラグインはp1であり、第2メインアプリケーションCに対応するサブアプリケーションシミュレータプラグインはp2である。この場合、p1およびp2はそれぞれ異なる構成ファイルに対応し、p1の構成ファイルは、第2メインアプリケーションBのサブアプリケーション基本ライブラリを含む。p2の構成ファイルは、第2メインアプリケーションCのサブアプリケーション基本ライブラリを含む。
上記の実施例では、サブアプリケーションシミュレータプラグインの方式で、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールをカスタマイズ拡張することにより、サブアプリケーションシミュレータプラグインがネイティブサブアプリケーション開発者用ツールから高度に分離されることができ、これにより、ネイティブサブアプリケーション開発者用ツールは、異なるプラグインを追加する方式で、多種の第2メインアプリケーションのサブアプリケーションの開発を実現でき、開発リソースをさらに節約できる。
さらに、サブアプリケーションシミュレータプラグインはネイティブサブアプリケーション開発者用ツールから高度に分離されるため、サブアプリケーションシミュレータプラグインは、自体の状況に応じて更新でき、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツール自体の更新状況に限定されない。
一実施例では、ステップS202の前に、当該サブアプリケーション開発方法は、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールによって提供されるプラグイン管理インターフェースを表示するステップであって、当該プラグイン管理インターフェースは、第2メインアプリケーションのサブアプリケーションシミュレータプラグインの識別子を含む、ステップと、当該識別子に対するトリガ動作の検出に応答して、当該識別子に対応するサブアプリケーションシミュレータプラグインを当該ネイティブサブアプリケーション開発者用ツールにインストールする。
ここで、プラグイン管理インターフェースは、プラグインを管理するために使用される。プラグイン管理インターフェースはプラグインの識別子を含む。プラグインの識別子は、プラグイン管理インターフェースでのプラグインの表示形式である。
一実施例では、プラグイン管理インターフェース内のプラグインの識別子は、インストールされたおよびアンインストールされたプラグインの識別子を含み得る。
一実施例では、ステップS202の前に、コンピュータ機器は、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールを実行でき、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールを介してプラグイン管理インターフェースを表示し、これにより、プラグイン管理インターフェース内のプラグインの識別子を表示することができる。
一実施例では、コンピュータ機器は、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールのインターフェースにプラグイン管理エントリを表示する前に、当該プラグイン管理エントリに対するトリガ動作の検出に応答して、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールに、プラグイン管理インターフェースを表示する。ここで、プラグイン管理エントリは、トリガされた場合、プラグイン管理インターフェースを表示するために使用される。
一実施例では、プラグイン管理エントリは、ツールバーのプラグインオプションに対応することができる。コンピュータ機器は、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールのツールバーに、プラグインオプションを表示でき、当該プラグインオプションは、プラグイン管理エントリに対応し、プラグインオプションに対するトリガ動作の検出に応答して、当該プラグインオプションに対応するプラグイン管理エントリをトリガすることにより、プラグイン管理インターフェースの表示をトリガする。
ここで、プラグイン管理インターフェース内のプラグインの識別子は、第2メインアプリケーションのサブアプリケーションシミュレータプラグインの識別子を含む。ユーザは、第2メインアプリケーションのサブアプリケーションシミュレータプラグインの識別子に対してトリガ動作を実行でき、当該識別子に対するトリガ動作の検出に応答して、コンピュータ機器は、当該識別子に対応する第2メインアプリケーションのサブアプリケーションシミュレータプラグインを、ネイティブサブアプリケーション開発者用ツールにインストールする。これにより、ネイティブサブアプリケーション開発者用ツールに対して、第2メインアプリケーションのサブアプリケーション開発処理に対応するカスタマイズ拡張を実行することを実現する。
図4~5は、一実施例におけるプラグイン管理インターフェースの概略図である。図4を参照すると、ユーザは、第1メインアプリケーションAのネイティブサブアプリケーション開発者用ツールインターフェース内の「ツール」項目で「プラグイン」オプション(「プラグイン」オプションはプラグイン管理エントリであり)を選択して、図5におけるプラグイン管理インターフェース502の生成をトリガする。ユーザは、「追加」ボタン504に対してトリガ動作を実行でき、つまり、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールに、当該第2メインアプリケーションBのサブアプリケーションシミュレータプラグインをインストールすることができる。
一実施例では、プラグイン管理インターフェースは、複数の第2メインアプリケーションのサブアプリケーションシミュレータプラグインの識別子を含み得る。この場合、識別子に対するトリガ動作の検出に応答して、識別子に対応するサブアプリケーションシミュレータプラグインを、ネイティブサブアプリケーション開発者用ツールにインストールすることは、プラグイン管理インターフェース内のサブアプリケーションシミュレータプラグインの識別子に対するトリガ動作を検出し、当該トリガ動作に対応するサブアプリケーションシミュレータプラグインの識別子を決定することと、当該識別子に対応する第2メインアプリケーションのサブアプリケーションシミュレータプラグインを、ネイティブサブアプリケーション開発者用ツールにインストールすることと、を含む。
一実施例では、ユーザは、サブアプリケーションを開発する必要がある第2メインアプリケーションに対応するサブアプリケーションシミュレータプラグインの識別子を選択してトリガし、コンピュータ機器は、当該トリガ動作に対応するサブアプリケーションシミュレータプラグインの識別子を検出し、当該識別子に対応する第2メインアプリケーションのサブアプリケーションシミュレータプラグインを、ネイティブサブアプリケーション開発者用ツールにインストールすることができる。
上記の実施例では、サブアプリケーションシミュレータプラグインは、開発者によって選択的に追加されたものであり、コードの形で開発者用ツールに書き込まれないため、より柔軟であり、すべて開発者用ツールに固定的に書き込まれた当該プラグインのデータが、一部のユーザにとって大きすぎて、リソースの不必要な浪費を回避することができる。
一実施例では、ネイティブサブアプリケーション開発者用ツールは、サブアプリケーションシミュレータを含む。サブアプリケーションシミュレータは、第2メインアプリケーションでの現在開発されているサブアプリケーションのパフォーマンスをシミュレートするために使用される。本実施例では、ステップS210は、サブアプリケーションシミュレータを介して、サブアプリケーション開発者用ツールのシミュレータ表示領域で、現在開発されているサブアプリケーションがサブアプリケーション実行環境に基づいて第2メインアプリケーションで実行されるときに表示されるインターフェースをシミュレートすることと、サブアプリケーションシミュレータプラグインを介して、サブアプリケーションシミュレータに対するプリセットのシミュレーション動作をセンシングしたことに応答して、サブアプリケーションシミュレータプラグインを介して、プリセットのシミュレーション動作に対応するシミュレーションインターフェースを生成することと、シミュレーションインターフェースを、シミュレーション表示されているインターフェースにオーバーレイして表示することと、を含む。
ここで、サブアプリケーションシミュレータは、第2メインアプリケーションで、現在開発されているサブアプリケーションの実際のロジックパフォーマンスをシミュレートするために使用され、複数のインターフェースの場合、正しい状態をサブアプリケーションシミュレータに表示することができる。明らかに、サブアプリケーションシミュレータは、第2メインアプリケーションでサブアプリケーションを正常実行するときに表示される状態をシミュレートするものに相当する。
シミュレータ表示領域は、サブアプリケーションシミュレータによってシミュレートされたインターフェースを表示するための領域である。
プリセットのシミュレーション動作は、シミュレーション処理をトリガするために使用される事前指定された動作である。
シミュレーションインターフェースは、シミュレーション処理により表示されるインターフェースである。明らかに、サブアプリケーションシミュレータプラグインも、シミュレーション表示機能を備える。サブアプリケーションシミュレータプラグインによって生成されるシミュレーションインターフェースは、サブアプリケーションシミュレータによって表示されるインターフェース以外の、第2メインアプリケーションを表すことができるパーソナライズされたカスタマイズインターフェースである。
一実施例では、プリセットのシミュレーション動作は、第2メインアプリケーションをシミュレーション実行する動作を含む。
他の実施例では、プリセットのシミュレーション動作はまた、ホームページに戻ることをシミュレートする動作、および前のインターフェースに戻ることをシミュレートする動作などを含み得る。
一実施例では、コンピュータ機器は、コンパイル命令を介して、開発コードをコンパイルすることができ、サブアプリケーションシミュレータを介して、サブアプリケーション開発者用ツールのシミュレータ表示領域で、現在開発されているサブアプリケーションが、サブアプリケーション実行環境に基づいて第2メインアプリケーションで実行されるときに表示されるインターフェースをシミュレートする。
コンピュータ機器は、サブアプリケーションシミュレータプラグインを介して、当該サブアプリケーションシミュレータをセンシングでき、ユーザは、当該サブアプリケーションシミュレータに対してプリセットのシミュレーション動作を実行でき、サブアプリケーションシミュレータプラグインが当該プリセットのシミュレーション動作をセンシングしたことに応答して、コンピュータ機器は、サブアプリケーションシミュレータプラグインを介して、プリセットのシミュレーション動作に対応するシミュレーションインターフェースを生成することができる。コンピュータ機器は、サブアプリケーションシミュレータプラグインによって生成されたシミュレーションインターフェースを、シミュレータ表示領域にオーバーレイして表示することができる。つまり、サブアプリケーションシミュレータプラグインによって生成されたシミュレーションインターフェースは、サブアプリケーションシミュレータによってシミュレーション表示されたインターフェースをカバーする。
一実施例では、サブアプリケーションシミュレータプラグインの表示領域のサイズは、サブアプリケーションシミュレータ表示領域のサイズと一致する。この場合、シミュレーションインターフェースは、サブアプリケーションシミュレータによってシミュレーション表示されたインターフェースを完全にカバーすることができる。
他の実施例では、サブアプリケーションシミュレータプラグインの表示領域のサイズは、サブアプリケーションシミュレータ表示領域のサイズと一致しなくてもよい。
一実施例では、プリセットのシミュレーション動作に対応するシミュレーションインターフェースを、サブアプリケーションシミュレータプラグインにプリセットすることができ、当該プリセットのシミュレーション動作をセンシングしたことに応答して、当該プリセットのシミュレーション動作に対応するシミュレーションインターフェースを取得してロードする。
別の実施例では、当該プリセットのシミュレーション動作に対応するインターフェース生成ロジックが、サブアプリケーションシミュレータプラグインに既に設定されており、当該プリセットのシミュレーション動作をセンシングしたことに応答して、当該プリセットのシミュレーション動作に対応するインターフェース生成ロジックを呼び出して、対応するシミュレーションインターフェースを生成する。
一実施例では、サブアプリケーションシミュレータプラグインを介して、当該シミュレーションインターフェースの表示終了命令をセンシングしたことに応答して、サブアプリケーションシミュレータプラグインを介して、当該シミュレーションインターフェースの表示を終了する。
ここで、表示終了命令は、当該シミュレーションインターフェースの表示を終了することを示すために使用される。明らかに、ユーザは、当該シミュレーションインターフェース内の、表示の終了をトリガするためのボタン(例えば、「戻る」ボタンまたは「非表示」ボタン)を選択でき、コンピュータ機器は、当該動作を検出した後、表示終了命令を生成することができる。
一実施例では、コンピュータ機器は、サブアプリケーションシミュレータプラグインを介して、当該シミュレーションインターフェースを非表示することができ、例えば、当該シミュレーションインターフェースを非表示状態に設定できる。別の実施例では、コンピュータ機器はまた、サブアプリケーションシミュレータプラグインを介して当該シミュレーションインターフェースを除去することができ、これにより、当該シミュレーションインターフェースの表示を終了することができる。
図6は、一実施例におけるサブアプリケーションシミュレータプラグインの表示を示す概略図である。図6を参照すると、サブアプリケーションシミュレータプラグインは、ビューの形で、サブアプリケーション開発者用ツール内のシミュレータ表示領域602の上部をカバーし、サブアプリケーションシミュレータプラグインの表示領域604のサイズは、シミュレータ表示領域602のサイズと一致する。明らかに、サブアプリケーションシミュレータプラグインの表示領域にインターフェースを表示することにより、サブアプリケーションシミュレータでセンシングされたアクションに従って、対応する表示または非表示を実行できる。サブアプリケーションシミュレータプラグインによって表示されるインターフェースが非表示になる場合、サブアプリケーション開発者用ツールのインターフェースに表示されるのは、サブアプリケーションシミュレータによってシミュレートされたインターフェースである。
上記の実施例では、サブアプリケーションシミュレータプラグインを介して、第2メインアプリケーションのカスタマイズされた、パーソナライズインターフェースを表示することができる。さらに、サブアプリケーションシミュレータプラグインは、カスタマイズされたセンシング機能を備え、自体の需要に応じて必要な場合に表示することにより、表示の柔軟性と精度を向上させることができる。
一実施例では、プリセットのシミュレーション動作は、第2メインアプリケーションをシミュレーション実行する動作を含む。本実施例では、サブアプリケーションシミュレータに対するプリセットのシミュレーション動作をセンシングしたことに応答して、サブアプリケーションシミュレータプラグインを介して、プリセットのシミュレーション動作に対応するシミュレーションインターフェースを生成することは、サブアプリケーションシミュレータプラグインを介して第2メインアプリケーションをシミュレーション実行する動作をセンシングしたことに応答して、サブアプリケーションシミュレータプラグインを介して、センシングされた動作に対応する第2メインアプリケーションのインターフェースをシミュレーション表示することを含む。
ここで、第2メインアプリケーションの動作をシミュレーション実行することは、第2メインアプリケーションで実行される動作をシミュレートすることを指す。明らかに、シミュレーション実行される動作が異なると、それに対応してシミュレーション表示される第2メインアプリケーションのインターフェースも異なることができる。
一実施例では、サブアプリケーションシミュレータのインターフェースは、シミュレーション動作エントリを含み、ユーザは、シミュレーション動作エントリをトリガして、シミュレーション動作オプションセットの表示をトリガすることができる。ここで、シミュレーション動作オプションセットは、第2メインアプリケーションをシミュレーション実行する動作オプションを含む。ユーザは、第2メインアプリケーションを当該シミュレーション実行する動作オプションをトリガして、第2メインアプリケーションをシミュレーション実行することができる。コンピュータ機器は、サブアプリケーションシミュレータプラグインを介して、当該第2メインアプリケーションをシミュレーション実行する動作をセンシングし、サブアプリケーションシミュレータプラグインを介して、センシングされた動作に対応する第2メインアプリケーションのインターフェースをシミュレーション表示することができる。
明らかに、シミュレーション動作オプションセットはまた、他のシミュレーション動作オプションを含み得る。他のシミュレーション動作オプションは、前のインターフェースに戻ることをシミュレートする動作オプション、およびホームページに戻ることをシミュレートする動作オプションなどのうちの少なくとも1を含み得る。
一実施例では、第2メインアプリケーションは、企業インスタントメッセージングクライアントであり得る。第2メインアプリケーションをシミュレーション実行する動作は、企業インスタントメッセージングクライアントの企業選択動作をシミュレーション実行する動作を含む。したがって、シミュレーション動作オプションセットは、企業インスタントメッセージングクライアントの企業選択動作をシミュレーション実行するオプションを含み得る。本実施例では、企業インスタントメッセージングクライアントの企業選択動作をシミュレーション実行することをセンシングしたことに応答して、サブアプリケーションシミュレータプラグインを介して、企業選択動作に対応する企業選択インターフェースをシミュレーション表示する。
ここで、企業選択インターフェースは、企業を選択するためのシミュレーションインターフェースである。企業選択インターフェースには、少なくとも1つの企業アカウントが表示される。企業アカウントは、当該企業を決定するために使用される識別子であり得、企業インスタントメッセージングクライアントで企業によって登録されたアカウントであってもよいし、企業名などであってもよい。
明らかに、企業選択インターフェースが複数の企業アカウントを含む場合、ユーザは、企業選択インターフェースに表示された企業アカウントを選択して切り替えることができ、コンピュータ機器は、当該切り替え動作に従って、企業アカウント間の切り替え処理を実行できる。
一実施例では、企業選択インターフェースはまた、サブアプリケーション戻りエントリを含む。当該サブアプリケーション戻りエントリは、トリガされた場合、現在開発されているサブアプリケーションがサブアプリケーション実行環境に基づいて第2メインアプリケーションで実行されるときに表示されるシミュレートされたインターフェースに戻るために使用される。
図7は、一実施例におけるカスタマイズ表示の概略図である。なお、図7は、開発企業インスタントメッセージングAPP(Application、アプリケーション)のサブアプリケーションを例として説明する。図7の図(a)は、サブアプリケーションシミュレータによってシミュレーション表示されるインターフェースL1であり、ここで、インターフェースL1内の「hello world」は、デフォルトの歓迎メッセージであり、「世界,こんにちは!」という意味である。ユーザは、図(b)内のシミュレーション動作エントリをトリガして、シミュレーション動作オプションセット702の表示をトリガする。ここで、「Home」はホームページを意味し、「Home」オプションは、ホームページに戻ることをシミュレートする動作オプションである。「戻る」オプションは、前のインターフェースに戻ることをシミュレートする動作オプションであり、「企業の選択」オプションは、企業インスタントメッセージングAPPにおける企業選択動作オプションである。ユーザが「企業の選択」をクリックすることは、企業インスタントメッセージングクライアントでの企業選択動作をシミュレーション実行することに相当し、サブアプリケーションシミュレータプラグインは、1つの企業選択インターフェースL2を生成する。企業選択インターフェースL2は、図(a)におけるインターフェースL1をカバーして可視的に表示される。企業選択インターフェースL2には、複数の選択可能な企業アカウント(すなわち、企業1および企業2)が表示され、ここで、企業アカウントは、企業インスタントメッセージングのサブアプリケーションの識別子に相当する。図(c)および図(d)は、ユーザが企業選択インターフェース内の企業アカウントからアカウント切り替え動作を実行できることを示す。ユーザは、企業選択インターフェース内の「サブアプリケーションに戻る」をトリガして、図(a)におけるインターフェースL1に戻ることもできる。
上記の実施例では、サブアプリケーションシミュレータプラグインを介して、第2メインアプリケーションの動作をシミュレーション実行でき、これにより、サブアプリケーションシミュレータの表示領域に、第2メインアプリケーションに対応するインターフェースを表示でき、複雑な出入り動作を行う必要がないため、コンピュータ機器が、複雑な動作を受信して応答することによって引き起こされるコンピュータリソースの浪費を回避することができる。
一実施例では、サブアプリケーション実行環境下で、第2メインアプリケーションのサブアプリケーションに対して開発処理を実行することは、サブアプリケーション実行環境下で、サブアプリケーションシミュレータプラグインを介して、サブアプリケーション開発者用ツールをセンシングすることと、サブアプリケーションシミュレータプラグインを介して、サブアプリケーション開発者用ツールのターゲットインターフェースへの呼び出し要求をセンシングした後、サブアプリケーションシミュレータプラグインを介して呼び出し要求を処理して、処理結果を取得することと、サブアプリケーション開発者用ツールを介して、処理結果をインターフェース呼び出し結果として返信することとを含む。
ここで、ターゲットインターフェースは、事前指定された、センシングする必要のあるインターフェースである。明らかに、ターゲットインターフェースは、呼び出されるときに、カスタマイズ処理を実行する必要があるインターフェースである。つまり、第2メインアプリケーションによるターゲットインターフェースの呼び出し処理は、第1メインアプリケーションによるターゲットインターフェースの呼び出し処理とは異なるため、カスタマイズ処理を実行する必要がある。
インターフェース(API:Application Programming Interface)は、アプリケーションプログラミングインターフェースであり、いくつかの事前定義された関数であり、ソースコードにアクセスしたり、内部の動作メカニズムの詳細を理解したりすることなく、アプリケーションと開発者に、特定のソフトウェアまたはハードウェアに基づいて一連のルーチンにアクセスする機能を提供することを目的とする。
一実施例では、ターゲットインターフェースは、ユーザ登録情報を提供するインターフェースを含み得る。ユーザ登録情報とは、ユーザがサブアプリケーションに登録するときに提供する必要があるユーザ情報を指す。一実施例では、ユーザ登録情報は、ユーザのニックネームおよびプロフィール写真などの登録関連情報を含み得る。
明らかに、通常、サブアプリケーションによって使用されるユーザ登録情報は、インターフェースを呼び出すことによって取得されたメインアプリケーションに対応するユーザ登録情報である。しかしながら、第2メインアプリケーションと第1メインアプリケーションは異なるアプリケーションに属するため、第1メインアプリケーションにおけるユーザ登録情報は、第2メインアプリケーションにおけるユーザ登録情報とは異なる場合がある。したがって、第2メインアプリケーションのユーザ登録情報を正確に取得するために、当該インターフェースの呼び出しに対して、第2メインアプリケーションに対応するカスタマイズ処理を実行する必要がある。
他の実施例では、ターゲットインターフェースはまた、ユーザ個人情報(例えば、ユーザアドレスなど)および友人情報などを取得するためのインターフェースを含み得る。明らかに、異なるメインアプリケーションの場合、ユーザ個人情報と友人情報も異なる可能性があるため、正確な情報を取得するために、これらのインターフェースの呼び出しに対して、第2メインアプリケーションに対応するカスタマイズ処理を実行する必要がある。なお、これは単なる例であり、ターゲットインターフェースは、列挙されたインターフェースを含むが、これに限定されない。
一実施例では、サブアプリケーション実行環境下で、第2メインアプリケーションのサブアプリケーションに対して開発処理を実行するプロセスは、サブアプリケーション開発者用ツール内のインターフェースを呼び出すことを含み、コンピュータ機器は、サブアプリケーションシミュレータプラグインを介して、サブアプリケーション開発者用ツール内のインターフェースの呼び出しをセンシングすることができ、サブアプリケーションシミュレータプラグインを介して、インターフェース呼出側によるサブアプリケーション開発者用ツール内のターゲットインターフェースへの呼び出し要求をセンシングした場合、コンピュータ機器は、サブアプリケーションシミュレータプラグイン内のプリセットされた処理ロジックを介して当該呼び出し要求を処理して、処理結果を取得することができる。コンピュータ機器は、サブアプリケーション開発者用ツールを介して、当該処理結果をインターフェース呼び出し結果として、呼び出し結果受信側に返信することができる。
つまり、サブアプリケーション開発者用ツールによって呼び出し結果受信側に返信されるインターフェース呼び出し結果は、サブアプリケーションシミュレータプラグインにより、ターゲットインターフェースの呼び出し要求を処理することによって得られた処理結果である。
ここで、インターフェース呼出側は、インターフェースの呼び出しを要求するパーティである。呼び出し結果受信側は、インターフェース呼び出し結果を受信するパーティである。
明らかに、インターフェース呼出側と呼び出し結果受信側は異なるオブジェクトであり得る。
一実施例では、インターフェース呼出側は、ビュー層であり得、呼び出し結果受信側は、ロジック層であり得る。別の実施例では、インターフェース呼出側は、ロジック層であり得、呼び出し結果受信側は、ビュー層であり得る。明らかに、ビュー層とロジック層は、サブアプリケーション開発者用ツール内のインターフェースを呼び出すことにより、相互に通信することができる。
他の実施例では、インターフェース呼出側と呼び出し結果受信側は、同一のオブジェクトであり得る。つまり、両方とも、ビュー層であってもよいし、ロジック層であってもよい。
ここで、ビュー層(view)は、表示インターフェースをロードすることができる。一実施例では、ビュー層は、webビュー (webview)であり得る。webビューは、Webページをロードして表示でき、ブラウザと見なすことができる。
ロジック層(AppService)とは、トランザクションロジック処理を実行する場所を指す。明らかに、ロジック層の機能は、データを処理してビュー層に送信し、ビュー層からイベントフィードバックを受信することである。ビュー層は、ロジック層によって処理されたデータに従って、対応する表示の更新を実行する。
明らかに、サブアプリケーションシステムフレームワークは、ビュー層とロジック層を含み、つまり、ビュー層とロジック層は、サブアプリケーションの構成要素である。ステップS208でロードされたサブアプリケーション基本ライブラリは、サブアプリケーションのビュー層とロジック層のための実行環境を提供する。
一実施例では、サブアプリケーションのロジック層は、js(JavaScript、スクリプトファイルの一種)スクリプトファイルのコレクションである。サブアプリケーションのビュー層は、WXML(WeiXin Mark Language、WeChatマークアップ言語)およびWXSS(WeiXin Style Sheet、WeChatスタイルシート)ファイルによって完成される。一実施例では、サブアプリケーションシミュレータプラグインを介して、サブアプリケーション開発者用ツール内のターゲットインターフェースへの呼び出し要求をセンシングした場合、サブアプリケーションシミュレータプラグインを介して呼び出し要求を処理して、処理結果を取得ことは、サブアプリケーションシミュレータプラグインを介して、サブアプリケーション開発者用ツール内のターゲットインターフェースへの呼び出し要求をセンシングしたことに応答して、サブアプリケーションシミュレータプラグを介して呼び出し要求をインインターセプトし、サブアプリケーションシミュレータプラグインを介して呼び出し要求を処理して、処理結果取得すること、または、サブアプリケーションシミュレータプラグインを介してサブアプリケーション開発者用ツール内のターゲットインターフェースへの呼び出し要求をセンシングした場合、サブアプリケーションシミュレータプラグインを介して、ターゲットインターフェースが呼び出し要求に応答して返信した結果をインターセプトし、サブアプリケーションシミュレータプラグインを介して呼び出し要求を処理して、処理結果を取得することを含む。
明らかに、インターセプトとは、ブロックすることを意味する。この場合、呼び出し要求をインターセプトすることは、呼び出し要求をターゲットインターフェースに送信しないことを意味する。ターゲットインターフェースから返信された結果をインターセプトすることは、ターゲットインターフェースから返信された結果をサブアプリケーション開発者用ツールに通知しないことを意味する。
一実施例では、コンピュータ機器は、サブアプリケーションシミュレータプラグインを介して、サブアプリケーション開発者用ツールで呼び出し要求をターゲットインターフェースに発送する前に、呼び出し要求をターゲットインターフェースに通知しないように、当該呼び出し要求をインターセプトすることができ、サブアプリケーションシミュレータプラグイン自体によって呼び出し要求を処理し、処理によって得られた処理結果をインターフェース呼び出し結果として返信し、サブアプリケーション開発者用ツールは、当該サブアプリケーションシミュレータプラグインによって返信された処理結果を受信する。
別の実施例では、コンピュータ機器はまた、サブアプリケーション開発者用ツールが呼び出し要求をターゲットインターフェースに発送するときに、呼び出し要求をインターセプトしないことができ、このようにして、ターゲットインターフェースは、当該呼び出し要求を処理して、対応する結果を返信することができる。サブアプリケーションシミュレータプラグインは、ターゲットインターフェースによって返信された結果をセンシングするときに、当該返信された結果がサブアプリケーション開発者用ツールに転送されないように、当該返信された結果をインターセプトする。コンピュータ機器は、サブアプリケーションシミュレータプラグインを介して当該ターゲットインターフェースへの呼び出し要求を処理して、処理結果を取得することができる。その後、サブアプリケーションシミュレータプラグインは、自体の処理によって得られた処理結果をサブアプリケーション開発者用ツールに返信することができる。
明らかに、この処理プロセス全体は、サブアプリケーション開発者用ツールにとって透過的であり、つまり、サブアプリケーション開発者用ツールは、ターゲットインターフェースへの呼び出しがインターセプトされたことを認識しない。なお、サブアプリケーションシミュレータプラグインが、非ターゲットインターフェースへの呼び出し要求をセンシングしたことに応答して、サブアプリケーション開発者用ツールは、当該呼び出し要求を非ターゲットインターフェースに直接伝送し、非ターゲットインターフェースによって返信されたインターフェース呼び出し結果を、呼び出し結果受信側に直接返信することができる。
図8は、一実施例におけるターゲットインターフェース呼び出しのカスタマイズ処理の概略図である。図8を参照すると、ビュー層とロジック層の両方がサブアプリケーション開発者用ツールにインターフェース呼び出し要求を送信でき、両方とも、インターフェース呼び出し結果を受信することができる。ロジック層によりターゲットインターフェースへの呼び出し要求を開始することを例として説明する。図8では、ビュー層とロジック層は、通信ブリッジ(Jsbridge)を介してサブアプリケーション開発者用ツールと通信する。ユーザ登録のシナリオで、ロジック層がサブアプリケーション開発者用ツール内のターゲットインターフェースに呼び出し要求を送信し、サブアプリケーションシミュレータプラグインは、当該呼び出し要求をインターセプトして処理することにより、第2メインアプリケーションに対応するユーザ登録情報を取得できると仮定する。サブアプリケーションシミュレータプラグインは、ユーザ登録情報をサブアプリケーション開発者用ツールに返信でき、サブアプリケーション開発者用ツールは、当該ユーザ登録情報をビュー層に返信できる。明らかに、サブアプリケーションシミュレータプラグインが当該呼び出し要求をインターセプトしない場合、サブアプリケーション開発者用ツールは、ターゲットインターフェースを直接呼び出して、第1メインアプリケーションに対応するユーザ登録情報を取得し、それをビュー層に返信して表示する。第2メインアプリケーションに対応するユーザ登録情報は、第1メインアプリケーションに対応するユーザ登録情報とは異なる場合があり、例えば、ユーザニックネーム、プロフィール写真などが異なる場合がある。したがって、サブアプリケーションシミュレータプラグインを使用して、ターゲットインターフェースへの呼び出しに対してカスタマイズ処理を実現でき、これにより、より正確な情報を取得することができる。
上記の実施例では、サブアプリケーションシミュレータプラグインを介して、サブアプリケーション開発者用ツール内のターゲットインターフェースへの呼び出し要求をセンシングした場合、サブアプリケーションシミュレータプラグインを介して呼び出し要求を処理して、処理結果を取得し、サブアプリケーション開発者用ツールを介して、処理結果をインターフェース呼び出し結果として返信する。このようにして、インターフェース呼び出しのカスタマイズ処理を実現することにより、インターフェースを呼び出すときに、第2メインアプリケーションのサブアプリケーションにより適した情報を取得でき、第2メインアプリケーションが第1メインアプリケーションとは異なるいくつかのロジックを満たす。さらに、第2メインアプリケーション専用のサブアプリケーションをより正確に開発することができる。
一実施例では、サブアプリケーション実行環境下で、第2メインアプリケーションのサブアプリケーションに対して開発処理を実行することは、サブアプリケーション開発者用ツールでのターゲットイベントの発生をセンシングしたことに応答して、サブアプリケーションシミュレータプラグインを介してターゲットイベントをインターセプトすることと、サブアプリケーションシミュレータプラグインを介して、ターゲットイベントに対応する処理を実行することと、サブアプリケーションシミュレータプラグインがターゲットイベントに対応する処理を実行した後、サブアプリケーション開発者用ツールを介して当該ターゲットイベントに従ってシステムイベントをトリガすることと、を含む。
ここで、ターゲットイベントは、事前指定された、センシングする必要のあるイベントである。イベントは、コントロールによって識別できる動作である。例えば、[OK]ボタンを押すことや、特定のラジオボタンまたはチェックボックスなどを選択することなどはすべてイベントである。
一実施例では、ターゲットイベントは、ユーザがキャッシュをクリアするイベントをクリックすることを含み得る。明らかに、ターゲットイベントは、サブアプリケーションシミュレータプラグインによる対応する処理を必要とする他のイベントも含み得る。
一実施例では、ユーザは、サブアプリケーション開発者用ツールで対応する動作を実行して、対応するイベントの生成をトリガすることができる。コンピュータ機器は、サブアプリケーションシミュレータプラグインを介して、サブアプリケーション開発者用ツールで発生するイベントをセンシングし、サブアプリケーションシミュレータプラグインを介してサブアプリケーション開発者用ツールで発生したターゲットイベントをセンシングしたことに応答して、サブアプリケーションシミュレータプラグインを介して、ターゲットイベントをインターセプトすることにより、ターゲットイベントがブアプリケーション開発者用ツールよって上位オブジェクトに伝送されないようにする。コンピュータ機器は、サブアプリケーションシミュレータプラグインを介して、ターゲットイベントに対応する処理を実行できる。サブアプリケーションシミュレータプラグインがターゲットイベントに対応する処理を実行した後、コンピュータ機器は、サブアプリケーション開発者用ツールを介して、ターゲットイベントを上位層に伝送することにより、サブアプリケーションのシステムイベントをトリガすることができる。
システムイベントは、サブアプリケーションによって実行される必要があるイベントである。つまり、サブアプリケーション内のビュー層とロジック層によって実行される必要があるイベントである。
明らかに、コンピュータ機器は、サブアプリケーションシミュレータプラグインがターゲットイベントに対応する処理を実行した後、サブアプリケーション開発者用ツールを介してターゲットイベントをビュー層およびロジック層に伝送することができる。
図9は、一実施例におけるターゲットイベントのカスタマイズ処理の概略図である。ターゲットイベントがキャッシュをクリアするイベントであることを例として説明すると、サブアプリケーションシミュレータプラグインは、サブアプリケーション開発者用ツールをセンシングし、キャッシュをクリアするイベントをセンシングしたことに応答して、サブアプリケーションシミュレータプラグインは、当該イベントをインターセプトするか、またはキャッシュをクリアする処理を実行することができる。サブアプリケーションシミュレータプラグインは、キャッシュをクリアした後、サブアプリケーション開発者用ツールに通知し、サブアプリケーション開発者用ツールは、キャッシュをクリアするイベントを引き続きビュー層とロジック層に伝送して、ビュー層とロジック層がキャッシュをクリアする処理を実行するようにトリガすることができる。明らかに、サブアプリケーション開発者用ツールで発生したイベントが非ターゲットイベントである場合、サブアプリケーション開発者用ツールは、非ターゲットイベントをビュー層とロジック層に直接伝送することができる。
上記の実施例では、開発者用ツールで発生するイベントをセンシングすることにより、データ伝送のカスタマイズ処理を実現し、これにより、イベントが発生するときに、サブアプリケーションシミュレータプラグインで対応する処理を実行して、データの一貫性を確保することができる。さらに、第2メインアプリケーション専用のサブアプリケーションをより正確に開発することができる。
一実施例では、構成ファイルは、第2メインアプリケーションのサブアプリケーション基本ライブラリバージョンの情報を含む。当該サブアプリケーション開発方法は、サブアプリケーション基本ライブラリバージョンに関する情報に基づいて、サブアプリケーション開発者用ツールのインターフェースに、基本ライブラリバージョンオプションのセットを表示することと、セットから選択されたターゲット基本ライブラリバージョンオプションを取得することと、サブアプリケーション開発者用ツールを介して、サブアプリケーションシミュレータプラグインの構成ファイルから、ターゲット基本ライブラリバージョンオプションに対応するターゲットサブアプリケーション基本ライブラリを取得することと、現在のサブアプリケーション実行環境を、ターゲットサブアプリケーション基本ライブラリをロードすることによって作成されたサブアプリケーション実行環境に切り替えることと、を含む。
ここで、第2メインアプリケーションのサブアプリケーション基本ライブラリバージョンに関する情報とは、第2メインアプリケーションのサブアプリケーションの基本ライブラリバージョンを示す情報を指す。ターゲット基本ライブラリバージョンとは、ユーザによって選択された基本ライブラリバージョン、すなわち、ユーザが使用した基本ライブラリバージョンを指す。
一実施例では、コンピュータ機器は、サブアプリケーション開発者用ツールのインターフェースに、基本ライブラリバージョンオプションのセットを表示できる。ユーザは、セットからターゲット基本ライブラリバージョンオプションを選択することができる。コンピュータ機器は、サブアプリケーション開発者用ツールを介して、サブアプリケーションシミュレータプラグインの構成ファイルから、ターゲット基本ライブラリバージョンオプションに対応するターゲットサブアプリケーション基本ライブラリを取得することができる。このようにして、コンピュータ機器は、ターゲットサブアプリケーション基本ライブラリをロードして、対応するサブアプリケーション実行環境を作成し、現在のサブアプリケーション実行環境を、新しく作成された当該サブアプリケーション実行環境に切り替えることができる。
明らかに、サブアプリケーション実行環境を初めて作成する場合、コンピュータ機器は、デフォルトの基本ライブラリバージョンに対応するサブアプリケーション基本ライブラリを取得してロードすることにより、第2メインアプリケーションのサブアプリケーション実行環境を作成することができる。その後、ユーザは、異なる基本ライブラリバージョンを選択することにより、サブアプリケーション実行環境を切り替えることができ、これにより、異なるバージョンの開発と調整を実現できる。
一実施例では、コンピュータ機器は、サブアプリケーション開発者用ツールのインターフェースにバージョン選択エントリを表示でき、ユーザは、当該バージョン選択エントリをトリガして、基本ライブラリバージョンオプションのセットを表示することができる。バージョン選択エントリは、トリガされた場合に基本ライブラリバージョンオプションのセットを表示するために使用される。
一実施例では、在サブアプリケーション開発者用ツールインターフェースのツールバーは、バージョン選択エントリの表示をトリガするためのオプションを含み、ユーザが当該オプションをトリガした後、コンピュータ機器は、当該トリガ動作に応答して、サブアプリケーション開発者用ツールのインターフェースにバージョン選択エントリを表示することができる。
図10は、一実施例における基本ライブラリバージョン選択インターフェースの図である。図10を参照すると、ユーザがツールバー内のオプション1002を選択した後、コンピュータ機器は、サブアプリケーション開発者用ツールのインターフェースにバージョン選択エントリ1004を表示でき、ユーザがバージョン選択エントリ1004をトリガすることにより、コンピュータ機器は、基本ライブラリバージョンオプションのセット1006を表示できる。ユーザは、その中からターゲット基本ライブラリバージョンを選択でき、図10では、ユーザが選択したのは1.2.0バージョンである。
上記の実施例では、異なる基本ライブラリバージョンの選択を実現し、これにより、異なるバージョンの互換性およびデバッグ処理を実現する。また、インターフェースに表示される基本ライブラリバージョンオプションのセットから、ターゲット基本ライブラリバージョンを直接選択することにより、異なるバージョンの基本ライブラリに対応するサブアプリケーション実行環境をすばやく切り替えることができるため、複雑な動作を回避し、開発効率を向上させることができる。さらに、複雑な動作が不要なため、コンピュータ機器が複雑な動作を受信して応答することによるコンピュータリソースの浪費も回避する。
図11に示されるように、一実施例では、サブアプリケーション開発装置1100を提供し、当該装置1100は、表示モジュール1102と、環境作成モジュール1104と、開発モジュール1106とを備え、ここで、表示モジュール1102は、サブアプリケーション開発者用ツールのインターフェースを表示するように構成され、サブアプリケーション開発者用ツールは、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールに基づいて、第2メインアプリケーションのサブアプリケーション開発処理に対応するカスタマイズ拡張を実行することによって得られたものであり、第2メインアプリケーションは、第1メインアプリケーションとは異なる。環境作成モジュール1104は、インターフェースを介して、第2メインアプリケーションのサブアプリケーションの開発トリガ命令を受信し、開発トリガ命令に応答して、サブアプリケーション開発者用ツールを介して、第2メインアプリケーションのサブアプリケーション基本ライブラリを取得し、サブアプリケーション基本ライブラリをロードして、第2メインアプリケーションのサブアプリケーション実行環境を作成するように構成される。開発モジュール1106は、サブアプリケーション実行環境下で、第2メインアプリケーションのサブアプリケーションに対して開発処理を実行するように構成される。
一実施例では、表示モジュール1102は、さらに、インターフェースにモードオプションセットを表示ように構成され、モードオプションセットは、第2メインアプリケーションのサブアプリケーション開発モードのオプションを含み、モードオプションセットからオプションの選択動作を検出した場合、第2メインアプリケーションのサブアプリケーションの開発トリガ命令を生成するように構成される。
一実施例では、サブアプリケーション開発者用ツールは、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールに、第2メインアプリケーションのサブアプリケーションシミュレータプラグインをインストールして得られたものであり、サブアプリケーションシミュレータプラグインは、第2メインアプリケーションのサブアプリケーションのカスタマイズ開発処理を実現するために使用される。環境作成モジュール1104は、されに、サブアプリケーション開発者用ツールを介して、サブアプリケーションシミュレータプラグインの構成ファイルから、第2メインアプリケーションのサブアプリケーション基本ライブラリを選択するように構成される。
一実施例では、表示モジュール1102は、さらに、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールによって提供されるプラグイン管理インターフェースを表示するように構成され、プラグイン管理インターフェースは、第2メインアプリケーションのサブアプリケーションシミュレータプラグインの識別子を含む。
図12に示されるように、本実施例では、当該装置1100は、さらに、識別子のトリガ動作を検出した場合、識別子に対応するサブアプリケーションシミュレータプラグインをネイティブサブアプリケーション開発者用ツールにインストールするように構成される。
一実施例では、ネイティブサブアプリケーション開発者用ツールは、サブアプリケーションシミュレータを含む。開発モジュール1106は、さらに、サブアプリケーションシミュレータを介して、サブアプリケーション開発者用ツールのシミュレータ表示領域で、現在開発されているサブアプリケーションがサブアプリケーション実行環境に基づいて第2メインアプリケーションで実行されるときに表示されるインターフェースをシミュレートし、サブアプリケーションシミュレータに対するプリセットのシミュレーション動作をセンシングしたことに応答して、サブアプリケーションシミュレータプラグインを介して、プリセットのシミュレーション動作に対応するシミュレーションインターフェースを生成し、シミュレーションインターフェースを、シミュレーション表示されているインターフェースにオーバーレイして表示するように構成される。
一実施例では、プリセットのシミュレーション動作は、前記第2メインアプリケーションをシミュレーション実行する動作を含む。開発モジュール1106は、さらに、サブアプリケーションシミュレータプラグインを介して前記第2メインアプリケーションをシミュレーション実行する動作をセンシングしたことに応答して、サブアプリケーションシミュレータプラグインを介して、センシングされた動作に対応する第2メインアプリケーションのインターフェースをシミュレーション表示するように構成される。
一実施例では、開発モジュール1106は、さらに、サブアプリケーション実行環境下で、サブアプリケーションシミュレータプラグインを介してサブアプリケーション開発者用ツールをセンシングし、サブアプリケーション開発者用ツール内のターゲットインターフェースへの呼び出し要求をセンシングした場合、サブアプリケーションシミュレータプラグインを介して呼び出し要求を処理して、処理結果を取得し、サブアプリケーション開発者用ツールを介して、処理結果をインターフェース呼び出し結果として返信するように構成される。
一実施例では、開発モジュール1106は、さらに、サブアプリケーション開発者用ツール内のターゲットインターフェースへの呼び出し要求をセンシングしたことに応答して、サブアプリケーションシミュレータプラグインを介して呼び出し要求をインターセプトし、サブアプリケーションシミュレータプラグインを介して呼び出し要求を処理して、処理結果を取得するか、または、サブアプリケーション開発者用ツール内のターゲットインターフェースへの呼び出し要求をセンシングした場合、サブアプリケーションシミュレータプラグインを介してターゲットインターフェースが呼び出し要求に応答して返信した結果をインターセプトし、サブアプリケーションシミュレータプラグインを介して呼び出し要求を処理して、処理結果を取得するように構成される。
一実施例では、開発モジュール1106は、さらに、サブアプリケーション実行環境下で、サブアプリケーションシミュレータプラグインを介してサブアプリケーション開発者用ツールをセンシングし、サブアプリケーション開発者用ツールでのターゲットイベントの発生をセンシングしたことに応答して、サブアプリケーションシミュレータプラグインを介してターゲットイベントをインターセプトし、サブアプリケーションシミュレータプラグインを介して、ターゲットイベントに対応する処理を実行し、サブアプリケーションシミュレータプラグインが、ターゲットイベントに対応する処理を実行した後、サブアプリケーション開発者用ツールを介してターゲットイベントに従ってシステムイベントをトリガするように構成される。
一実施例では、構成ファイルは、第2メインアプリケーションのサブアプリケーション基本ライブラリバージョンの情報を含む。表示モジュール1102は、さらに、情報に基づいて、サブアプリケーション開発者用ツールのインターフェースに、基本ライブラリバージョンオプションのセットを表示し、セットから選択されたターゲット基本ライブラリバージョンオプションを取得するように構成される。環境作成モジュール1104は、さらに、サブアプリケーション開発者用ツールを介して、サブアプリケーションシミュレータプラグインの構成ファイルから、ターゲット基本ライブラリバージョンオプションに対応するターゲットサブアプリケーション基本ライブラリを取得し、現在のサブアプリケーション実行環境を、ターゲットサブアプリケーション基本ライブラリをロードすることによって作成されたサブアプリケーション実行環境に切り替えるように構成される。
図13は、一実施例におけるコンピュータ機器の内部構造の概略図である。図13を参照すると、当該コンピュータ機器は、図1の端末110であり得る。当該コンピュータ機器は、システムバスを介して接続されたプロセッサ、メモリ、ネットワークインターフェース、表示画面および入力装置を含んでもよい。ここで、メモリは、不揮発性記憶媒体および内部メモリを含む。当該コンピュータ機器の不揮発性記憶媒体は、オペレーティングシステムおよびコンピュータプログラムを記憶することができる。当該コンピュータプログラムが実行されるときに、プロセッサに、サブアプリケーション開発方法を実行させることができる。当該コンピュータ機器のプロセッサは、計算および制御機能を提供するために使用され、コンピュータ機器全体の実行をサポートする。当該内部メモリにコンピュータプログラムが記憶でき、当該コンピュータプログラムがプロセッサによって実行されるときに、プロセッサに、サブアプリケーション開発方法を実行させることができる。コンピュータ機器のネットワークインターフェースは、ネットワーク通信に使用される。当該コンピュータ機器の表示画面は、液晶表示画面または電子インク表示画面であり得、当該コンピュータ機器の入力装置は、表示画面に覆われたタッチ層であってもよいし、コンピュータ機器のハウジングに設けられたボタン、トラックボールまたはタッチパッドであってもよいし、外部接続されたキーボード、タッチパッドまたはマウスなどであってもよい。
当業者なら自明であるが、図13に示される構造は、本願の解決策に関連する構造の一部のブロック図にすぎず、本願の解決策が適用されるコンピュータ機器に対する限定を構成しない。具体的なコンピュータ機器は、図に示されるよりも多いまたは少ないコンポーネントを含んでもよいか、または特定のコンポーネントを組み合わせてもよいか、または異なるコンポーネント配置を有してもよい。
一実施例では、本願で提供されるサブアプリケーション開発装置は、コンピュータプログラムの形で実現されてもよく、コンピュータプログラムは、図13に示されるコンピュータ機器で実行でき、コンピュータ機器の不揮発性記憶媒体は、当該サブアプリケーション開発装置の各プログラムモジュール、例えば、図11に示される表示モジュール1102、環境作成モジュール1104、および開発モジュール1106などを記憶することができる。各プログラムモジュールによって構成されるコンピュータプログラムは、当該コンピュータ機器に、本明細書に記載の本願の各実施例のサブアプリケーション開発方法のステップを実行させるように構成される。例えば、コンピュータ機器は、図11に示されるサブアプリケーション開発装置1100内の表示モジュール1102を介して、サブアプリケーション開発者用ツールのインターフェースを表示することができ、サブアプリケーション開発者用ツールは、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールに基づいて、第2メインアプリケーションのサブアプリケーション開発処理に対応するカスタマイズ拡張を実行することによって得られたものであり、第2メインアプリケーションは、第1メインアプリケーションとは異なる。コンピュータ機器は、環境作成モジュール1104のインターフェースを介して、第2メインアプリケーションのサブアプリケーションの開発トリガ命令を受信し、開発トリガ命令に応答して、サブアプリケーション開発者用ツールを介して、第2メインアプリケーションのサブアプリケーション基本ライブラリを取得し、サブアプリケーション基本ライブラリをロードして、第2メインアプリケーションのサブアプリケーション実行環境を作成することができる。コンピュータ機器は、開発モジュール1106を介して、サブアプリケーション実行環境下で、第2メインアプリケーションのサブアプリケーションに対して開発処理を実行することができる。
一実施例では、メモリと、プロセッサとを備えるコンピュータ機器を提供し、メモリにコンピュータプログラムが記憶され、コンピュータプログラムがプロセッサによって実行されるときに、プロセッサに、サブアプリケーション開発者用ツールのインターフェースを表示するステップであって、サブアプリケーション開発者用ツールは、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールに基づいて、第2メインアプリケーションのサブアプリケーション開発処理に対応するカスタマイズ拡張を実行することによって得られたものであり、第2メインアプリケーションは、第1メインアプリケーションとは異なる、ステップと、インターフェースを介して、第2メインアプリケーションのサブアプリケーションの開発トリガ命令を受信するステップと、開発トリガ命令に応答して、サブアプリケーション開発者用ツールを介して、第2メインアプリケーションのサブアプリケーション基本ライブラリを取得するステップと、サブアプリケーション基本ライブラリをロードして、第2メインアプリケーションのサブアプリケーション実行環境を作成するステップと、サブアプリケーション実行環境下で、第2メインアプリケーションのサブアプリケーションに対して開発処理を実行するステップと、を実行させる。
一実施例では、コンピュータプログラムがプロセッサによって実行されるときに、プロセッサに、インターフェースにモードオプションセットを表示するステップであって、モードオプションセットは、第2メインアプリケーションのサブアプリケーション開発モードのオプションを含む、ステップと、モードオプションセットからオプションの選択動作を検出したことに応答して、第2メインアプリケーションのサブアプリケーションの開発トリガ命令を生成するステップと、を実行させる。
一実施例では、サブアプリケーション開発者用ツールは、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールに、第2メインアプリケーションのサブアプリケーションシミュレータプラグインをインストールして得られたものであり、サブアプリケーションシミュレータプラグインは、第2メインアプリケーションのサブアプリケーションのカスタマイズ開発処理を実現するために使用され、コンピュータプログラムがプロセッサによって実行されるときに、プロセッサに、サブアプリケーション開発者用ツールを介して、サブアプリケーションシミュレータプラグインの構成ファイルから、第2メインアプリケーションのサブアプリケーション基本ライブラリを選択するステップを実行させる。
一実施例では、コンピュータプログラムがプロセッサによって実行されるときに、プロセッサに、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールによって提供されるプラグイン管理インターフェースを表示するステップであって、プラグイン管理インターフェースは、第2メインアプリケーションのサブアプリケーションシミュレータプラグインの識別子を含む、ステップと、識別子的に対するトリガ動作の検出に応答して、識別子に対応するサブアプリケーションシミュレータプラグインをネイティブサブアプリケーション開発者用ツールにインストールして、サブアプリケーション開発ツールを取得するステップと、を実行させる。
一実施例では、ネイティブサブアプリケーション開発者用ツールは、サブアプリケーションシミュレータを含み、コンピュータプログラムがプロセッサによって実行されるときに、プロセッサに、サブアプリケーションシミュレータを介して、サブアプリケーション開発者用ツールのシミュレータ表示領域で、現在開発されているサブアプリケーションがサブアプリケーション実行環境に基づいて第2メインアプリケーションで実行されるときに表示されるインターフェースをシミュレートするステップと、サブアプリケーションシミュレータに対するプリセットのシミュレーション動作をセンシングしたことに応答して、サブアプリケーションシミュレータプラグインを介して、プリセットのシミュレーション動作に対応するシミュレーションインターフェースを生成するステップと、シミュレーションインターフェースを、シミュレーション表示されているインターフェースにオーバーレイして表示するステップと、を実行させる。
一実施例では、プリセットのシミュレーション動作は、第2メインアプリケーションのシミュレーション実行動作を含み、コンピュータプログラムがプロセッサによって実行されるときに、プロセッサに、サブアプリケーションシミュレータプラグインを介して、第2メインアプリケーションをシミュレーション実行する動作をセンシングしたことに応答して、サブアプリケーションシミュレータプラグインを介して、センシングされた動作に対応する第2メインアプリケーションのインターフェースをシミュレーション表示するステップを実行させる。
一実施例では、コンピュータプログラムがプロセッサによって実行されるときに、プロセッサに、サブアプリケーション実行環境下で、サブアプリケーションシミュレータプラグインを介してサブアプリケーション開発者用ツールをセンシングするステップと、サブアプリケーション開発者用ツール内のターゲットインターフェースへの呼び出し要求をセンシングした場合、サブアプリケーションシミュレータプラグインを介して呼び出し要求を処理して、処理結果を取得するステップと、サブアプリケーション開発者用ツールを介して、処理結果をインターフェース呼び出し結果として返信するステップと、を実行させる。
一実施例では、コンピュータプログラムがプロセッサによって実行されるときに、プロセッサに、サブアプリケーション開発者用ツール内のターゲットインターフェースへの呼び出し要求をセンシングしたことに応答して、サブアプリケーションシミュレータプラグインを介して呼び出し要求をインターセプトし、サブアプリケーションシミュレータプラグインを介して呼び出し要求を処理して、処理結果を取得するステップ、または、サブアプリケーション開発者用ツール内のターゲットインターフェースへの呼び出し要求をセンシングした場合、サブアプリケーションシミュレータプラグインを介して、ターゲットインターフェースが呼び出し要求に応答して返信した結果をインターセプトし、サブアプリケーションシミュレータプラグインを介して呼び出し要求を処理して、処理結果を取得するステップを実行させる。
一実施例では、コンピュータプログラムがプロセッサによって実行されるときに、プロセッサに、サブアプリケーション実行環境下で、サブアプリケーションシミュレータプラグインを介してサブアプリケーション開発者用ツールをセンシングするステップと、サブアプリケーション開発者用ツールでのターゲットイベントの発生をセンシングしたことに応答して、サブアプリケーションシミュレータプラグインを介してターゲットイベントをインターセプトするステップと、サブアプリケーションシミュレータプラグインを介して、ターゲットイベントに対応する処理を実行するステップと、サブアプリケーションシミュレータプラグインが、ターゲットイベントに対応する処理を実行した後、サブアプリケーション開発者用ツールを介してターゲットイベントに従ってシステムイベントをトリガするステップと、を実行させる。
一実施例では、構成ファイルは、第2メインアプリケーションのサブアプリケーション基本ライブラリバージョンに関する情報を含み、コンピュータプログラムがプロセッサによって実行されるときに、プロセッサに、情報に基づいて、サブアプリケーション開発者用ツールのインターフェースに、基本ライブラリバージョンオプションのセットを表示するステップと、セットから選択されたターゲット基本ライブラリバージョンオプションを取得するステップと、サブアプリケーション開発者用ツールを介して、サブアプリケーションシミュレータプラグインの構成ファイルから、ターゲット基本ライブラリバージョンオプションに対応するターゲットサブアプリケーション基本ライブラリを取得するステップと、現在のサブアプリケーション実行環境を、ターゲットサブアプリケーション基本ライブラリをロードすることによって作成されたサブアプリケーション実行環境に切り替えるステップと、を実行させる。
一実施例では、コンピュータプログラムが記憶されたコンピュータ可読記憶媒体を提供し、コンピュータプログラムがプロセッサによって実行されるときに、プロセッサに、サブアプリケーション開発者用ツールのインターフェースを表示するステップであって、サブアプリケーション開発者用ツールは、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールに基づいて、第2メインアプリケーションのサブアプリケーション開発処理に対応するカスタマイズ拡張を実行することによって得られたものであり、第2メインアプリケーションは、第1メインアプリケーションとは異なる、ステップと、インターフェースを介して、第2メインアプリケーションのサブアプリケーションの開発トリガ命令を受信するステップと、開発トリガ命令に応答して、サブアプリケーション開発者用ツールを介して、第2メインアプリケーションのサブアプリケーション基本ライブラリを取得するステップと、サブアプリケーション基本ライブラリをロードして、第2メインアプリケーションのサブアプリケーション実行環境を作成するステップと、サブアプリケーション実行環境下で、第2メインアプリケーションのサブアプリケーションに対して開発処理を実行するステップと、を実行させる。
一実施例では、コンピュータプログラムがプロセッサによって実行されるときに、プロセッサに、インターフェースにモードオプションセットを表示するステップであって、モードオプションセットは、第2メインアプリケーションのサブアプリケーション開発モードのオプションを含む、ステップと、モードオプションセットからオプションの選択動作を検出したことに応答して、第2メインアプリケーションのサブアプリケーションの開発トリガ命令を生成するステップと、を実行させる。
一実施例では、サブアプリケーション開発者用ツールは、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールに、第2メインアプリケーションのサブアプリケーションシミュレータプラグインをインストールして得られたものであり、サブアプリケーションシミュレータプラグインは、第2メインアプリケーションのサブアプリケーションのカスタマイズ開発処理を実現するために使用され、コンピュータプログラムがプロセッサによって実行されるときに、プロセッサに、サブアプリケーション開発者用ツールを介して、サブアプリケーションシミュレータプラグインの構成ファイルから、第2メインアプリケーションのサブアプリケーション基本ライブラリを選択するステップを実行させる。
一実施例では、コンピュータプログラムがプロセッサによって実行されるときに、プロセッサに、第1メインアプリケーションのネイティブサブアプリケーション開発者用ツールによって提供されるプラグイン管理インターフェースを表示するステップであって、プラグイン管理インターフェースは、第2メインアプリケーションのサブアプリケーションシミュレータプラグインの識別子を含む、ステップと、識別子的に対するトリガ動作の検出に応答して、識別子に対応するサブアプリケーションシミュレータプラグインをネイティブサブアプリケーション開発者用ツールにインストールして、サブアプリケーション開発ツールを取得するステップと、を実行させる。
一実施例では、ネイティブサブアプリケーション開発者用ツールは、サブアプリケーションシミュレータを含み、コンピュータプログラムがプロセッサによって実行されるときに、プロセッサに、サブアプリケーションシミュレータを介して、サブアプリケーション開発者用ツールのシミュレータ表示領域で、現在開発されているサブアプリケーションがサブアプリケーション実行環境に基づいて第2メインアプリケーションで実行されるときに表示されるインターフェースをシミュレートするステップと、サブアプリケーションシミュレータに対するプリセットのシミュレーション動作をセンシングしたことに応答して、サブアプリケーションシミュレータプラグインを介して、プリセットのシミュレーション動作に対応するシミュレーションインターフェースを生成するステップと、シミュレーションインターフェースを、シミュレーション表示されているインターフェースにオーバーレイして表示するステップと、を実行させる。
一実施例では、プリセットのシミュレーション動作は、第2メインアプリケーションのシミュレーション実行動作を含み、コンピュータプログラムがプロセッサによって実行されるときに、プロセッサに、サブアプリケーションシミュレータプラグインを介して、第2メインアプリケーションをシミュレーション実行する動作をセンシングしたことに応答して、サブアプリケーションシミュレータプラグインを介して、センシングされた動作に対応する第2メインアプリケーションのインターフェースをシミュレーション表示するステップを実行させる。
一実施例では、コンピュータプログラムがプロセッサによって実行されるときに、プロセッサに、サブアプリケーション実行環境下で、サブアプリケーションシミュレータプラグインを介してサブアプリケーション開発者用ツールをセンシングするステップと、サブアプリケーション開発者用ツール内のターゲットインターフェースへの呼び出し要求をセンシングした場合、サブアプリケーションシミュレータプラグインを介して呼び出し要求を処理して、処理結果を取得するステップと、サブアプリケーション開発者用ツールを介して、処理結果をインターフェース呼び出し結果として返信するステップと、を実行させる。
一実施例では、コンピュータプログラムがプロセッサによって実行されるときに、プロセッサに、サブアプリケーション開発者用ツール内のターゲットインターフェースへの呼び出し要求をセンシングしたことに応答して、サブアプリケーションシミュレータプラグインを介して呼び出し要求をインターセプトし、サブアプリケーションシミュレータプラグインを介して呼び出し要求を処理して、処理結果を取得するステップ、または、サブアプリケーション開発者用ツール内のターゲットインターフェースへの呼び出し要求をセンシングした場合、サブアプリケーションシミュレータプラグインを介して、ターゲットインターフェースが呼び出し要求に応答して返信した結果をインターセプトし、サブアプリケーションシミュレータプラグインを介して呼び出し要求を処理して、処理結果を取得するステップを実行させる。
一実施例では、コンピュータプログラムがプロセッサによって実行されるときに、プロセッサに、サブアプリケーション実行環境下で、サブアプリケーションシミュレータプラグインを介してサブアプリケーション開発者用ツールをセンシングするステップと、サブアプリケーション開発者用ツールでのターゲットイベントの発生をセンシングしたことに応答して、サブアプリケーションシミュレータプラグインを介してターゲットイベントをインターセプトするステップと、サブアプリケーションシミュレータプラグインを介して、ターゲットイベントに対応する処理を実行するステップと、サブアプリケーションシミュレータプラグインが、ターゲットイベントに対応する処理を実行した後、サブアプリケーション開発者用ツールを介してターゲットイベントに従ってシステムイベントをトリガするステップと、を実行させる。
一実施例では、構成ファイルは、第2メインアプリケーションのサブアプリケーション基本ライブラリバージョンに関する情報を含み、コンピュータプログラムがプロセッサによって実行されるときに、プロセッサに、情報に基づいて、サブアプリケーション開発者用ツールのインターフェースに、基本ライブラリバージョンオプションのセットを表示するステップと、セットから選択されたターゲット基本ライブラリバージョンオプションを取得するステップと、サブアプリケーション開発者用ツールを介して、サブアプリケーションシミュレータプラグインの構成ファイルから、ターゲット基本ライブラリバージョンオプションに対応するターゲットサブアプリケーション基本ライブラリを取得するステップと、現在のサブアプリケーション実行環境を、ターゲットサブアプリケーション基本ライブラリをロードすることによって作成されたサブアプリケーション実行環境に切り替えるステップと、を実行させる。
なお、本願の各実施例における「第1」、「第2」、および「第3」という用語は、区別のためにのみ使用され、サイズ、順序、および従属関係を限定するために使用されるものではない。
本出願の各実施例における各ステップは、必ずしもステップ番号によって示される順序で順番に実行されるとは限らないことを理解されたい。本明細書で明記されていない限り、これらのステップの実行は厳密な順序に限定されず、これらのステップは他の順序で実行できる。また、各実施例のステップの少なくとも一部は、複数のサブステップまたは複数の段階を含むことができる。これらのサブステップまたは段階は、必ずしも同時に実行される必要はなく、異なる時間に実行されてもよい。これらのサブステップまたは段階の実行順序も、必ずしも順次に実行される必要はなく、他のステップ、または他のステップのサブステップまたは段階の少なくとも一部と、順番にまたは交互に実行できる。
当業者なら自明であるが、上述の実施例における各方法において、その全部又は一部のプロセスが、関連のハードウェアに、コンピュータプログラムによる命令で、実行されることができる。前記プログラムは、コンピュータ可読記憶媒体に記憶されてもよく、当該プログラムが実行されるときに、上述した各方法の実施例におけるプロセスを実行することができる。ここで、本願の各実施例で任意引用するメモリ、ストレージ、データベースまたは他の媒体は、すべて不揮発性および/または揮発性メモリを含み得る。不揮発性メモリは、読み取り専用メモリ(ROM)、プログラム可能な読み取り専用メモリ(PROM)、電気的なプログラムが可能なROM(EPROM)、電気的な消去/プログラムが可能なROM(EEPROM)またはフラッシュメモリを含んでもよい。揮発性メモリは、ランダムアクセスメモリ(RAM)または外部キャッシュメモリを含んでもよい。限定的ではない例として、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、同期DRAM(SDRAM)、ダブルデータレートSDRAM(DDRSDRAM)、拡張型SDRAM(ESDRAM)、同期接続(Synchlink)DRAM(SLDRAM)、メモリバス(Rambus)ダイレクトRAM(RDRAM)、ダイレクトメモリバスダイナミックRAM(DRDRAM)、およびメモリバス(Rambus)ダイナミックRAM(RDRAM)など、様々な形のRAMが利用可能であり得る。
上記の実施例の各技術的特徴は、任意に組み合わせることができ、説明を簡潔にするために、上記の実施例における各技術的特徴のすべての可能な組み合わせについては説明されていないが、これらの技術的特徴の組み合わせに矛盾がない限り、すべて本明細書の範囲に含まれると見なすべきである。
上述の実施例は、本出願のいくつかの実施形態のみを表し、それらの説明は、より具体的かつ詳細であるが、本出願の保護範囲を限定するものとして解釈されるべきではない。当業者にとって、本出願の原理から逸脱することなく、いくつかの改善または修正を加えることもでき、これらの改善及び修正も本願の保護範囲と見なされるべきであることに留意されたい。したがって、本出願の保護範囲は、添付の特許請求の範囲を基準とすべきである。