(57)【要約】  本発明によると、開発者に集積されたクロスプラットフォームアプリ開発環境を提供し、開発者は単一の集積開発環境を使用して１セットのコード、即ち１種又は複数種類の端末オペレーティングシステムでの互換性を持つコードを開発すれば、異なる端末オペレーティングシステムで実行できるアプリをコンパイルすることができ、また、異なる端末とシミュレータでデバッグを行うこともでき、１セットのアプリコードを異なる端末環境で実行できる効果を達成し、大量の符号化及び異なる環境でのコンパイル・デバッグの時間を節約でき、また、複数の開発者による同時のオンライン開発・コンパイル・デバッグをサポートする。
2015534688.tif 000002
【特許請求の範囲】
【請求項１】
１種又は複数種類の端末オペレーティングシステムでの互換性を持つとともに、アプリを実現するためのコードを取得することと、
複数種類の異なる端末オペレーティングシステムのコンパイル環境から１種又は複数種類のコンパイル環境を選択して前記コードにコンパイルを行うことと、
前記１種又は複数種類のコンパイル環境に対応するデバッグ環境において、コンパイルされた前記コードにデバッグを行うことと、を含むアプリの開発・コンパイル・デバッグ方法。
【請求項２】
コードを取得することは、
前記アプリのために、１種又は複数種類の端末オペレーティングシステムでの互換性を持つコードフレームワークを生成することと、
前記コードフレームワークに基づいて編集して得たコードを取得することと、を含む請求項１に記載の方法。
【請求項３】
複数種類の異なる端末オペレーティングシステムのコンパイル環境から１種又は複数種類のコンパイル環境を選択して前記コードにコンパイルを行うことは、
前記コードにコンパイルを行う旨の第１のコンパイル要求を受信することと、
受信した一つ又は複数のコンパイル要求に負荷分散を行った後、前記第１のコンパイル要求に基づいて、前記コードにコンパイルを行うことと、を含み、
前記一つ又は複数のコンパイル要求に前記第１のコンパイル要求が含まれている請求項１に記載の方法。
【請求項４】
前記コードにコンパイルを行う旨の第１のコンパイル要求を受信した後、
リソースが全部使用されたと確定すると、受信した一つ又は複数のコンパイル要求の序列を決めることを更に含む請求項３に記載の方法。
【請求項５】
複数種類の異なる端末オペレーティングシステムのコンパイル環境から１種又は複数種類のコンパイル環境を選択して前記コードにコンパイルを行った後、
コンパイル情報と結果をフィードバックすることを更に含む請求項１に記載の方法。
【請求項６】
前記コンパイル環境に対応するデバッグ環境は、複数種類の異なる端末オペレーティングシステムのデバッグ環境、複数種類の端末実機のデバッグ環境の中の少なくとも一つを含み、
各種の端末オペレーティングシステムそれぞれは一つ又は複数のコンパイル環境、及び対応する一つ又は複数のデバッグ環境を提供し、
前記複数種類の異なる端末オペレーティングシステムのデバッグ環境はシミュレータによって実現される請求項１に記載の方法。
【請求項７】
前記１種又は複数種類のコンパイル環境に対応するデバッグ環境においてコンパイルされた前記コードにデバッグを行うことは、
複数種類の異なる端末オペレーティングシステムのデバッグ環境のうち、前記１種又は複数種類のコンパイル環境に対応するシミュレータデバッグ環境を選択して、コンパイルされた前記コードにデバッグを行うことと、
複数種類の端末実機のデバッグ環境のうち、前記１種又は複数種類のコンパイル環境に対応する端末実機デバッグ環境を選択して、コンパイルされた前記コードにデバッグを行うこととの中の少なくとも一つを含む請求項６に記載の方法。
【請求項８】
複数種類の異なる端末オペレーティングシステムのデバッグ環境のうち、前記１種又は複数種類のコンパイル環境に対応するシミュレータデバッグ環境を選択して、コンパイルされた前記コードにデバッグを行うことは、
前記コードにデバッグを行う旨の第１のシミュレータによるデバッグの実行要求を受信することと、
受信した一つ又は複数のシミュレータによるデバッグの実行要求に負荷分散を行った後、前記第１のシミュレータによるデバッグの実行要求に基づいて前記コードにデバッグを行うことと、を含み、
前記一つ又は複数のシミュレータによるデバッグの実行要求に前記第１のシミュレータによるデバッグの実行要求が含まれている請求項７に記載の方法。
【請求項９】
前記コードにデバッグを行う旨の第１のシミュレータによるデバッグの実行要求を受信した後、
前記１種又は複数種類のコンパイル環境に対応するシミュレータデバッグ環境のモニタリングと統計を行うことを更に含む請求項８に記載の方法。
【請求項１０】
複数種類の端末実機のデバッグ環境のうち、前記１種又は複数種類のコンパイル環境に対応する端末実機デバッグ環境を選択して、コンパイルされた前記コードにデバッグを行うことは、
前記コードにデバッグを行う旨の第１の端末によるデバッグの実行要求を受信することと、
受信した一つ又は複数の端末によるデバッグの実行要求に負荷分散を行った後、前記第１の端末によるデバッグの実行要求に基づいて前記コードにデバッグを行うことと、を含み、
前記一つ又は複数の端末によるデバッグの実行要求に前記第１の端末によるデバッグの実行要求が含まれている請求項７に記載の方法。
【請求項１１】
前記コードにデバッグを行う旨の第１の端末によるデバッグの実行要求を受信した後、
前記１種又は複数種類のコンパイル環境に対応する端末実機デバッグ環境のモニタリングと統計を行うことを更に含む請求項１０に記載の方法。
【請求項１２】
前記コードにデバッグを行う旨の第１のシミュレータによるデバッグの実行要求を受信した後、
シミュレータリソースプールの現在使用状況に基づいて、シミュレータが全部使用されたと確定すると、受信した一つ又は複数のシミュレータによるデバッグの実行要求の序列を決めることを更に含み、
前記コードにデバッグを行う旨の第１の端末によるデバッグの実行要求を受信した後、
端末実機が全部使用されたと確定すると、受信した一つ又は複数の端末によるデバッグの実行要求の序列を決めることを更に含む請求項８又は１０に記載の方法。
【請求項１３】
複数種類の異なる端末オペレーティングシステムのデバッグ環境のうち、前記１種又は複数種類のコンパイル環境に対応するシミュレータデバッグ環境を選択して、コンパイルされた前記コードにデバッグを行った後、
シミュレータデバッグ情報と結果をフィードバックすることを更に含み、
複数種類の端末実機のデバッグ環境のうち、前記１種又は複数種類のコンパイル環境に対応する端末実機デバッグ環境を選択して、コンパイルされた前記コードにデバッグを行った後、
端末デバッグ情報と結果をフィードバックすることを更に含む請求項７に記載の方法。
【請求項１４】
前記１種又は複数種類のコンパイル環境は、リソースプールの使用状況に応じて自動的に割り当てられるものである請求項１乃至１３の中のいずれかに記載の方法。
【請求項１５】
１種又は複数種類の端末オペレーティングシステムでの互換性を持つとともに、アプリを実現するためのコードを取得するように構成されている取得モジュールと、
複数種類の異なる端末オペレーティングシステムのコンパイル環境から１種又は複数種類のコンパイル環境を選択して前記コードにコンパイルを行うように構成されているコンパイルモジュールと、
前記１種又は複数種類のコンパイル環境に対応するデバッグ環境において、コンパイルされた前記コードにデバッグを行うように構成されているデバッグモジュールと、を含むアプリの開発・コンパイル・デバッグ装置。
【請求項１６】
前記取得モジュールは、
前記アプリのために、１種又は複数種類の端末オペレーティングシステムでの互換性を持つコードフレームワークを生成するように構成されている生成ユニットと、
前記コードフレームワークに基づいて編集して得たコードを取得するように構成されている取得ユニットと、を含む請求項１５に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信分野に関し、具体的に、アプリの開発・コンパイル・デバッグ方法及び装置に関する。
【背景技術】
【０００２】
ネットワーク技術の高速発展に伴って、移動通信ネットワークの機能もますます強化され、端末アプリは携帯電話等の通信端末にさまざまな機能を付与した。膨大な市場需要に応じて、オンライン/オフラインの商店はＡＰＰを配置することでユーザを集めている。多くのインターネット企業がＡＰＰの争いを行った後、多くの伝統的な商店も進入し始めた。モバイルインターネットによってインターネット商業モードを転覆させた傾向及び背景において、個人開発者、スタジオ、大中型アウトソーシング企業は既にＡＰＰサービスアウトソーシング市場で激しい争いを行っている。
【０００３】
スマート端末が高速に増加することによって、アプリのダウンロードも爆発的に増加している。移動分析機構Ｆｌｕｒｒｙからのデータによると、ＡＰＰアプリ市場において、中国は２０１２年の第１四半期において同期に比べ１１２６％増加していた。一方、中国市場のＡｎｄｒｏｉｄとｉＯＳ機器の活性化数量が全世界総量で占める割合も初めて美国を超えて２４％に達しており、世界第１位となって、「携帯電話第１の大国」となった。端末アプリ市場が爆発的に発展している状況下、ＡＰＰの開発アウトソーシングサービスも競争が激しい新規市場となった。
【０００４】
３Ｇ、４Ｇ、ワイファイ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ、Ｗｉｆｉと略称）等の移動通信インフラが高速に発展するに伴って、ｉＯＳ、Ａｎｄｒｏｉｄ、ＷＰ（Ｗｉｎｄｏｗｓ(登録商標)  Ｐｈｏｎｅ）システムに基づくスマート端末は迅速に普及され、ＡＰＰに代表されるクライアント端は盛んに発展し、ＡＰＰはユーザの玩具及び商店のマーケティングツールとなっている。
【０００５】
レストランで「微信（WeChat）」を用いてテーブル上のＱＲコード(登録商標)を読み取ると割引が得られ、また、退屈である時に
【０００６】
【数１】
2015534688.tif 000003
【０００７】
を開けて友たちと歌うことができ、ＡＰＰの使用はますます人々の生活の各分野に浸透している。
【０００８】
Ａｎｄｒｏｉｄ、ｉＰｈｏｎｅ携帯電話の普及及びスマート携帯電話市場への進入を準備中のＷＰ７によって、モバイルインターネットの熱度は直線状に上昇する傾向がある。高速に発展するモバイルインターネット市場において、端末アプリの開発ブームが巻き起こっており、多くの開発者がどんどん端末アプリの開発に参与している。
【０００９】
端末アプリの開発において、通常、ユーザに異なる端末プラットフォームのアプリを提供し、開発者は各異なる端末プラットフォームのために開発環境を構築し、各端末アプリは異なる端末プラットフォームで各自のコードの開発及びメンテナンスを行う必要があり、また、異なるテスト端末機器は使用率が低いのでコストを増加させてしまう。現在、異なる携帯電話システム及びたくさんの携帯電話ブランドについて、如何に、複数のプラットフォームにマッチするアプリを高速に開発しデバッグするかについて、未だ有効な解決案を提案していない。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明は、少なくとも、関連技術において異なる端末オペレーティングシステムを対象に如何に複数のプラットフォームに適応するアプリを高速に開発しデバッグするかについて未だ有効な解決案を提案していないという問題を解決できるアプリの開発・コンパイル・デバッグ方法及び装置を提供することをその目的とする。
【課題を解決するための手段】
【００１１】
本発明の実施例の一態様によると、１種又は複数種類の端末オペレーティングシステムでの互換性を持つとともに、アプリを実現するためのコードを取得することと、複数種類の異なる端末オペレーティングシステムのコンパイル環境から１種又は複数種類のコンパイル環境を選択してコードにコンパイルを行うことと、１種又は複数種類のコンパイル環境に対応するデバッグ環境において、コンパイルされたコードにデバッグを行うことと、を含むアプリの開発・コンパイル・デバッグ方法を提供する。
【００１２】
コードを取得することは、アプリのために、１種又は複数種類の端末オペレーティングシステムでの互換性を持つコードフレームワークを生成することと、コードフレームワークに基づいて編集して得たコードを取得することと、を含むことが好ましい。
【００１３】
複数種類の異なる端末オペレーティングシステムのコンパイル環境から１種又は複数種類のコンパイル環境を選択してコードにコンパイルを行うことは、コードにコンパイルを行う旨の第１のコンパイル要求を受信することと、受信した一つ又は複数のコンパイル要求に負荷分散を行った後、第１のコンパイル要求に基づいて、コードにコンパイルを行うことと、を含み、一つ又は複数のコンパイル要求に第１のコンパイル要求が含まれていることが好ましい。
【００１４】
コードにコンパイルを行う旨の第１のコンパイル要求を受信した後、上記方法は、リソースが全部使用されたと確定すると、受信した一つ又は複数のコンパイル要求の序列を決める（要求に順番を待たせる）ことを更に含むことが好ましい。
【００１５】
複数種類の異なる端末オペレーティングシステムのコンパイル環境から１種又は複数種類のコンパイル環境を選択してコードにコンパイルを行った後、上記方法はコンパイル情報と結果をフィードバックすることを更に含むことが好ましい。
【００１６】
コンパイル環境に対応するデバッグ環境は、複数種類の異なる端末オペレーティングシステムのデバッグ環境、複数種類の端末実機のデバッグ環境の中の少なくとも一つを含み、各種の端末オペレーティングシステムそれぞれは一つ又は複数のコンパイル環境、及び対応する一つ又は複数のデバッグ環境を提供し、複数種類の異なる端末オペレーティングシステムのデバッグ環境はシミュレータによって実現されることが好ましい。
【００１７】
１種又は複数種類のコンパイル環境に対応するデバッグ環境においてコンパイルされたコードにデバッグを行うことは、複数種類の異なる端末オペレーティングシステムのデバッグ環境のうち、１種又は複数種類のコンパイル環境に対応するシミュレータデバッグ環境を選択して、コンパイルされたコードにデバッグを行うことと、複数種類の端末実機のデバッグ環境のうち、１種又は複数種類のコンパイル環境に対応する端末実機デバッグ環境を選択して、コンパイルされたコードにデバッグを行うことと、を含むことが好ましい。
【００１８】
複数種類の異なる端末オペレーティングシステムのデバッグ環境のうち、１種又は複数種類のコンパイル環境に対応するシミュレータデバッグ環境を選択して、コンパイルされたコードにデバッグを行うことは、コードにデバッグを行う旨の第１のシミュレータによるデバッグの実行要求を受信することと、受信した一つ又は複数のシミュレータによるデバッグの実行要求に負荷分散を行った後、第１のシミュレータによるデバッグの実行要求に基づいてコードにデバッグを行うことと、を含み、一つ又は複数のシミュレータによるデバッグの実行要求に第１のシミュレータによるデバッグの実行要求が含まれていることが好ましい。
【００１９】
コードにデバッグを行う旨の第１のシミュレータによるデバッグの実行要求を受信した後、上記方法は、１種又は複数種類のコンパイル環境に対応するシミュレータデバッグ環境のモニタリングと統計を行うことを更に含むことが好ましい。
【００２０】
複数種類の端末実機のデバッグ環境のうち、１種又は複数種類のコンパイル環境に対応する端末実機デバッグ環境を選択して、コンパイルされたコードにデバッグを行うことは、コードにデバッグを行う旨の第１の端末によるデバッグの実行要求を受信することと、受信した一つ又は複数の端末によるデバッグの実行要求に負荷分散を行った後、第１の端末によるデバッグの実行要求に基づいてコードにデバッグを行うことと、を含み、一つ又は複数の端末によるデバッグの実行要求に第１の端末によるデバッグの実行要求が含まれていることが好ましい。
【００２１】
コードにデバッグを行う旨の第１の端末によるデバッグの実行要求を受信した後、上記方法は、１種又は複数種類のコンパイル環境に対応する端末実機デバッグ環境のモニタリングと統計を行うことを更に含むことが好ましい。
【００２２】
コードにデバッグを行う旨の第１のシミュレータによるデバッグの実行要求を受信した後、上記方法は、シミュレータリソースプールの現在使用状況に基づいて、シミュレータが全部使用されたと確定すると、受信した一つ又は複数のシミュレータによるデバッグの実行要求の序列を決める（要求に順番を待たせる）ことを更に含み、コードにデバッグを行う旨の第１の端末によるデバッグの実行要求を受信した後、方法は、端末実機が全部使用されたと確定すると、受信した一つ又は複数の端末によるデバッグの実行要求の序列を決めることを更に含むことが好ましい。
【００２３】
複数種類の異なる端末オペレーティングシステムのデバッグ環境のうち、１種又は複数種類のコンパイル環境に対応するデバッグ環境を選択して、コンパイルされたコードにデバッグを行った後、上記方法は、シミュレータデバッグ情報と結果をフィードバックすることを更に含み、複数種類の端末実機のデバッグ環境のうち、１種又は複数種類のコンパイル環境に対応するデバッグ環境を選択して、コンパイルされたコードにデバッグを行った後、上記方法は、端末デバッグ情報と結果をフィードバックすることを更に含むことが好ましい。
【００２４】
前記１種又は複数種類のコンパイル環境は、リソースプールの使用状況に応じて自動的に割り当てられるものであることが好ましい。
【００２５】
本発明の実施例の他の一態様によると、１種又は複数種類の端末オペレーティングシステムでの互換性を持つとともに、アプリを実現するためのコードを取得するように構成されている取得モジュールと、複数種類の異なる端末オペレーティングシステムのコンパイル環境から１種又は複数種類のコンパイル環境を選択してコードにコンパイルを行うように構成されているコンパイルモジュールと、１種又は複数種類のコンパイル環境に対応するデバッグ環境において、コンパイルされたコードにデバッグを行うように構成されているデバッグモジュールと、を含むアプリの開発・コンパイル・デバッグ装置を提供する。
【００２６】
取得モジュールは、アプリのために、１種又は複数種類の端末オペレーティングシステムでの互換性を持つコードフレームワークを生成するように構成されている生成ユニットと、コードフレームワークに基づいて編集して得たコードを取得するように構成されている取得ユニットと、を含むことが好ましい。
【００２７】
本発明の実施例によると、開発者に、集積されたクロスプラットフォームアプリ開発環境を提供し、開発者は単一の開発環境を使用して１セットのコード、即ち１種又は複数種類の端末オペレーティングシステムでの互換性を持つコードを開発すれば、異なる端末オペレーティングシステムで実行できるアプリをコンパイルすることができ、また、異なる端末とシミュレータでデバッグを行うこともでき、１セットのアプリコードを異なる端末環境で実行できる効果を達成し、大量の符号化及び異なる環境でのコンパイル・デバッグの時間を節約できる。つまり、複数の異なる端末オペレーティングシステムで実行できるアプリを高速に開発でき、開発効率を向上させ、開発コストを低減する目標を達成できる。そして、本発明の実施例は、さらに、複数の開発者による同時のオンライン開発・コンパイル・デバッグをサポートする。
【図面の簡単な説明】
【００２８】
ここで説明する図面は本発明を理解させるためのもので、本発明の一部を構成し、本発明における実施例と共に本発明を解釈し、本発明を不当に限定するのではない。
【図１】本発明の実施例に係るアプリの開発・コンパイル・デバッグ方法を示すフローチャートである。
【図２】本発明の実施例に係るアプリの開発・コンパイル・デバッグ装置の構成を示すブロック図である。
【図３】本発明の好適な実施例に係るアプリの開発・コンパイル・デバッグ装置の構成を示すブロック図である。
【図４】本発明の好適な実施例に係るアプリの開発・コンパイル・デバッグシステムの構成を示す図である。
【図５】本発明の好適な実施例に係るアプリの開発・コンパイル・デバッグ方法を示すフローチャートである。
【発明を実施するための形態】
【００２９】
ここで、衝突しない限り、本願の実施例及び実施例に記載の特徴を互いに組み合わせることができる。以下、図面を参照しつつ実施例を結合して本発明を説明する。
本発明の実施例においてアプリの開発・コンパイル・デバッグ方法を提供し、図１は本発明の実施例に係るアプリの開発・コンパイル・デバッグ方法を示すフローチャートで、図１に示すように、以下のステップＳ１０２〜ステップＳ１０６を含む。
コードを取得し（ステップＳ１０２）、ここで、当該コードはアプリを実現するためのもので、１種又は複数種類の端末オペレーティングシステムでの互換性を持つ。
【００３０】
複数種類の異なる端末オペレーティングシステムのコンパイル環境から１種又は複数種類のコンパイル環境を選択して、当該コードにコンパイルを行う（ステップＳ１０４）。
【００３１】
１種又は複数種類のコンパイル環境に対応するデバッグ環境において、コンパイルされたコードにデバッグを行う（ステップＳ１０６）。
【００３２】
関連技術において、異なる端末オペレーティングシステムに対し、如何に複数のプラットフォームに適応するアプリを高速に開発しデバッグするかについて未だ有効な解決案を提示していない。本発明の実施例において、開発者に集積されたクロスプラットフォームアプリ開発環境を提供し、開発者は単一の開発環境を使用して１セットのコード、即ち１種又は複数種類の端末オペレーティングシステムでの互換性を持つコードを開発すれば、異なる端末オペレーティングシステムで実行できるアプリをコンパイルすることができ、また、異なる端末とシミュレータでデバッグを行うこともでき、１セットのアプリコードを異なる端末環境で実行できる効果を達成し、大量の符号化及び異なる環境でのコンパイル・デバッグの時間を節約できる。つまり、複数の異なる端末オペレーティングシステムで実行できるアプリを高速に開発でき、開発効率を向上させ、開発コストを低減する目標を達成できる。そして、本発明の実施例は、複数の開発者による同時のオンライン開発・コンパイル・デバッグをサポートする。
【００３３】
なお、上記ステップＳ１０４において複数種類のコンパイル環境を選択してコードにコンパイルを行うことができるとは、本発明の実施例では、異なるコンパイル環境において同時にコードのコンパイルを行うことが可能であることを示す。上記実施例において、コンパイル環境の選択及びそのデバッグ環境の選択は自動的に行われ、実際の応用において、管理ユニットによって自動的な選択を実現することができる（例えば、クラウド管理によって自動選択を実現する。）。
【００３４】
ステップＳ１０２は、アプリのために、１種又は複数種類の端末オペレーティングシステムでの互換性を持つコードフレームワークを生成することと、コードフレームワークに基づいて編集して得られたコードを取得することとを含むことが好ましい。本好適な実施例において、１種又は複数種類の端末オペレーティングシステムでの互換性を持つコードフレームワークを用いて編集してコードを取得し、上記コードフレームワークも実際上コードであり、アプリを実行する最小のインスタンスである。開発者は当該コードフレームワークにてコードの修正と増加を行うことで、開発しようとするアプリに対応するコードを得ることができ、コードの取得方式は簡単で信頼性のあるものである。
【００３５】
以下、コードのコンパイル及びデバッグプロセスをそれぞれ説明する。
（１）コンパイルプロセス
ステップＳ１０４は、コードにコンパイルを行う旨の第１のコンパイル要求を受信することと、受信した一つ又は複数のコンパイル要求に負荷分散を行った後、第１のコンパイル要求に基づいて、コードにコンパイルを行うこととを含み、そのうち、一つ又は複数のコンパイル要求には第１のコンパイル要求が含まれている。本好適な実施例において、クラウド管理によって、複数のコンパイル要求を同時に受信できるので、受信した複数のコンパイル要求に負荷分散を行う必要があり、これによりネットワーク能力を向上させる。なお、第１のコンパイル要求を受信した後、リソースがすべて使用されたと確定すると、受信した一つ又は複数のコンパイル要求の序列を決める（要求に順番を待たせる）。
【００３６】
複数種類の異なる端末オペレーティングシステムのコンパイル環境から１種又は複数種類のコンパイル環境を選択してコードにコンパイルを行った後、上記方法は、コンパイル情報及び結果をフィードバックすることを更に含むことが好ましい。後続のデバッグを行うようにコンパイル結果をフィードバックする。
【００３７】
コンパイル環境に対応するデバッグ環境は、複数種類の異なる端末オペレーティングシステムのデバッグ環境、複数種類の端末実機のデバッグ環境の中の少なくとも一つを含み、そのうち、各種の端末オペレーティングシステムそれぞれは一つ又は複数のコンパイル環境及び対応する一つ又は複数のデバッグ環境を提供し、複数種類の異なる端末オペレーティングシステムのデバッグ環境はシミュレータによって実現される。
【００３８】
上記２種類のデバッグ環境の場合、それに対応するデバッグ方法は以下の通りである：複数種類の異なる端末オペレーティングシステムのデバッグ環境のうち、１種又は複数種類のコンパイル環境に対応するシミュレータデバッグ環境を選択してコンパイルされたコードにデバッグを行い（即ち、シミュレータによるデバッグ）、複数種類の端末実機のデバッグ環境のうち、１種又は複数種類の端末オペレーティングシステムのコンパイル環境に対応する端末実機デバッグ環境を選択してコンパイルされたコードにデバッグを行う（即ち、端末によるデバッグ）。
【００３９】
（２）シミュレータによるデバッグ
複数種類の異なる端末オペレーティングシステムのデバッグ環境のうち、１種又は複数種類のコンパイル環境に対応するシミュレータデバッグ環境を選択してコンパイルされたコードにデバッグを行うことは、コードにデバッグを行う旨の第１のシミュレータによるデバッグの実行要求を受信することと、受信した一つ又は複数のシミュレータによるデバッグの実行要求に負荷分散を行った後、第１のシミュレータによるデバッグの実行要求に基づいて、コードにデバッグを行うこととを含み、そのうち、一つ又は複数のシミュレータによるデバッグの実行要求に第１のシミュレータによるデバッグの実行要求が含まれている。本好適な実施例において、全てのサービスが既に占められた場合、受信した複数のシミュレータによるデバッグの実行要求の序列を決める必要があり、これにより、処理効率を向上させる。
【００４０】
コードにデバッグを行う旨の第１のシミュレータによるデバッグの実行要求を受信した後、上記方法は、１種又は複数種類のコンパイル環境に対応するシミュレータデバッグ環境のモニタリングと統計を行うことを更に含むことが好ましい。
【００４１】
なお、シミュレータは自動的に割り当てられ、シミュレータリソースプールの使用状況に応じて割り当てられ、全部が使用された場合、受信したシミュレータによるデバッグの実行要求の序列を決める必要があり、以下のステップで実現されることができる：コードにデバッグを行う旨の第１のシミュレータによるデバッグの実行要求を受信した後、シミュレータリソースプールの現在使用状況に基づいてシミュレータが全部使用されたと確定すると、受信した一つ又は複数のシミュレータによるデバッグの実行要求の序列を決める（要求に順番を待たせる）。
【００４２】
複数種類の異なる端末オペレーティングシステムのデバッグ環境のうち、１種又は複数種類のコンパイル環境に対応するデバッグ環境を選択してコンパイルされたコードにデバッグを行った後、上記方法は、シミュレータデバッグ情報及び結果をフィードバックすることを更に含むことが好ましい。
【００４３】
（３）端末によるデバッグ
複数種類の端末実機のデバッグ環境のうち、１種又は複数種類のコンパイル環境に対応するデバッグ環境を選択してコンパイルされたコードにデバッグを行うことは、コードにデバッグを行う旨の第１の端末によるデバッグの実行要求を受信することと、受信した一つ又は複数の端末によるデバッグの実行要求に負荷分散を行った後、第１の端末によるデバッグの実行要求に基づいて、コードにデバッグを行うこととを含み、そのうち、一つ又は複数の端末によるデバッグの実行要求に第１の端末によるデバッグの実行要求が含まれている。
【００４４】
コードにデバッグを行う旨の第１の端末によるデバッグの実行要求を受信した後、上記方法は、１種又は複数種類のコンパイル環境に対応する端末実機デバッグ環境のモニタリングと統計を行うことを更に含むことが好ましい。
【００４５】
コードにデバッグを行う旨の第１の端末によるデバッグの実行要求を受信した後、上記方法は、端末実機が全部使用されたと確定すると、受信した一つ又は複数の端末によるデバッグの実行要求の序列を決める（要求に順番を待たせる）ことを更に含む。
【００４６】
複数種類の異なる端末オペレーティングシステムのデバッグ環境のうち、１種又は複数種類のコンパイル環境に対応するデバッグ環境を選択してコンパイルされたコードにデバッグを行った後、上記方法は、端末デバッグ情報及び結果をフィードバックすることを更に含むことが好ましい。
【００４７】
上記選択した１種又は複数種類のコンパイル環境はリソースプールの使用状況に応じて自動的に割り当てられることが好ましい。
【００４８】
なお、上記シミュレータによるデバッグと端末実機によるデバッグは前後順がなく、必ず同時に存在しなければならないものではなく、例えば、端末実機によるデバッグのみを行っても良いし、又は、シミュレータによるデバッグを行ってから端末実機によるデバッグを行っても良い。ここで、端末実機によるデバッグは、コンパイルしてパケット化したアプリを具体的な端末機器にインストールすることである。シミュレータによるデバッグを行ってから端末実機によるデバッグを行う場合、端末実機において、コンパイルしてデバッグしたアプリに再びデバッグを行う。
【００４９】
本発明の実施例によると、アプリの開発・コンパイル・デバッグ装置を提供し、当該装置は上記アプリの開発・コンパイル・デバッグ方法の実現に用いられることができる。図２は、本発明の実施例に係るアプリの開発・コンパイル・デバッグ装置の構成を示すブロック図で、図２に示すように、当該装置は、取得モジュール２２と、コンパイルモジュール２４と、デバッグモジュール２６と、を含む。
【００５０】
取得モジュール２２はコードを取得するように構成されており、そのうち、当該コードはアプリを実現するためのものであって、１種又は複数種類の端末オペレーティングシステムでの互換性を持ち、コンパイルモジュール２４は取得モジュール２２に接続され、複数種類の異なる端末オペレーティングシステムのコンパイル環境から１種又は複数種類のコンパイル環境を選択して、取得モジュール２２が取得したコードにコンパイルを行うように構成されており、デバッグモジュール２６はコンパイルモジュール２４に接続され、１種又は複数種類のコンパイル環境に対応するデバッグ環境において、コンパイルモジュール２４によってコンパイルされたコードにデバッグを行う。
【００５１】
取得モジュール２２は、アプリのために、１種又は複数種類の端末オペレーティングシステムでの互換性を持つコードフレームワークを生成するように構成されている生成ユニットと、生成ユニットに接続され、コードフレームワークに基づいて編集して得たコードを取得するように構成されている取得ユニットと、を含むことが好ましい。
【００５２】
コンパイルモジュール２４は、コードにコンパイルを行う旨の第１のコンパイル要求を受信するように構成されている受信ユニットと、受信ユニットに接続され、受信した一つ又は複数のコンパイル要求に負荷分散を行った後、第１のコンパイル要求に基づいて、コードにコンパイルを行うように構成されているコンパイルユニットと、を含み、そのうち、一つ又は複数のコンパイル要求に第１のコンパイル要求が含まれている。
【００５３】
コンパイルモジュール２４は、受信ユニットに接続され、リソースが全部使用されたと確定した場合、受信した一つ又は複数のコンパイル要求の序列を決めるように構成されている序列決めユニットを更に含むことが好ましい。
【００５４】
上記装置は、コンパイルモジュール２４に接続され、コンパイル情報及び結果をフィードバックするように構成されているフィードバックモジュールを更に含むことが好ましい。
【００５５】
コンパイル環境に対応するデバッグ環境は、複数種類の異なる端末オペレーティングシステムのデバッグ環境、複数種類の端末実機のデバッグ環境の中の少なくとも一つを含み、そのうち、各種の端末オペレーティングシステムそれぞれは一つ又は複数のコンパイル環境及び対応する一つ又は複数のデバッグ環境を提供し、複数種類の異なる端末オペレーティングシステムのデバッグ環境はシミュレータによって実現されることが好ましい。
【００５６】
図３に示すように、デバッグモジュール２６は、複数種類の異なる端末オペレーティングシステムのデバッグ環境のうち、１種又は複数種類のコンパイル環境に対応するデバッグ環境を選択してコンパイルされたコードにデバッグを行うように構成されている第１のデバッグユニット２６２と、複数種類の端末実機のデバッグ環境のうち、１種又は複数種類のコンパイル環境に対応するデバッグ環境を選択して、コンパイルされたコードにデバッグを行うように構成されている第２のデバッグユニット２６４と、を含む。
【００５７】
第１のデバッグユニット２６２は、コードにデバッグを行う旨の第１のシミュレータによるデバッグの実行要求を受信するように構成されている第１の受信サブユニットと、受信した一つ又は複数のシミュレータによるデバッグの実行要求に負荷分散を行った後、第１のシミュレータによるデバッグの実行要求に基づいてコードにデバッグを行うように構成されている第１のデバッグサブユニットと、を含み、そのうち、一つ又は複数のシミュレータによるデバッグの実行要求に第１のシミュレータによるデバッグの実行要求が含まれている。デバッグモジュール２６は、第１のデバッグユニット２６２に接続され、シミュレータデバッグ情報及び結果をフィードバックするように構成されている第１のフィードバックユニットを更に含むことが好ましい。
【００５８】
第１のデバッグユニット２６２は、第１の受信サブユニットに接続され、コードにデバッグを行う旨の第１のシミュレータによるデバッグの実行要求を受信した後、１種又は複数種類のコンパイル環境に対応するシミュレータデバッグ環境のモニタリングと統計を行うように構成されている第１のモニタリング・統計サブユニットを更に含む。
【００５９】
第１のデバッグユニット２６２は、第１の受信サブユニットに接続され、シミュレータリソースプールの現在使用状況に基づいて、シミュレータが全部使用されたと確定した場合、受信した一つ又は複数のシミュレータによるデバッグの実行要求の序列を決めるように構成されている第１の序列決めサブユニットを更に含む。
【００６０】
第２のデバッグユニット２６４は、コードにデバッグを行う旨の第１の端末によるデバッグの実行要求を受信するように構成されている第２の受信サブユニットと、受信した一つ又は複数の端末によるデバッグの実行要求に負荷分散を行った後、第１の端末によるデバッグの実行要求に基づいてコードにデバッグを行うように構成されている第２のデバッグサブユニットと、を含み、そのうち、一つ又は複数の端末によるデバッグの実行要求に第１の端末によるデバッグの実行要求が含まれている。デバッグモジュール２６は、第２のデバッグユニット２６４に接続され、端末デバッグ情報及び結果をフィードバックするように構成されている第２のフィードバックユニットを更に含むことが好ましい。
【００６１】
第２のデバッグユニット２６４は、第２の受信サブユニットに接続され、１種又は複数種類のコンパイル環境に対応する端末実機デバッグ環境のモニタリングと統計を行うように構成されている第２のモニタリング・統計サブユニットをさらに含む。
【００６２】
第２のデバッグユニット２６４は、第２の受信サブユニットに接続され、端末実機が全部使用されたと確定した場合、受信した一つ又は複数の端末によるデバッグの実行要求の序列を決めるように構成されている第２の序列決めサブユニットを更に含む。
【００６３】
なお、装置実施例で説明したアプリの開発・コンパイル・デバッグ装置は上述した方法実施例に対応し、その具体的な実現プロセスは方法実施例で詳しく説明したので、ここでは説明を省略する。
【００６４】
本発明の実施例の技術案とその実現方法が更に明確になるように、以下、好適な実施例を結合してその実現プロセスを詳しく説明する。
好適な実施例において、アプリの開発・コンパイル・デバッグシステムを提供し、図４は、本発明の好適な実施例に係るアプリの開発・コンパイル・デバッグシステムの構成を示す図で、図４に示すように、当該システムは、集積開発環境ユニット４２と、クラウド管理ユニット４４と、コンパイル・デバッグクラウドユニット４６と、端末クラウドユニット４８と、を含む。以下、各ユニットをそれぞれ詳しく説明する。
【００６５】
集積開発環境ユニット４２は、クロスプラットフォームコードフレームワーク生成モジュール４２２と、クロスプラットフォームコード編集モジュール４２４と、コンパイルモジュール４２６と、実行デバッグモジュール４２８と、を含む。集積開発環境ユニット４２は開発者に対話型インターフェースを提供し、クロスプラットフォームコードフレームワーク生成モジュール４２によって端末アプリのためにコードフレームワークを生成し、同時に、クロスプラットフォームコード編集モジュール４２４によってコードファイルの編集をサポートし、また、コンパイルモジュール４２６と実行デバッグモジュール４２８によってクラウド管理ユニット４４に要求を発する。クロスプラットフォームコードフレームワーク生成モジュール４２２は、クロスプラットフォームコード編集モジュール４２４、コンパイルモジュール４２６及び実行デバッグモジュール４２８に接続され、デバッグ要求のコンパイルと実行を行うように構成されている。
【００６６】
クラウド管理ユニット４４は、集積開発環境ユニット４２のコンパイル・デバッグ要求を受信して応答し、コンパイル、シミュレータクラウド（仮想マシン）環境及び端末クラウドのスケジューリング、コンパイルインターフェースの呼び出しと返送、デバッグ命令の送信と結果のフィードバックを提供し、また、コンパイル・デバッグ要求及び情報をコンパイル・デバッグクラウドユニット４６に送信し、一方、端末によるテスト要求及び情報は端末クラウドユニット４８に送信される。クラウド管理ユニット４４は、インターフェースサービスモジュール４４２と、クラウドスケジューリングモジュール４４４と、負荷分散モジュール４４６と、モニタリング・統計モジュール４４８と、を含む。そのうち、インターフェースサービスモジュール４４２は負荷分散モジュール４４６とクラウドスケジューリングモジュール４４４に接続され、クラウドコンパイル又は端末デバッグ要求を発し、結果のフィードバックを行うように構成され、同時に、負荷分散モジュール４４６によってネットワーク機器とサーバの帯域幅を広くし、スループットを上げ、ネットワークデータ処理能力を高め、ネットワークの柔軟性及び利用可能性を向上させる。インターフェースサービスモジュール４４２はモニタリング・統計モジュール４４８に接続され、リアルタイムのモニタリングを行う。
【００６７】
コンパイル・デバッグクラウドユニット４６（上記コンパイルモジュール２４と第１のデバッグユニット２６２の機能を実現する）は、コンパイル環境４６２とシミュレータ４６４とを含み、即ち、複数種類の異なる端末オペレーティングシステムのコンパイル環境、デバッグ環境を含み、各種の端末オペレーティングシステムそれぞれは１〜Ｎ個のコンパイル環境を提供し、各種の端末それぞれは１〜Ｎ個のシミュレータを提供し、仮想マシンの解決策が採用され、同一のホストに複数の仮想マシンがインストールされる。クラウド管理ユニット４６によって、ハードウェア能力を最大限に発揮し、同時に複数のアプリのコンパイル及びデバッグを行うことができ、クラウド管理ユニット４６によるコードのコンパイル・デバッグ要求を受信した後、端末アプリのコンパイル及びデバッグを発し、また、結果をクラウド管理ユニット４６にフィードバックする。そのうち、コンパイル環境４６２はシミュレータ４６４に接続され、コードにコンパイルを行うことができ、シミュレータ４６４はコードにデバッグを行うことができる。
【００６８】
端末クラウドユニット４８（上記第２のデバッグユニット２６４の機能を実現する）は、複数種類の端末機器、即ち、複数種類の端末実機のデバッグ環境を提供し、端末のスケジューリング・呼び出しを提供し、スクリーンがクラウド管理ユニット４４の端末デバッグ要求を受信した後、応答状況をクラウド管理ユニット４４に返送してスケジューリングと呼び出しを行うようにする。
【００６９】
図５は、本発明の好適な実施例に係るアプリの開発・コンパイル・デバッグ方法を示すフローチャートであり、図５に示すように、上記システムに基づくアプリの開発・コンパイル・デバッグ方法は以下の具体的なステップを含む。
開発者は、アプリを作成し、アプリケーションテンプレートを選択し、メッセージを集積開発環境ユニット４２のクロスプラットフォームコードフレームワーク生成モジュール４２２に送信し、クロスプラットフォームコードフレームワーク生成モジュール４２２によってクロスプラットフォームコードフレームワークが生成される（ステップＳ５０２）。
【００７０】
集積開発環境ユニット４２でクロスプラットフォームコードフレームワークの生成が完成された後、開発者に示す（ステップＳ５０４）。
【００７１】
クロスプラットフォームコード編集モジュール４２４を用いてクロスプラットフォームコードに編集・設計を行う（ステップＳ５０６）。
【００７２】
クロスプラットフォームコードの編集・設計を完成して記憶する（ステップＳ５０８）。
【００７３】
呼び出し・コンパイルモジュール４２６がコンパイル要求情報を発し、要求情報をクラウド管理ユニット４４に送信する（ステップＳ５１０）。
【００７４】
集積開発環境ユニット４２から送信されたコンパイル要求情報が、クラウド管理ユニット４４のインターフェースサービスモジュール４４２によって受信される（ステップＳ５１２）。
【００７５】
インターフェースサービスモジュール４４２が情報を送受信してモニタリング・統計モジュール４４８をトリガーし、情報のモニタリングと統計を行う（ステップＳ５１４）。
【００７６】
負荷分散モジュール４４６に入り、ネットワーク能力を向上させる（ステップＳ５１６）。
【００７７】
ステップＳ５１４とステップＳ５１６は前後順がなく、即ち、ステップＳ５１６をステップＳ５１２の後に実行し、クラウド管理ユニット４４にアクセスする際に優先的に負荷分散を行っても良い。
【００７８】
負荷分散モジュール４４６に入ってからクラウドスケジューリングモジュール４４４を実行して、コンパイル・デバッグクラウドユニット４６を呼び出す（ステップＳ５１８）。
【００７９】
コンパイル要求は、コンパイル・デバッグクラウドユニット４６中のコンパイル環境４６２を呼び出してコンパイルする（ステップＳ５２０）。
【００８０】
コンパイル情報と結果フィードバックを、クラウド管理ユニット４４のインターフェースサービスモジュール４４２を介して集積開発環境ユニット４２にフィードバックして開発者に示す（ステップＳ５２２）。
【００８１】
コンパイルに成功し、開発者は実行デバッグモジュール４２８を呼び出してシミュレータによるデバッグの実行要求を発し、要求情報をクラウド管理ユニット４４に送信する（ステップＳ５２４）。
【００８２】
集積開発環境ユニット４２から送信されたデバッグ実行要求情報はクラウド管理ユニット４４中のインターフェースサービスモジュール４４２によって受信される（ステップＳ５２６）。
【００８３】
インターフェースサービスモジュール４４２は情報を送受信してモニタリング・統計モジュール４４８をトリガーし、情報のモニタリングと統計を行う（ステップＳ５２８）。
【００８４】
負荷分散モジュール４４６に入り、ネットワーク能力を向上させる（ステップＳ５３０）。
【００８５】
ステップＳ５２８とステップＳ５３０は前後順がなく、即ち、ステップＳ５３０をステップＳ５２６の後に実行し、クラウド管理ユニット４４にアクセスする際に優先的に負荷分散を行っても良い。
【００８６】
負荷分散モジュール４４６に入ってからクラウドスケジューリングモジュール４４４を実行し、コンパイル・デバッグクラウドユニット４６を呼び出す（ステップＳ５３２）。
【００８７】
デバッグ要求情報を実行し、コンパイル・デバッグクラウドユニット４６中のシミュレータ４６４を呼び出してデバッグを行う（ステップＳ５３４）。
【００８８】
デバッグ情報と結果フィードバックを、クラウド管理ユニット４４のインターフェースサービスモジュール４４２を介して集積開発環境ユニット４２にフィードバックして開発者に示す（ステップＳ５３６）。
【００８９】
コンパイルに成功し、開発者は、実行デバッグモジュール４２８を呼び出して端末によるデバッグの実行要求を発し、要求情報をクラウド管理ユニット４４に送信する（ステップＳ５３８）。
なお、ステップＳ５３８とステップＳ５２４は前後順がない。即ち、端末によるデバッグを行ってからシミュレータによるデバッグを行っても良い。
【００９０】
集積開発環境ユニット４２から送信されるデバッグ実行要求情報はクラウド管理ユニット４４中のインターフェースサービスモジュール４４２によって受信される（ステップＳ５４０）。
【００９１】
インターフェースサービスモジュール４４２は情報を送受信してモニタリング・統計モジュール４４８をトリガーし、情報のモニタリングと統計を行う（ステップＳ５４２）。
【００９２】
負荷分散モジュール４４６に入り、ネットワークの能力を向上させる（ステップＳ５４４）。
【００９３】
ステップＳ５４２とステップＳ５４４は前後順がなく、即ち、ステップＳ５４４がステップＳ５４０の後に行われ、クラウド管理ユニット４４にアクセスする際に優先的に負荷分散が行われても良い。
【００９４】
負荷分散モジュール４４６に進入してからクラウドスケジューリングモジュール４４４を実行し、コンパイル・デバッグクラウドユニット４６を呼び出す（ステップＳ５４６）。
【００９５】
デバッグ要求情報を実行して、端末クラウドユニット４８の端末機器を呼び出してデバッグを行う（ステップＳ５４８）。
【００９６】
デバッグ情報と結果フィードバックをクラウド管理ユニット４４のインターフェースサービスモジュール４４２を介して集積開発環境ユニット４２にフィードバックして開発者に示す（ステップＳ５５０）。
【００９７】
なお、フローチャートに示すステップは、例えば１セットのコンピュータ実行可能なコマンドのコンピュータシステムで実行することができ、また、フローチャートに論理順を示しているが、場合によって、図に示したステップ又は説明したステップは他の順で実行することも可能である。
【００９８】
上述のように、本発明の上記実施例によると、アプリの開発・コンパイル・デバッグ方法及び装置を提供する。本発明の実施例によれば、開発者に集積されたクロスプラットフォームアプリ開発環境を提供し、開発者は単一の開発環境を使用して１セットのコード、即ち１種又は複数種類の端末オペレーティングシステムでの互換性を持つコードを開発すれば、異なる端末オペレーティングシステムで実行できるアプリをコンパイルすることができ、また、異なる端末とシミュレータでデバッグを行うこともでき、１セットのアプリコードを異なる端末環境で実行できる効果を達成し、大量の符号化及び異なる環境でのコンパイル・デバッグの時間を節約できる。つまり、複数の異なる端末オペレーティングシステムで実行できるアプリを高速に開発でき、開発効率を向上させ、開発コストを低減する目標を達成できる。そして、本発明の実施例は、複数の開発者による同時のオンライン開発・コンパイル・デバッグをサポートする。
【００９９】
当業者にとって、上記の本発明の各モジュール又は各ステップは汎用の演算装置によって実現することができ、単独の演算装置に集中させることができるし、複数の演算装置からなるネットワークに分布させることもでき、オプションとして、演算装置が実行可能なプログラムコードによって実現することもできるので、それらを記憶装置に記憶させて演算装置によって実行することができ、或いはそれぞれの集積回路モジュールとして作製し、或いはそのうちの複数のモジュール又はステップを単一の集積回路モジュールとして作製して実現することができることは明らかなことである。このように、本発明の実施例は如何なる特定のハードウェアとソフトウェアの結合にも限定されない。
【０１００】
以上は、本発明の好適な実施例に過ぎず、本発明を限定するものではない。当業者であれば本発明に様々な修正や変形が可能である。本発明の精神や原則内での如何なる修正、置換、改良などは本発明の保護範囲内に含まれる。
【０１０１】
産業上の利用可能性
本発明の実施例に係る技術案はＡＰＰ分野に適用でき、開発者に集積されたクロスプラットフォームアプリ開発環境を提供し、開発者は単一の開発環境を使用して１セットのコード、即ち１種又は複数種類の端末オペレーティングシステムでの互換性を持つコードを開発すれば、異なる端末オペレーティングシステムで実行できるアプリをコンパイルすることができ、また、異なる端末とシミュレータでデバッグを行うこともでき、１セットのアプリコードを異なる端末環境で実行できる効果を達成し、大量の符号化及び異なる環境でのコンパイル・デバッグの時間を節約できる。つまり、複数の異なる端末オペレーティングシステムで実行できるアプリを高速に開発でき、開発効率を向上させ、開発コストを低減する目標を達成できる。そして、本発明の実施例は、複数の開発者による同時のオンライン開発・コンパイル・デバッグをサポートする。
【符号の説明】
【０１０２】
２２  取得モジュール
２４  コンパイルモジュール
２６  デバッグモジュール
４２  集積開発環境ユニット
４４  クラウド管理ユニット
４６  コンパイル・デバッグクラウドユニット
４８  端末クラウドユニット
２６２  第１のデバッグユニット
２６４  第２のデバッグユニット
４２２  クロスプラットフォームコードフレームワーク生成モジュール
４２４  クロスプラットフォームコード編集モジュール
４２６  コンパイルモジュール
４２８  実行デバッグモジュール
４４２  インターフェースサービスモジュール
４４４  クラウドスケジューリングモジュール
４４６  負荷分散モジュール
４４８  モニタリング・統計モジュール
【図１】
2015534688.tif 000004
【図２】
2015534688.tif 000005
【図３】
2015534688.tif 000006
【図４】
2015534688.tif 000007
【図５】
2015534688.tif 000008
【国際調査報告】
2015534688.tif 000009
2015534688.tif 000010
2015534688.tif 000011
2015534688.tif 000012