(57)【要約】本願の目的は、ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する方法及び装置を提供することである。ＬｉｓｔＣｅｌｌのプロトタイプがフロントエンドにて定義される。ＬｉｓｔＣｅｌｌのプロトタイプは、ネイティブエンドにてコピーされる。ネイティブエンドは、現在のリスト提示位置に基づいて不可視のＬｉｓｔＣｅｌｌを再利用する。そのため、ＬｉｓｔＣｅｌｌのプロトタイプをフロントエンドにて定義でき、プロトタイプに基づいてネイティブエンドにてＬｉｓｔＣｅｌｌを自由に創出し、レンダリングし、再利用することができる。したがって、ハイブリッド開発においてＬｉｓｔＣｅｌｌの定義付けの柔軟性を維持できるだけでなく、ＬｉｓｔＣｅｌｌをネイティブエンドにて再利用することができ、それにより、大きなリストの提示及び操作性能が大幅に向上する。
2019510309.tif 000002
【特許請求の範囲】
【請求項１】
ハイブリッドアプリケーションのフロントエンドにて、ＬｉｓｔＣｅｌｌのプロトタイプを定義するステップと；
前記ハイブリッドアプリケーションのネイティブエンドにて、前記ＬｉｓｔＣｅｌｌの前記プロトタイプに基づいてコピーすることを通じて、前記ＬｉｓｔＣｅｌｌを取得し、前記ＬｉｓｔＣｅｌｌを再利用するステップと；を備える、
ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する方法。
【請求項２】
ＬｉｓｔＣｅｌｌのプロトタイプを定義する前記ステップは：
前記ＬｉｓｔＣｅｌｌの前記プロトタイプの構造レイアウト及びクラスを定義するステップを備える、
請求項１に記載の方法。
【請求項３】
前記ＬｉｓｔＣｅｌｌの前記プロトタイプは、単一のＬｉｓｔＣｅｌｌのプロトタイプである、
請求項１に記載の方法。
【請求項４】
前記ＬｉｓｔＣｅｌｌの前記プロトタイプに基づいてコピーすることを通じて、前記ＬｉｓｔＣｅｌｌを取得する前記ステップは：
前記ＬｉｓｔＣｅｌｌの前記プロトタイプに基づいてＬｉｓｔＣｅｌｌテンプレートを創出するステップと；
前記ＬｉｓｔＣｅｌｌテンプレートをコピーすることにより前記ＬｉｓｔＣｅｌｌを取得するステップと；
取得されたＬｉｓｔＣｅｌｌのコンテンツを前記コピーされたＬｉｓｔＣｅｌｌに記入し、前記ＬｉｓｔＣｅｌｌを表示するステップと；を備える、
請求項１乃至請求項３のいずれか１項に記載の方法。
【請求項５】
前記ＬｉｓｔＣｅｌｌテンプレートをコピーすることにより前記ＬｉｓｔＣｅｌｌを取得する前記ステップは：
前記ＬｉｓｔＣｅｌｌテンプレートの全てのサブビューをトラバースし、これらを取得するステップと；
全ての前記サブビューと前記サブビューの属性とを含むＬｉｓｔＣｅｌｌを創出するステップと；を備える、
請求項４に記載の方法。
【請求項６】
取得されたＬｉｓｔＣｅｌｌのコンテンツを前記コピーされたＬｉｓｔＣｅｌｌに記入する前記ステップは：
前記取得されたＬｉｓｔＣｅｌｌのコンテンツを、前記創出されたＬｉｓｔＣｅｌｌのそれぞれの対応するサブビューに記入するステップを備える、
請求項５に記載の方法。
【請求項７】
前記ＬｉｓｔＣｅｌｌのコンテンツは前記フロントエンドから取得される、
請求項６に記載の方法。
【請求項８】
前記ＬｉｓｔＣｅｌｌテンプレートをコピーすることにより前記ＬｉｓｔＣｅｌｌを取得する間に、コピーされるＬｉｓｔＣｅｌｌの数が、表示領域に含めて表示することができるＬｉｓｔＣｅｌｌの数に基づいて特定される、
請求項４に記載の方法。
【請求項９】
前記ＬｉｓｔＣｅｌｌを再利用する前記ステップは：
或るＬｉｓｔＣｅｌｌのコンテンツが前記表示領域の外に移動された場合、前記移動されたＬｉｓｔＣｅｌｌのコンテンツを含むＬｉｓｔＣｅｌｌを再利用可能なＬｉｓｔＣｅｌｌとしてリサイクルするステップと；
新しいＬｉｓｔＣｅｌｌのコンテンツを前記表示領域に移動すべき場合、再利用可能なＬｉｓｔＣｅｌｌが存在するかどうかを特定するステップと；
肯定である場合、前記新しいＬｉｓｔＣｅｌｌのコンテンツを前記再利用可能なＬｉｓｔＣｅｌｌに記入し、前記ＬｉｓｔＣｅｌｌを表示するステップ；又は
否定である場合、前記ＬｉｓｔＣｅｌｌテンプレートをコピーすることにより前記ＬｉｓｔＣｅｌｌを取得し、前記新しいＬｉｓｔＣｅｌｌのコンテンツを前記コピーされたＬｉｓｔＣｅｌｌに記入し、前記ＬｉｓｔＣｅｌｌを表示するステップ；とを備える、
請求項４に記載の方法。
【請求項１０】
ハイブリッドアプリケーションのフロントエンドにて、ＬｉｓｔＣｅｌｌのプロトタイプを定義するように構成された定義装置と；
前記ハイブリッドアプリケーションのネイティブエンドにて、前記ＬｉｓｔＣｅｌｌの前記プロトタイプに基づいてコピーすることを通じて前記ＬｉｓｔＣｅｌｌを取得し、前記ＬｉｓｔＣｅｌｌを再利用するように構成されたコピー・再利用装置と；
を備える、
ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する装置。
【請求項１１】
前記定義装置は、前記ＬｉｓｔＣｅｌｌの前記プロトタイプの構造レイアウト及びクラスを定義するように構成された、
請求項１０に記載の装置。
【請求項１２】
前記ＬｉｓｔＣｅｌｌの前記プロトタイプは、単一のＬｉｓｔＣｅｌｌのプロトタイプである、
請求項１０に記載の装置。
【請求項１３】
前記コピー・再利用装置は、前記ＬｉｓｔＣｅｌｌの前記プロトタイプに基づいてＬｉｓｔＣｅｌｌテンプレートを創出し、前記ＬｉｓｔＣｅｌｌテンプレートをコピーすることにより前記ＬｉｓｔＣｅｌｌを取得し、取得されたＬｉｓｔＣｅｌｌのコンテンツを前記コピーされたＬｉｓｔＣｅｌｌに記入し、前記ＬｉｓｔＣｅｌｌを表示するように構成された、
請求項１０乃至請求項１２のいずれか１項に記載の装置。
【請求項１４】
前記コピー・再利用装置は、前記ＬｉｓｔＣｅｌｌテンプレートの全てのサブビューをトラバースし、これら取得し、全ての前記サブビューと前記サブビューの属性とを含むＬｉｓｔＣｅｌｌを創出するように構成された、
請求項１３に記載の装置。
【請求項１５】
前記コピー・再利用装置は、前記取得されたＬｉｓｔＣｅｌｌのコンテンツを、前記創出されたＬｉｓｔＣｅｌｌのそれぞれの対応するサブビューに記入するように構成された、
請求項１４に記載の装置。
【請求項１６】
前記ＬｉｓｔＣｅｌｌのコンテンツは前記フロントエンドから取得される、
請求項１５に記載の装置。
【請求項１７】
前記コピー・再利用装置は、表示領域に含めて表示することができるＬｉｓｔＣｅｌｌの数に基づいて、コピーされるＬｉｓｔＣｅｌｌの数を特定するように構成された、
請求項１３に記載の装置。
【請求項１８】
前記コピー・再利用装置は、或るＬｉｓｔＣｅｌｌのコンテンツが前記表示領域の外に移動された場合、前記移動されたＬｉｓｔＣｅｌｌのコンテンツを含むＬｉｓｔＣｅｌｌを再利用可能なＬｉｓｔＣｅｌｌとしてリサイクルし；新しいＬｉｓｔＣｅｌｌのコンテンツを前記表示領域に移動すべき場合、再利用可能なＬｉｓｔＣｅｌｌが存在するかどうかを特定し；肯定である場合、前記新しいＬｉｓｔＣｅｌｌのコンテンツを、前記再利用可能なＬｉｓｔＣｅｌｌに記入し、前記ＬｉｓｔＣｅｌｌを表示し；否定である場合、前記ＬｉｓｔＣｅｌｌテンプレートをコピーすることにより前記ＬｉｓｔＣｅｌｌを取得し、前記新しいＬｉｓｔＣｅｌｌのコンテンツを、前記コピーされたＬｉｓｔＣｅｌｌに記入し、前記ＬｉｓｔＣｅｌｌを表示するように構成された、
請求項１３に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、コンピュータ分野に関し、特に、ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する方法及び装置に関する。
【背景技術】
【０００２】
ハイブリッド開発は、フロントエンド開発とネイティブ開発の両方を用いて行う、プログラムの開発である。フロントエンド開発は、ＪａｖａＳｃｒｉｐｔ（登録商標）、ＨＴＭＬ、及びＣＳＳなどの技術に基づいて行う、ウェブページ及びウェブアプリケーションの開発である。ネイティブ開発は、スマートデバイス、例えば携帯電話、のローカルオペレーティングシステムのネイティブ機能に基づいて行うプログラミングである。例えば、ｉＯＳ及びＡｎｄｒｏｉｄ（登録商標）などのシステムに基づいて行うネイティブインターフェース開発である。Ｒｅａｃｔは、Ｆａｃｅｂｏｏｋ（登録商標）により製作されたＪＳフレームワークであり、フロントエンド開発を標準化するための構築システムである。Ｒｅａｃｔ  Ｎａｔｉｖｅは、Ｆａｃｅｂｏｏｋ（登録商標）によってＲｅａｃｔ標準に基づいて立ち上げられたもので、フロントエンド技術を用いてネイティブアプリケーションを開発できる技術実施フレームワークである。
【０００３】
ハイブリッド開発は、現行のモバイルアプリケーションにとってよく知られた開発様式である。この開発様式においては、インターフェース及びサービスを開発するためにフロントエンドウェブページ開発技術が用いられ、様々なＯＳのネイティブ能力を提供するためにネイティブ開発が用いられ、その結果得られたアプリケーションは、フロントエンドの動的能力とネイティブのエクスペリエンス効果を奏することができる。ＬｉｓｔＶｉｅｗは、アプリケーションの最も一般的な提示形式であり、リスト形式のコンテンツ（内容）を含むページを提示するために用いられ、リスト内の同一又は類似の構造を持つ多数（複数）のＬｉｓｔＣｅｌｌを提示し、通常、様々なＬｉｓｔＣｅｌｌの包含をサポートすることができる。ＬｉｓｔＣｅｌｌの提示構造は基本的に同一であり、提示対象の情報のコンテンツのみが異なる。ＬｉｓｔＣｅｌｌは、ＬｉｓｔＶｉｅｗの各行又は各サブセルに提示されるコンテンツである。画面の表示領域は限られているので、画面が同時に提示できるのは、ＬｉｓｔＶｉｅｗの一部のＬｉｓｔＣｅｌｌのコンテンツに過ぎない。他の一部のＬｉｓｔＣｅｌｌは、上下にスクロールすることによってのみ画面表示領域内でスクロールでき、これに応じ、一部のＬｉｓｔＶｉｅｗはスクロールして表示領域から外れる。したがって、画面上でユーザが見ることができるＬｉｓｔＣｅｌｌは常に限定されている。しかし、現在のフロントエンド技術において、フロントエンドは、Ｎａｔｉｖｅ（ネイティブ）を起動してインスタンスを創出し、全てのＬｉｓｔＣｅｌｌに対してレンダリングを実施する必要がある。その結果、実施された多くが無駄になる。Ｒｅａｃｔ  Ｎａｔｉｖｅ上での既存のＬｉｓｔＶｉｅｗ実施ソリューションを図１に示す。ＬｉｓｔＣｅｌｌはフロントエンドレイヤにて定義されるため、Ｒｅａｃｔ  Ｎａｔｉｖｅフレームワークが行えるのは、ＬｉｓｔＶｉｅｗの全体構造をネイティブレイヤにマッピングすることだけである。したがって、ＬｉｓｔＶｉｅｗが１００個のＬｉｓｔＣｅｌｌを有している場合、ネイティブレイヤでは１００個のＬｉｓｔＣｅｌｌが創出され、１００個のＬｉｓｔＣｅｌｌが配置され、レンダリングされる。これは、メモリと時間の両方を消費する。
【０００４】
リストスクロール工程において、表示可能領域の外へ移動されたＬｉｓｔＣｅｌｌを再利用して表示可能領域へ移動すべきＬｉｓｔＣｅｌｌを提示できる。そのため、新たなＬｉｓｔＣｅｌｌの創出及び配置に要するメモリ及び時間を削減して性能を向上させることができる。現行のハイブリッド技術では、ＬｉｓｔＶｉｅｗ開発において、構造レイアウトとＬｉｓｔＣｅｌｌクラスとはフロントエンドにて定義され、フロントエンドはネイティブレイヤを起動してＬｉｓｔＣｅｌｌインスタンスを創出する。したがって、フロントエンドのＤＯＭレンダリング機構の制約により、ＤＯＭの再構築には多額のコストが必要になることから、ネイティブレイヤは、ＬｉｓｔＣｅｌｌを効率的に再利用できない。
【０００５】
現行のネイティブ開発においては、ＬｉｓｔＣｅｌｌの再利用に応ずる対応技術が存在する。しかし、ハイブリッド技術においては、ページ開発にフロントエンド技術が用いられるため、フロントエンドではＬｉｓｔＶｉｅｗとＬｉｓｔＣｅｌｌとの両方が創出される。ＬｉｓｔＣｅｌｌがネイティブレイヤで創出され、再利用された場合、フロントエンドで定義されるＬｉｓｔＣｅｌｌクラスをネイティブレイヤへ伝送できない。換言すると、フロントエンドにてＪａｖａＳｃｒｉｐｔ（登録商標）（ＪＳ）を用いて定義されるＬｉｓｔＣｅｌｌクラスについて、インスタンスをネイティブレイヤにて直接創出できない。したがって、当業界において、現在、ハイブリッド開発でフロントエンドＬｉｓｔＣｅｌｌの再利用に用いることができる技術は存在しない。
【発明の概要】
【０００６】
本願の目的は、ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する方法及び装置を提供することにより、ハイブリッド開発において、ＬｉｓｔＣｅｌｌの構造とクラスはフロントエンドにて定義され、しかし、ＬｉｓｔＣｅｌｌはネイティブエンドにて創出され再利用されるという課題を解決することである。
【０００７】
本願の態様により、ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する方法が提供され、前記方法は以下を含む：前記ハイブリッドアプリケーションのフロントエンドにて、ＬｉｓｔＣｅｌｌのプロトタイプを定義するステップ；前記ハイブリッドアプリケーションのネイティブエンドにて、前記ＬｉｓｔＣｅｌｌの前記プロトタイプに基づいてコピーすることを通じて、前記ＬｉｓｔＣｅｌｌを取得し、前記ＬｉｓｔＣｅｌｌを再利用するステップ。
【０００８】
更に、前記方法において、ＬｉｓｔＣｅｌｌのプロトタイプを定義する前記ステップは以下を含む：前記ＬｉｓｔＣｅｌｌの前記プロトタイプの構造レイアウト及びクラスを定義するステップ。
【０００９】
更に、前記方法において、前記ＬｉｓｔＣｅｌｌの前記プロトタイプは、単一のＬｉｓｔＣｅｌｌのプロトタイプである。
【００１０】
更に、前記方法において、前記ＬｉｓｔＣｅｌｌの前記プロトタイプに基づいてコピーすることを通じて前記ＬｉｓｔＣｅｌｌを取得する前記ステップは以下を含む：前記ＬｉｓｔＣｅｌｌの前記プロトタイプに基づいてＬｉｓｔＣｅｌｌテンプレートを創出するステップ；前記ＬｉｓｔＣｅｌｌテンプレートをコピーすることにより前記ＬｉｓｔＣｅｌｌを取得するステップ；取得されたＬｉｓｔＣｅｌｌのコンテンツを前記コピーされたＬｉｓｔＣｅｌｌに記入し、前記ＬｉｓｔＣｅｌｌを表示するステップ。
【００１１】
更に、前記方法において、前記ＬｉｓｔＣｅｌｌテンプレートをコピーすることにより前記ＬｉｓｔＣｅｌｌを取得する前記ステップは以下を含む：前記ＬｉｓｔＣｅｌｌテンプレートの全てのサブビューをトラバースし、これらを取得するステップ；全ての前記サブビューと前記サブビューの属性とを含むＬｉｓｔＣｅｌｌを創出するステップ。
【００１２】
更に、前記方法において、取得されたＬｉｓｔＣｅｌｌのコンテンツを前記コピーされたＬｉｓｔＣｅｌｌに記入する前記ステップは以下を含む：前記取得されたＬｉｓｔＣｅｌｌのコンテンツを、前記創出されたＬｉｓｔＣｅｌｌのそれぞれの対応するサブビューに記入するステップ。
【００１３】
更に、前記方法において、前記ＬｉｓｔＣｅｌｌのコンテンツは前記フロントエンドから取得される。
【００１４】
更に、前記方法において、前記ＬｉｓｔＣｅｌｌテンプレートをコピーすることにより前記ＬｉｓｔＣｅｌｌを取得する間に、コピーされるＬｉｓｔＣｅｌｌの数が、表示領域に含めて表示することができるＬｉｓｔＣｅｌｌの数に基づいて特定される。
【００１５】
更に、前記方法において、前記ＬｉｓｔＣｅｌｌを再利用する前記ステップは以下を含む：
或るＬｉｓｔＣｅｌｌのコンテンツが前記表示領域の外に移動された場合、前記移動されたＬｉｓｔＣｅｌｌのコンテンツを含むＬｉｓｔＣｅｌｌを再利用可能なＬｉｓｔＣｅｌｌとしてリサイクルするステップ；
新しいＬｉｓｔＣｅｌｌのコンテンツを前記表示領域に移動すべき場合、再利用可能なＬｉｓｔＣｅｌｌが存在するかどうかを特定するステップ；
肯定である場合、前記新しいＬｉｓｔＣｅｌｌのコンテンツを前記再利用可能なＬｉｓｔＣｅｌｌに記入し、前記ＬｉｓｔＣｅｌｌを表示するステップ；又は、否定である場合、前記ＬｉｓｔＣｅｌｌテンプレートをコピーすることにより前記ＬｉｓｔＣｅｌｌを取得し、前記新しいＬｉｓｔＣｅｌｌのコンテンツを前記コピーされたＬｉｓｔＣｅｌｌに記入し、前記ＬｉｓｔＣｅｌｌを表示するステップ。
【００１６】
本願の他の態様により、ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する装置が更に提供され、前記装置は以下を含む：前記ハイブリッドアプリケーションのフロントエンドにて、ＬｉｓｔＣｅｌｌのプロトタイプを定義するように構成された定義装置；前記ハイブリッドアプリケーションのネイティブエンドにて、前記ＬｉｓｔＣｅｌｌの前記プロトタイプに基づいてコピーすることを通じて前記ＬｉｓｔＣｅｌｌを取得し、前記ＬｉｓｔＣｅｌｌを再利用するように構成されたコピー・再利用装置。
【００１７】
更に、前記装置において、前記定義装置は、前記ＬｉｓｔＣｅｌｌの前記プロトタイプの構造レイアウト及びクラスを定義するように構成される。
【００１８】
更に、前記装置において、前記ＬｉｓｔＣｅｌｌの前記プロトタイプは、単一のＬｉｓｔＣｅｌｌのプロトタイプである。
【００１９】
更に、前記装置において、前記コピー・再利用装置は、前記ＬｉｓｔＣｅｌｌの前記プロトタイプに基づいてＬｉｓｔＣｅｌｌテンプレートを創出し、前記ＬｉｓｔＣｅｌｌテンプレートをコピーすることにより前記ＬｉｓｔＣｅｌｌを取得し、取得されたＬｉｓｔＣｅｌｌのコンテンツを前記コピーされたＬｉｓｔＣｅｌｌに記入し、前記ＬｉｓｔＣｅｌｌを表示するように構成される。
【００２０】
更に、前記装置において、前記コピー・再利用装置は、前記ＬｉｓｔＣｅｌｌテンプレートの全てのサブビューをトラバースし、これら取得し、全ての前記サブビューと前記サブビューの属性とを含むＬｉｓｔＣｅｌｌを創出するように構成される。
【００２１】
更に、前記装置において、前記コピー・再利用装置は、前記取得されたＬｉｓｔＣｅｌｌのコンテンツを、前記創出されたＬｉｓｔＣｅｌｌのそれぞれの対応するサブビューに記入するように構成される。
【００２２】
更に、前記装置において、前記ＬｉｓｔＣｅｌｌのコンテンツは前記フロントエンドから取得される。
【００２３】
更に、前記装置において、前記コピー・再利用装置は、表示領域に含めて表示することができるＬｉｓｔＣｅｌｌの数に基づいて、コピーされるＬｉｓｔＣｅｌｌの数を特定するように構成される。
【００２４】
更に、前記装置において、前記コピー・再利用装置は、或るＬｉｓｔＣｅｌｌのコンテンツが前記表示領域の外に移動された場合、前記移動されたＬｉｓｔＣｅｌｌのコンテンツを含むＬｉｓｔＣｅｌｌを再利用可能なＬｉｓｔＣｅｌｌとしてリサイクルし；新しいＬｉｓｔＣｅｌｌのコンテンツを前記表示領域に移動すべき場合、再利用可能なＬｉｓｔＣｅｌｌが存在するかどうかを特定し；肯定である場合、前記新しいＬｉｓｔＣｅｌｌのコンテンツを、前記再利用可能なＬｉｓｔＣｅｌｌに記入し、前記ＬｉｓｔＣｅｌｌを表示し；否定である場合、前記ＬｉｓｔＣｅｌｌテンプレートをコピーすることにより前記ＬｉｓｔＣｅｌｌを取得し、前記新しいＬｉｓｔＣｅｌｌのコンテンツを、前記コピーされたＬｉｓｔＣｅｌｌに記入し、前記ＬｉｓｔＣｅｌｌを表示するように構成される。
【００２５】
既存の技術と比べると、本願においては、ＬｉｓｔＣｅｌｌのプロトタイプがフロントエンドにて定義される。ＬｉｓｔＣｅｌｌのプロトタイプは、ネイティブエンドにてコピーされる。ネイティブエンドは、現在のリスト提示位置に基づいて不可視のＬｉｓｔＣｅｌｌを再利用する。そのため、ＬｉｓｔＣｅｌｌのプロトタイプをフロントエンドにて定義でき、ネイティブエンドにてＬｉｓｔＣｅｌｌを自由に創出し、レンダリングし、再利用できる。したがって、ハイブリッド開発におけるＬｉｓｔＣｅｌｌの定義付けの柔軟性を維持できるだけでなく、ＬｉｓｔＣｅｌｌをネイティブエンドにて再利用でき、それにより、大きなリストの提示及び操作性能が大幅に向上する。本願の技術的解決策の中核は、リストページ上のＬｉｓｔＣｅｌｌを再利用し、レンダリング及び操作性能を向上させるため、ハイブリッドアプリケーション開発において、ＬｉｓｔＣｅｌｌの構造及びクラスをフロントエンドにて定義するが、ＬｉｓｔＣｅｌｌをネイティブエンドにて創出し、再利用する、という課題を解決することである。
【図面の簡単な説明】
【００２６】
本願の他の特徴、目的、及び利点は、以下の添付図面を参照して、非限定的な実施の詳細な説明を読むことによってより明らかになる。
【００２７】
【図１】既存のＬｉｓｔＶｉｅｗの実施を示す。
【００２８】
【図２】本願の態様による、ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する方法を示すフローチャートである。
【００２９】
【図３】本願の実施例を示す原理図である。
【００３０】
【図４】本願の別の実施例を示す原理図である。
【００３１】
【図５】本願の別の実施例を更に示す原理図である。
【００３２】
【図６】本願の別の態様による、ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する装置のモジュールを示す図である。
【００３３】
添付図面における同一又は類似の符号は、同一又は類似の構成要素を表す。
【発明を実施するための形態】
【００３４】
以下では、添付の図面を参照して、本願の実施を詳細に説明する。
【００３５】
本願の典型的な構成では、端末デバイス、サービスネットワークデバイス、及び信頼できるパーティのそれぞれは、１つ又は複数の中央処理装置（ＣＰＵ）、入力／出力インターフェース、ネットワークインターフェイス、及びメモリを含む。
【００３６】
メモリは、コンピュータ可読媒体における、非永続メモリ、ランダムアクセスメモリ（ＲＡＭ）、及び／又は不揮発性メモリ、例えば、読み出し専用メモリ（ＲＯＭ）又はフラッシュメモリ（フラッシュＲＡＭ）など、を含むことができる。メモリは、コンピュータ可読媒体の一例である。
【００３７】
コンピュータ可読媒体は、任意の方法又は技術を使用することによって情報の記憶を実施することができる、永続性、非永続性、可動性及び移動不可能な媒体を含む。情報は、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータとすることができる。コンピュータ記憶媒体の例には、相変化メモリ（ＰＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、別のタイプのランダムアクセスメモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリ、又は他のメモリ技術、コンパクトディスク読出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、又は他の光学記憶装置、カセット磁気テープ、テープ及びディスク記憶装置、又は他の磁気記憶装置、又は他の任意の非伝送媒体を含むことができるが、これらに限定されない。コンピュータ記憶媒体は、コンピュータデバイスによってアクセス可能な情報を記憶するように構成することができる。本明細書で説明するように、コンピュータ可読媒体は、変調データ信号及び搬送波などの非一時的なコンピュータ可読媒体を含まない。
【００３８】
図２に示すように、本願の態様によると、ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する方法が提供される。この方法は、下記のステップを含む。
【００３９】
ステップＳ１：ハイブリッドアプリケーションのフロントエンドにて、ＬｉｓｔＣｅｌｌのプロトタイプを定義する。
【００４０】
ステップＳ２：ハイブリッドアプリケーションのネイティブエンドにて、ＬｉｓｔＣｅｌｌのプロトタイプに基づいてコピーすることを通じてＬｉｓｔＣｅｌｌを取得し、ＬｉｓｔＣｅｌｌを再利用する。本願において、ＬｉｓｔＣｅｌｌのプロトタイプ（親）が、フロントエンドにて定義される。ＬｉｓｔＣｅｌｌのプロトタイプは、ネイティブエンド（Ｎａｔｉｖｅ）にてコピー（クローン生成）される。ネイティブエンドは、現在のリスト提示位置に基づいて不可視のＬｉｓｔＣｅｌｌを再利用する。そのため、ＬｉｓｔＣｅｌｌのプロトタイプをフロントエンドにて定義でき、ネイティブエンドにてＬｉｓｔＣｅｌｌを自由に創出し、レンダリングし、再利用できる。したがって、ハイブリッド開発におけるＬｉｓｔＣｅｌｌの定義付けの柔軟性を維持できるだけでなく、ＬｉｓｔＣｅｌｌをネイティブエンドにて再利用でき、それにより、大きなリストの提示及び操作性能が大幅に向上する。本願の技術的解決策の中核は、ハイブリッド開発において、ＬｉｓｔＣｅｌｌの構造及びクラスはフロントエンドにて定義され、しかし、ＬｉｓｔＣｅｌｌはネイティブエンドにて創出され再利用される、という課題を解決することである。それにより、リストページ上でＬｉｓｔＣｅｌｌを再利用してレンダリングと操作性能とを向上させることができる。本願は、全てのハイブリッドアプリケーション開発に適用可能であり、Ｒｅａｃｔ  Ｎａｔｉｖｅフレームワークにおいて非常に良好な実施効果を奏する。
【００４１】
本願における、ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する方法の実施の例において、ＬｉｓｔＣｅｌｌのプロトタイプを定義するステップＳ１は、ＬｉｓｔＣｅｌｌのプロトタイプの構造レイアウト及びクラスを定義するステップを含む。ここで、ＬｉｓｔＣｅｌｌのプロトタイプを定義するステップは、ＬｉｓｔＣｅｌｌの構造及びクラスを定義するステップを含む。そのため、ハイブリッド開発において、フロントエンドにてＬｉｓｔＣｅｌｌを柔軟に定義できる。
【００４２】
本願における、ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する方法の実施の例では、ＬｉｓｔＣｅｌｌのプロトタイプは単一のＬｉｓｔＣｅｌｌのプロトタイプである。ここでは、１つのインスタンス（即ち、ＬｉｓｔＣｅｌｌのプロトタイプ）のみがフロントエンドレイヤにて創出される。それに続き、ＬｉｓｔＣｅｌｌテンプレートをプロトタイプのみに基づいてネイティブエンドにて創出できる。次いで、ＬｉｓｔＣｅｌｌテンプレートが必要に応じてコピーされる。そのため、新しいＬｉｓｔＣｅｌｌの創出及び配置に要するメモリ及び時間を削減して性能を向上させることができる。
【００４３】
本願における、ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する方法の実施の例では、ＬｉｓｔＣｅｌｌのプロトタイプに基づいてコピーすることを通じてＬｉｓｔＣｅｌｌを取得するステップは：ＬｉｓｔＣｅｌｌのプロトタイプに基づいてＬｉｓｔＣｅｌｌテンプレートを創出するステップと；ＬｉｓｔＣｅｌｌテンプレートをコピーすることによりＬｉｓｔＣｅｌｌを取得するステップと；取得されたＬｉｓｔＣｅｌｌのコンテンツを、コピーされたＬｉｓｔＣｅｌｌに記入し、ＬｉｓｔＣｅｌｌを表示するステップと；を含む。ここで、図３に示すように、ＬｉｓｔＣｅｌｌテンプレート、即ち、図におけるＬｉｓｔＣｅｌｌプロトタイプのインスタンスは、フロントエンドにて定義されるプロトタイプのみに基づいてネイティブエンドにて創出される。次に、ＬｉｓｔＣｅｌｌテンプレートが、表示する必要があるＬｉｓｔＣｅｌｌのコンテンツの数に基づいてコピーされて、対応する数のＬｉｓｔＣｅｌｌが取得される。次に、ＬｉｓｔＣｅｌｌのコンテンツ、即ち、図３におけるＬｉｓｔＣｅｌｌデータ１からｎがレンダリング及び表示のために、それぞれ対応するＬｉｓｔＣｅｌｌに記入される。そのため、新しいＬｉｓｔＣｅｌｌの創出及び配置に要するメモリ及び時間を削減して性能を向上させることができる。
【００４４】
本願における、ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する方法の実施の例では、ＬｉｓｔＣｅｌｌテンプレートをコピーすることによりＬｉｓｔＣｅｌｌを取得するステップは：ＬｉｓｔＣｅｌｌテンプレートの全てのサブビューをトラバースし、取得するステップと；全てのサブビューと、サブビューの属性とを含むＬｉｓｔＣｅｌｌを創出するステップと；を含む。ここで、ＬｉｓｔＣｅｌｌテンプレートの全てのサブビュー（ビュー）は再帰的にトラバースされ、次いで、全てのサブビューとサブビューに対応する属性とを含むためにコピーすることを通じてＬｉｓｔＣｅｌｌが取得される。そのため、ＬｉｓｔＣｅｌｌを正確にコピーできる。図４に示すように、ＬｉｓｔＣｅｌｌテンプレート、即ち、図４におけるＬｉｓｔＣｅｌｌプロトタイプのサブビューは、Ａ、Ｂ、Ｃ、Ｄ、及びＥを含む。ＬｉｓｔＣｅｌｌプロトタイプをコピーするステップは、ＬｉｓｔＣｅｌｌプロトタイプの全てのサブビューと、サブビューの属性とを含むＬｉｓｔＣｅｌｌを創出する工程である。取得されるＬｉｓｔＣｅｌｌのサブビューは、Ａ’、Ｂ’、Ｃ’、Ｄ’、及びＥ’を含む。
【００４５】
本願における、ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する方法の実施の例では、取得されたＬｉｓｔＣｅｌｌのコンテンツを、コピーされたＬｉｓｔＣｅｌｌに記入するステップは：取得されたＬｉｓｔＣｅｌｌのコンテンツを、創出されたＬｉｓｔＣｅｌｌのそれぞれの対応するサブビューに記入するステップを含む。ここで、ＬｉｓｔＣｅｌｌのコンテンツを、ＬｉｓｔＣｅｌｌのコンテンツに基づいてコピーされたＬｉｓｔＣｅｌｌのそれぞれの対応するサブビューに記入できる。そのため、ＬｉｓｔＣｅｌｌのコンテンツを、ＬｉｓｔＣｅｌｌの対応する位置で正確に表示できる。図４に示すように、本実施において、ＬｉｓｔＣｅｌｌのコンテンツ、即ち、図４におけるコンテンツデータはそれぞれ、コピーされたＬｉｓｔＣｅｌｌの対応するサブビューＡ’、Ｂ’、Ｃ’、Ｄ’、及びＥ’に記入される。
【００４６】
本願における、ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する方法の実施の例では、ＬｉｓｔＣｅｌｌのコンテンツはフロントエンドから取得される。ここで、図３に示すように、ＬｉｓｔＣｅｌｌのプロトタイプの定義付けに加え、フロントエンドは、ＬｉｓｔＣｅｌｌのコンテンツ、即ち、図３におけるＬｉｓｔＣｅｌｌのデータをネイティブエンドへ伝送するだけでよい。そのため、フロントエンドデータ処理で消費されるメモリ及び時間を削減できる。
【００４７】
本願における、ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する方法の実施の例では、ＬｉｓｔＣｅｌｌテンプレートをコピーすることによりＬｉｓｔＣｅｌｌを取得する間に、表示領域に含めて表示できるＬｉｓｔＣｅｌｌの数に基づいてコピーされるＬｉｓｔＣｅｌｌの数が特定される。ここでは、とりわけ、ＬｉｓｔＣｅｌｌが表示領域に初めて表示される場合、再利用可能なＬｉｓｔＣｅｌｌがまだ存在しないため、表示領域に含めて表示できるＬｉｓｔＣｅｌｌの数に基づいてコピーすることにより、対応する数のＬｉｓｔＣｅｌｌを取得する必要がある。例えば、図３において、対応する数のＬｉｓｔＣｅｌｌが、１画面上に表示できるＬｉｓｔＣｅｌｌの数に基づいて生成される、ことが特定される。そのため、ＬｉｓｔＣｅｌｌを必要に応じてコピーすることができ、新しいＬｉｓｔＣｅｌｌの創出及び配置に要するメモリ及び時間を削減して性能を向上させることができる。例えば、１０個のＬｉｓｔＣｅｌｌのコンテンツを表示する必要があり、表示領域が、１０個のＬｉｓｔＣｅｌｌを含めて表示できる場合、１０個のＬｉｓｔＣｅｌｌをコピーする必要がある。
【００４８】
本願における、ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する方法の実施の例では、ＬｉｓｔＣｅｌｌを再利用するステップは：或るＬｉｓｔＣｅｌｌのコンテンツが表示領域の外に移動された場合、移動されたＬｉｓｔＣｅｌｌのコンテンツを含むＬｉｓｔＣｅｌｌを、再利用可能なＬｉｓｔＣｅｌｌとしてリサイクルするステップと；新しいＬｉｓｔＣｅｌｌのコンテンツを表示領域に移動すべき場合、再利用可能なＬｉｓｔＣｅｌｌが存在するかどうかを特定するステップと；肯定であれば、新しいＬｉｓｔＣｅｌｌのコンテンツを再利用可能なＬｉｓｔＣｅｌｌに記入し、ＬｉｓｔＣｅｌｌを表示するステップ；又は、否定であれば、ＬｉｓｔＣｅｌｌテンプレートをコピーすることによりＬｉｓｔＣｅｌｌを取得し、新しいＬｉｓｔＣｅｌｌのコンテンツを、コピーされたＬｉｓｔＣｅｌｌに記入し、ＬｉｓｔＣｅｌｌを表示するステップ；とを含む。ここで、図３に示すように、とりわけ、或るＬｉｓｔＣｅｌｌが表示領域に初めて表示される場合、このとき再利用可能なＬｉｓｔＣｅｌｌが既に存在する場合があるため、新しいＬｉｓｔＣｅｌｌのコンテンツが表示されるときに再利用可能なＬｉｓｔＣｅｌｌを使用できる、即ち、表示領域内のＬｉｓｔＣｅｌｌは、リストをスクロールする工程において繰り返し再利用され移動される。そのため、新しいＬｉｓｔＣｅｌｌの創出及び配置に要するメモリ及び時間を更に削減して性能を向上させることができる。当然、再利用可能なＬｉｓｔＣｅｌｌが存在しない場合、新しいＬｉｓｔＣｅｌｌのコンテンツに基づいてＬｉｓｔＣｅｌｌテンプレートをコピーして対応するデータのＬｉｓｔＣｅｌｌを取得する必要がある。例えば、１５個のＬｉｓｔＣｅｌｌのコンテンツを表示する必要があり、表示領域は、１０個のＬｉｓｔＣｅｌｌを含めて表示できる。この場合、１０個のＬｉｓｔＣｅｌｌのコンテンツを表示するために１０個のＬｉｓｔＣｅｌｌを最初の表示時にコピーする必要がある。他の５個のＬｉｓｔＣｅｌｌのコンテンツを表示のために表示領域へ移動する必要がある場合、既に表示されている５個の対応するＬｉｓｔＣｅｌｌのコンテンツは表示領域の外に移動される。表示領域の外に移動される５個のＬｉｓｔＣｅｌｌは、再利用可能なＬｉｓｔＣｅｌｌとしてリサイクルすることができる。次いで、５個の再利用可能なＬｉｓｔＣｅｌｌは、他の５個のＬｉｓｔＣｅｌｌのコンテンツのために再利用できる。
【００４９】
図５に示すように、本願の原理及び手順をより深く理解するため、ハイブリッドフレームワーク（Ｒｅａｃｔ  Ｎａｔｉｖｅ）を例にとり、本願の実施原理及び手順を以下の通り説明する。
【００５０】
ステップＳ５１：フロントエンドレイヤが、ＬｉｓｔＣｅｌｌの構造及びクラスを定義する。
【００５１】
ステップＳ５２：フロントエンドレイヤが、リストコンテンツデータ、即ち、ＬｉｓｔＣｅｌｌのコンテンツを取得する。
【００５２】
ステップＳ５３：フロントエンドレイヤが、定義されたＬｉｓｔＣｅｌｌの構造及びクラスに基づいてＬｉｓｔＣｅｌｌプロトタイプを創出し、リストコンテンツデータをネイティブエンドへ伝送し、次いで、ステップＳ５６へ進む。
【００５３】
ステップＳ５６：ネイティブエンドレイヤが、フロントエンドレイヤにより創出されたＬｉｓｔＣｅｌｌプロトタイプに基づいてＬｉｓｔＣｅｌｌプロトタイプインスタンス、即ち、ＬｉｓｔＣｅｌｌテンプレートを創出する。
【００５４】
ステップＳ５７：ネイティブエンドが、新しいＬｉｓｔＣｅｌｌを表示領域に移動すべきであると特定し、ステップＳ５８へ進む。
【００５５】
ステップＳ５７と同時に実行されるステップＳ６２：ネイティブエンドが、或るＬｉｓｔＣｅｌｌを表示領域の外へ移動すべきであると特定し、ステップＳ６３へ進む。
【００５６】
ステップＳ６３：ネイティブエンドが、モバイル表示領域内のＬｉｓｔＣｅｌｌを再利用可能なＬｉｓｔＣｅｌｌとして用い、次いで、ステップＳ５８へ進む。
【００５７】
ステップＳ５８：ネイティブエンドが、再利用可能なＬｉｓｔＣｅｌｌが存在するかどうかを特定する。
【００５８】
肯定であれば、ステップＳ５９が実行される。即ち、ネイティブエンドが再利用可能なＬｉｓｔＣｅｌｌを直接再利用し、次いで、ステップＳ６１へ進む。ここで、ネイティブエンドは、表示可能領域に含めて表示できるＬｉｓｔＣｅｌｌの数に基づいて、再利用できるＬｉｓｔＣｅｌｌを特定する。
【００５９】
否定であれば、ステップＳ６０が実行される。即ち、ネイティブエンドが、リストコンテンツデータに基づいてＬｉｓｔＣｅｌｌプロトタイプインスタンスからＬｉｓｔＣｅｌｌをコピーし、次いで、ステップＳ６１へ進む。ここで、ネイティブエンドは、フロントエンドレイヤから伝送されるリストコンテンツデータに基づいて他のＬｉｓｔＣｅｌｌをコピーする。
【００６０】
ステップＳ６１：ＬｉｓｔＣｅｌｌをレンダリングし、次いで、ステップＳ５４へ進む。
【００６１】
ステップＳ５４：フロントエンドレイヤユーザが、リストをスクロールする。
【００６２】
ステップＳ５５：リフレッシュを起動した後、フロントエンドレイヤが、ステップＳ５３へ進む。この場合、ＬｉｓｔＣｅｌｌプロトタイプを再度創出する必要はなく、リストのリフレッシュされたコンテンツデータ、即ち、表示すべき新しいリストコンテンツデータのみがネイティブエンドに伝送される。
【００６３】
図６に示すように、本願の別の態様によると、ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する装置が更に提供される。装置１００は、ハイブリッドアプリケーションのフロントエンドにて、ＬｉｓｔＣｅｌｌのプロトタイプを定義するように構成された定義装置１と；ハイブリッドアプリケーションのネイティブエンドにて、ＬｉｓｔＣｅｌｌのプロトタイプに基づいてコピーすることを通じてＬｉｓｔＣｅｌｌを取得し、ＬｉｓｔＣｅｌｌを再利用するように構成されたコピー・再利用装置２と；を含む。本願において、ＬｉｓｔＣｅｌｌのプロトタイプがフロントエンドにて定義される。ＬｉｓｔＣｅｌｌのプロトタイプは、ネイティブエンド（Ｎａｔｉｖｅ）にてコピーされる。ネイティブエンドは、現在のリスト提示位置に基づいて不可視のＬｉｓｔＣｅｌｌを再利用する。そのため、ＬｉｓｔＣｅｌｌのプロトタイプをフロントエンドにて定義することができ、ネイティブエンドにてＬｉｓｔＣｅｌｌを自由に創出し、レンダリングし、再利用できる。したがって、ハイブリッド開発においてＬｉｓｔＣｅｌｌの定義付けにおける柔軟性を維持できるだけでなく、ＬｉｓｔＣｅｌｌをネイティブエンドにて再利用でき、それにより、大きなリストの提示及び操作性能が大幅に向上する。本願の技術的解決策の中核は、ハイブリッド開発においては、ＬｉｓｔＣｅｌｌの構造及びクラスはフロントエンドにて定義される、しかし、ＬｉｓｔＣｅｌｌはネイティブエンドにて創出され再利用される、という課題を解決することである。そうすることで、リストページ上でＬｉｓｔＣｅｌｌを再利用してレンダリング及び操作性能を向上させることができる。本願は、全てのハイブリッドアプリケーション開発に適用可能であり、Ｒｅａｃｔ  Ｎａｔｉｖｅフレームワークにおいて非常に良好な実施効果を奏する。
【００６４】
本願における、ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する装置の実施の例では、定義装置１は、ＬｉｓｔＣｅｌｌのプロトタイプの構造レイアウト及びクラスを定義するように構成される。ここで、ＬｉｓｔＣｅｌｌのプロトタイプを定義することは、ＬｉｓｔＣｅｌｌの構造及びクラスを定義することを含む。そのため、ハイブリッド開発において、フロントエンドにてＬｉｓｔＣｅｌｌを柔軟に定義できる。
【００６５】
本願における、ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する装置の実施の例では、ＬｉｓｔＣｅｌｌのプロトタイプは単一のＬｉｓｔＣｅｌｌのプロトタイプである。ここでは、１つのインスタンス（即ち、ＬｉｓｔＣｅｌｌのプロトタイプ）のみがフロントエンドレイヤにて創出される。それに続き、ＬｉｓｔＣｅｌｌテンプレートをプロトタイプのみに基づいてネイティブエンドにて創出できる。次いで、ＬｉｓｔＣｅｌｌテンプレートが、必要に応じてコピーされる。そのため、新しいＬｉｓｔＣｅｌｌの創出及び配置に要するメモリ及び時間を削減して性能を向上させることができる。
【００６６】
本願における、ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する装置の実施の例では、コピー・再利用装置２は、ＬｉｓｔＣｅｌｌのプロトタイプに基づいてＬｉｓｔＣｅｌｌテンプレートを創出し、ＬｉｓｔＣｅｌｌテンプレートをコピーすることによりＬｉｓｔＣｅｌｌを取得し、取得されたＬｉｓｔＣｅｌｌのコンテンツをコピーされたＬｉｓｔＣｅｌｌに記入し、ＬｉｓｔＣｅｌｌを表示するように構成される。ここで、図３に示すように、ＬｉｓｔＣｅｌｌテンプレート、即ち、図におけるＬｉｓｔＣｅｌｌプロトタイプのインスタンスは、フロントエンドにて定義されるプロトタイプのみに基づいてネイティブエンドにて創出される。次いで、表示する必要があるＬｉｓｔＣｅｌｌのコンテンツの数に基づいて、ＬｉｓｔＣｅｌｌテンプレートがコピーされ、対応する数のＬｉｓｔＣｅｌｌが取得される。次いで、ＬｉｓｔＣｅｌｌのコンテンツ、即ち、図３におけるＬｉｓｔＣｅｌｌデータ１からｎが、レンダリング及び表示のためにそれぞれ対応するＬｉｓｔＣｅｌｌに記入される。そのため、新しいＬｉｓｔＣｅｌｌの創出及び配置に要するメモリ及び時間を削減して性能を向上させることができる。
【００６７】
本願における、ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する装置の実施の例では、コピー・再利用装置２は、ＬｉｓｔＣｅｌｌテンプレートの全てのサブビューをトラバースして、これらを取得し、全てのサブビュー及びサブビューの属性を含むＬｉｓｔＣｅｌｌを創出するように構成される。ここで、ＬｉｓｔＣｅｌｌテンプレートの全てのサブビュー（ビュー）は再帰的にトラバースされ、次いで、全てのサブビュー及びサブビューに対応する属性を含むためにコピーすることを通じてＬｉｓｔＣｅｌｌが取得される。そのため、ＬｉｓｔＣｅｌｌを正確にコピーすることができる。図４に示すように、ＬｉｓｔＣｅｌｌテンプレート、即ち、図４におけるＬｉｓｔＣｅｌｌプロトタイプのサブビューは、Ａ、Ｂ、Ｃ、Ｄ、及びＥを含む。ＬｉｓｔＣｅｌｌプロトタイプをコピーするステップは、ＬｉｓｔＣｅｌｌプロトタイプの全てのサブビュー及びサブビューの属性を含むＬｉｓｔＣｅｌｌを創出する工程である。取得されるＬｉｓｔＣｅｌｌのサブビューは、Ａ’、Ｂ’、Ｃ’、Ｄ’、及びＥ’を含む。
【００６８】
本願における、ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する装置の実施の例では、コピー・再利用装置２は、取得されたＬｉｓｔＣｅｌｌのコンテンツを、創出されたＬｉｓｔＣｅｌｌのそれぞれの対応するサブビューに記入するように構成される。ここで、ＬｉｓｔＣｅｌｌのコンテンツに基づいてコピーされたＬｉｓｔＣｅｌｌのそれぞれの対応するサブビューに、ＬｉｓｔＣｅｌｌのコンテンツを記入できる。そのため、ＬｉｓｔＣｅｌｌのコンテンツをＬｉｓｔＣｅｌｌの対応する位置に正確に表示できる。図４に示すように、本実施において、ＬｉｓｔＣｅｌｌのコンテンツ、即ち、図４におけるコンテンツデータはそれぞれ、コピーされたＬｉｓｔＣｅｌｌの対応するサブビューＡ’、Ｂ’、Ｃ’、Ｄ’、及びＥ’に記入される。
【００６９】
本願における、ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する装置の実施の例では、ＬｉｓｔＣｅｌｌのコンテンツはフロントエンドから取得される。ここで、図３に示すように、ＬｉｓｔＣｅｌｌのプロトタイプを定義することに加えて、フロントエンドは、ＬｉｓｔＣｅｌｌのコンテンツ、即ち、図３におけるＬｉｓｔＣｅｌｌのデータをネイティブエンドへ伝送するだけでよい。そのため、フロントエンドデータ処理のために消費されるメモリ及び時間を削減できる。
【００７０】
本願における、ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する装置の実施の例では、コピー・再利用装置２は、表示領域に含めて表示できるＬｉｓｔＣｅｌｌの数に基づいてコピーされるＬｉｓｔＣｅｌｌの数を特定するように構成される。ここでは、とりわけ、ＬｉｓｔＣｅｌｌが表示領域に初めて表示される場合、再利用可能なＬｉｓｔＣｅｌｌがまだ存在しないため、表示領域に含めて表示できるＬｉｓｔＣｅｌｌの数に基づいてコピーすることにより、対応する数のＬｉｓｔＣｅｌｌを取得する必要がある。例えば、図３において、対応する数のＬｉｓｔＣｅｌｌが、１つの画面上に表示できるＬｉｓｔＣｅｌｌの数に基づいて生成される、ことが特定される。そのため、ＬｉｓｔＣｅｌｌを必要に応じてコピーすることができ、新しいＬｉｓｔＣｅｌｌの創出及び配置に要するメモリ及び時間を削減して性能を向上させることができる。例えば、１０個のＬｉｓｔＣｅｌｌコンテンツを表示する必要があり、表示領域は、１０個のＬｉｓｔＣｅｌｌを含めて表示できる場合、１０個のＬｉｓｔＣｅｌｌをコピーする必要がある。
【００７１】
本願における、ハイブリッドアプリケーションにおいてＬｉｓｔＣｅｌｌを再利用する装置の実施の例では、コピー・再利用装置２は、或るＬｉｓｔＣｅｌｌのコンテンツが表示領域の外に移動された場合、移動されたＬｉｓｔＣｅｌｌのコンテンツを含むＬｉｓｔＣｅｌｌを再利用可能なＬｉｓｔＣｅｌｌとしてリサイクルし；新しいＬｉｓｔＣｅｌｌのコンテンツを表示領域に移動すべき場合、再利用可能なＬｉｓｔＣｅｌｌが存在するかどうかを特定し；肯定であれば、新しいＬｉｓｔＣｅｌｌのコンテンツを再利用可能なＬｉｓｔＣｅｌｌに記入し、ＬｉｓｔＣｅｌｌを表示し；否定であれば、ＬｉｓｔＣｅｌｌテンプレートをコピーすることによりＬｉｓｔＣｅｌｌを取得し、新しいＬｉｓｔＣｅｌｌのコンテンツをコピーされたＬｉｓｔＣｅｌｌに記入し、ＬｉｓｔＣｅｌｌを表示するように構成される。ここで、図３に示すように、とりわけ、或るＬｉｓｔＣｅｌｌが表示領域に初めて表示される場合、このとき再利用可能なＬｉｓｔＣｅｌｌが既に存在する場合があるため、新しいＬｉｓｔＣｅｌｌコンテンツが表示されるときに再利用可能なＬｉｓｔＣｅｌｌを使用できる、即ち、表示領域内のＬｉｓｔＣｅｌｌは、リストをスクロールする工程において繰り返し再利用され移動される。そのため、新しいＬｉｓｔＣｅｌｌの創出及び配置に要するメモリ及び時間を更に削減して性能を向上させることができる。当然、再利用可能なＬｉｓｔＣｅｌｌが存在しない場合、新しいＬｉｓｔＣｅｌｌコンテンツに基づいてＬｉｓｔＣｅｌｌテンプレートをコピーして対応するデータのＬｉｓｔＣｅｌｌを取得する必要がある。例えば、１５のＬｉｓｔＣｅｌｌコンテンツを表示する必要があり、表示領域は、１０個のＬｉｓｔＣｅｌｌを含めて表示できる。この場合、１０個のＬｉｓｔＣｅｌｌコンテンツを表示するために１０個のＬｉｓｔＣｅｌｌを最初の表示時にコピーする必要がある。他の５つのＬｉｓｔＣｅｌｌコンテンツを表示のために表示領域へ移動する必要がある場合、既に表示されている５個の対応するＬｉｓｔＣｅｌｌコンテンツは表示領域の外に移動される。表示領域の外に移動される５個のＬｉｓｔＣｅｌｌは、再利用可能なＬｉｓｔＣｅｌｌとしてリサイクルできる。５個の再利用可能なＬｉｓｔＣｅｌｌは、他の５個のＬｉｓｔＣｅｌｌコンテンツのために再利用できる。
【００７２】
結論として、本願において、ＬｉｓｔＣｅｌｌのプロトタイプがフロントエンドにて定義される。ＬｉｓｔＣｅｌｌのプロトタイプは、ネイティブエンドにてコピーされる。ネイティブエンドは、現在のリスト提示位置に基づいて不可視のＬｉｓｔＣｅｌｌを再利用する。そのため、ＬｉｓｔＣｅｌｌのプロトタイプをフロントエンドにて定義することができ、ネイティブエンドにてＬｉｓｔＣｅｌｌを自由に創出し、レンダリングし、再利用できる。したがって、ハイブリッド開発においてＬｉｓｔＣｅｌｌの定義付けの柔軟性を維持できるだけでなく、ＬｉｓｔＣｅｌｌをネイティブエンドにて再利用でき、それにより、大きなリストの提示及び操作性能が大幅に向上する。本願の技術的解決策の中核は、リストページ上のＬｉｓｔＣｅｌｌを再利用し、レンダリング及び操作性能を向上させるため、ハイブリッドアプリケーション開発においては、ＬｉｓｔＣｅｌｌの構造及びクラスはフロントエンドにて定義されるが、ＬｉｓｔＣｅｌｌはネイティブエンドにて創出され再利用される、という課題を解決することである。
【００７３】
明らかに、当業者は、本願の精神及び範囲から逸脱することなく、本願に対して様々な修正及び変形を行うことができる。本願は、これらの改変及び変形が添付の特許請求の範囲及びそれらと同等の技術によって定義される保護の範囲内に入る限り、本願のこれらの改変及び変形を包含することを意図している。
【００７４】
本願は、ソフトウェア及び／又はソフトウェアとハードウェアとの組み合わせで実施することができることに留意する価値がある。例えば、本願は、特定用途向け集積回路（ＡＳＩＣ）、汎用コンピュータ、又は任意の他の同様のハードウェアデバイスを使用することによって実施することができる。ある実施では、前述のステップ及び機能を実施するために、本願のソフトウェアプログラムをプロセッサによって実行することができる。同様に、本願におけるソフトウェアプログラム（関連するデータ構造を含む）は、コンピュータ読み取り可能記録媒体、例えばＲＡＭメモリ、磁気又は光学ドライブ、又は、フロッピー（登録商標）ディスク、及び同様のデバイスに格納することができる。更に、本願におけるいくつかのステップ又は機能は、ハードウェア、例えば、プロセッサと協働してステップ又は機能を実行する回路を使用することによって実施することができる。
【００７５】
更に、本願の一部は、コンピュータプログラム命令のようなコンピュータプログラム製品として実施することができる。コンピュータプログラム命令がコンピュータによって実行されるとき、本願に基づく方法及び／又は技術的解決策は、コンピュータの動作を使用して呼び出されるか又は提供されることができる。更に、本願の方法を呼び出すためのプログラム命令は、固定又は取外し可能な記録媒体に格納することができ、及び／又は他の信号ベアラ媒体におけるブロードキャスト又はデータフローを使用して送信することができ、及び／又はプログラム命令に基づいて動作するコンピュータデバイスのオペレーティングメモリに格納することができる。ここで、本願による実施は、装置を含み、装置は、コンピュータプログラム命令を記憶するように構成されたメモリと、プログラム命令を実行するように構成されたプロセッサとを含む。コンピュータプログラム命令がプロセッサによって実行されると、コンピュータプログラム命令は、本願による複数の実施における前述の方法及び／又は技術的解決策に基づいて装置の作動をトリガする。
【００７６】
本願は、前述の実施例の詳細に限定されず、本願は、本願の精神又は本質的な特徴から逸脱することなく、別の特定の形態で実施され得ることは当業者には明らかである。したがって、実施は、例示的であり、すべての態様において限定的ではなく、本願の範囲は、上記の説明ではなく添付の特許請求の範囲によって限定されるべきである。したがって、本願は、特許請求の範囲の均等な要素の意味及び範囲内のすべての変更を包含する。特許請求の範囲内の任意の参照番号は、関連する特許請求の範囲の限定とみなされるべきではない。更に、「含む」という単語は、他のユニット又はステップを排除するものではなく、単数は複数を除外しないことは明らかである。また、装置クレームに記載された複数のユニット又は装置は、ソフトウェア又はハードウェアにより、１つのユニット又は装置に実現させることができる。「第１」及び「第２」などの単語は、特定の順序ではなく名前を示すために使用される。
【図１】
2019510309.tif 000003
【図２】
2019510309.tif 000004
【図３】
2019510309.tif 000005
【図４】
2019510309.tif 000006
【図５】
2019510309.tif 000007
【図６】
2019510309.tif 000008
【国際調査報告】
2019510309.tif 000009
2019510309.tif 000010
2019510309.tif 000011
2019510309.tif 000012