Honmeng OS アトミック サービス カードの原理とアーキテクチャ分析

導入

2021年6月2日の夜、ファーウェイはHarmonyOS 2システムおよびフルシナリオ新製品発表カンファレンスでサービスカードを正式に発表し、APP情報表示に対する人々の認識を覆し、業界で大きな注目を集めました。サービスカードの原理とアーキテクチャについて説明します。現時点での情報が限られているため、記事の内容に間違いや漏れがある可能性がございますが、ご了承ください。

1. HarmonyOS サービスカードの概要

サービスカードの正式な定義 サービス
カード(以下「カード」という)は、紅蒙FA(機能能力)のインターフェース表示形式であり、FAの重要な情報や操作をカードに記載して直接サービスを実現し、経験レベルを軽減します。 。

サービスカードとは何か例を挙げてください

サービスカードがもたらす価値を実感するために、「プレイングマシンスキル」の応用を例に挙げてみましょう。アイコンを指で押しながら上にスライドさせると、アプリケーションのデフォルトカードがポップアップしますので、カードの右上隅にある画鋲をクリックすると、カードがデスクトップに固定されますので、その中のボタンをクリックしてください。ゲームスキルの表示を開始するカード。このように、カードと対話することで、ユーザーはアプリケーションを開かずにアプリケーション内の一部の操作を実現できるため、非常に使いやすくなります。
ここに画像の説明を挿入

サービスカードの価値

たとえて言えば、
WeChat を開かずにスキャンと支払いコードを直接実行できる、
Weibo を開かずに最新のホットスポット情報を表示できる、
メール サービスを開かずに最新のメーリング リストを表示できる、
...
サービス カードを想像してください。これはアプリケーションの革新への扉を開き、新しいビジネス価値とアプリケーションへのトラフィックの流入をもたらします。

サービス カードと細分化されたサービスの間にはどのような関係がありますか?

サービス カードと言えば、それに密接に関連するアトミック サービスについても言及する必要があります。公式アトミックサービスはHarmonyOSが提供する未来志向のサービス提供方法であり、独立した入り口(ユーザーがクリック、タッチ、スキャンなどで直接トリガーできる)、インストールフリー(明示的なインストールは不要)、システム プログラム フレームワークのバックグラウンドによってインストールされた後に使用され、ユーザーに 1 つまたは複数の便利なサービスを提供できます。サービスカードはHongmeng OSのアトミックサービスの表示方法です。アトミック サービスが顔であり、サービス カードが顔です。
サービス カード アプリケーションは現在、HarmonyOS のクローズドソース バージョンでの展開のみをサポートしており、この機能は HarmonyOS OpenHarmony 2.0 のオープンソース バージョンではまだサポートされていません。

2. サービスカードの操作手順

アプリのサービスカードを表示する方法

アプリアイコンの下に横線が表示されている場合は、アイコンを指で押しながら上にスライドすると、アプリのデフォルトカードがポップアップしますので、カード右上の画鋲をクリックするとカードが表示されますデスクトップに固定され、カードはクリック操作をサポートしており、ユーザーはアプリケーションを開かずにアプリケーションで一部の操作を実現できます。
たとえば、下の写真にあるカメラ、電話、Changlian アプリはすべてサービス カード機能をサポートしています。
ここに画像の説明を挿入

アプリのすべてのカードを表示するにはどうすればよいですか?

「ゲームプレイ スキル」アプリケーションを例に挙げると、デスクトップ上のアイコンを長押しして、ポップアップ メニューの「サービス カード」をクリックすると、「ゲームプレイ スキル」アプリのすべてのカードが表示されます。
ここに画像の説明を挿入

サービスカードのリストを表示するにはどうすればよいですか?

デスクトップの左下隅または右下隅から画面中央に指をスワイプすると、「マイ サービス」が表示され、携帯電話でサポートされているサービス カードのリストが表示されます。
ここに画像の説明を挿入

3. サービスカードの原則の分析

上記の紹介により、サービス カードについて一般的に理解できました。では、サービス カードの本質は何でしょうか? WeChat アプレットに似たアプリケーションでしょうか? 現在市場に出ているアプリケーションのどのタイプに似ていますか? 違いはどこにあるのでしょうか?
上記の質問に答えるために、業界の典型的なアプリケーションの種類と代表的なものを簡単にまとめます。

典型的なアプリケーション 技術的特徴 典型的な代表者
ネイティブアプリ iOSアプリ、Androidアプリ
H5
ハイブリッドAPP NativeとH5のハイブリッド
ウィジェット iOSウィジェット
アプレット Webビューのレンダリング WeChat アプレット
クイックアプリ ネイティブレンダリング
軽い塗布 取得してインテリジェントに配布できる Web アプリの特性を備えています。 百度アプリケーション

以下では、WeChat アプレット、クイック アプリ、ウィジェットに焦点を当てます。

WeChat アプレット

WeChat ミニ プログラムは、2017 年 1 月 9 日の早朝に正式に開始されました。WeChat ミニ プログラムは、ダウンロードやインストールを行わずに使用できるアプリケーションであり、ユーザーはスキャンまたは検索してアプリケーションを開くことができる、「アクセス可能な」アプリケーションの夢を実現します。また、「使ったら消える」というコンセプトを体現しており、ユーザーはアプリケーションをインストールしすぎないかを気にする必要がありません。
WeChat アプレットのフレームワークは、View レイヤーと App Service ロジック レイヤーの 2 つの部分で構成されます。View レイヤーはページ構造のレンダリングに使用され、AppService レイヤーはロジック処理、データ要求、インターフェイス呼び出しに使用されます。 2つのスレッドで実行します。ビュー層は WebView を使用してレンダリングされ、ロジック層は JSCore を使用して実行されます。ビュー層とロジック層はシステム層のJSBridageを介して通信し、ロジック層はビュー層にデータ変更を通知し、ビュー層のページ更新をトリガーし、ビュー層はトリガーされたイベントをビジネス用ロジック層に通知します。処理。

ここに画像の説明を挿入

クイックアプリ

Quick App は、ハードウェア プラットフォームに基づいて主要携帯電話メーカー 9 社が共同で立ち上げた新しいアプリケーション エコロジーです。ユーザーはダウンロードしてインストールする必要がなく、クリックして使用するだけで、ネイティブ アプリケーションのパフォーマンス エクスペリエンスを楽しむことができます。2018 年 3 月 20 日、北京で「Quick App」標準が開始されました。
「Quick App」はフロントエンド技術スタックを使用して開発され、ネイティブにレンダリングされ、H5 ページとネイティブ アプリケーションの 2 つの利点を備えています。

ウィジェットとは何ですか?

ウィジェットはまさにアプリケーションの拡張に相当する位置づけで、アプリケーションを開いたり読み込みを待たずに、素早く情報を取得したり、画面上で簡単な操作を行うことができるのが使い方のポイントです。Apple は、ウィジェットはアプリケーションにアクセスするための別のショートカットではなく、情報を表示する方法であり、一部のユーザーが関心のあるアプリケーション データを迅速に提供するために使用されると繰り返し強調しています。Widgetが初めて中国に進出したとき、一般的な翻訳名はなく、当時Zhongsouによって「Weige」と名付けられました。この時点まで、iOS 14 では「ウィジェット」という名前が使用されていませんでした。
ここに画像の説明を挿入

ウィジェットは、さまざまなユーザーの使用シナリオに応じて、情報ウィジェット、コレクション ウィジェット、コントロール ウィジェット、および混合ウィジェットに分類できます。ただし、iOS では対話のためにメイン画面のコントロールが常にコントロール センターに配置されているため、ウィジェットの種類は主に情報ウィジェットとコレクション ウィジェットになります。
ここに画像の説明を挿入

ウィジェットの更新は WidgetCenter によって完全に制御されます。開発者は API を通じてウィジェット ページをアクティブに更新することはできません。タイムラインを更新する必要があることを WidgetCenter に通知することしかできません。Widget は SwiftUI でのみ開発できますが、正確に言うと Widget の本質はタイムラインで更新される SwiftUI ビューです。
ここに画像の説明を挿入

ウィジェットの操作と表示

ウィジェット UI はステートレスです。アニメーション GIF、ビデオの再生、スクロール、ビューのアクティブな更新はサポートされていません。サポートされている機能は、ユーザーのクリックとメイン アプリを呼び出すディープリンクのみです。

関連する機能を総合的に比較すると、Hongmeng カード サービスは標準ウィジェットのアプリケーション フォームに似ています。紅蒙サービスカードの英語名はservice widgetと呼ばれており、側面からもこの観点を裏付けています。

4. サービスカードの機能

Honmeng OS サービス カードには 3 つの主要な機能があります。

1) どこでも利用可能

• サービス検出: 細分化されたサービスをサービス センターで検出して使用できます。
• インテリジェントな推奨: アトミック サービスは、適切なシナリオに基づいてユーザーに積極的に推奨できます。ユーザーは、サービス センターのシステムによって推奨されるサービスと Xiaoyi の推奨を見つけることができます。

2) ダイレクトサービス

• 霧化サービスはインストール不要での使用をサポートします。
• サービス カード: ユーザーが、天気、重要事項、ホット ニュース リストなど、細分化されたサービスを開くことなく、サービス内の重要な情報の表示と動的な変更を取得できるようにサポートします。

3) クロスデバイス

• 細分化されたサービスは、携帯電話、タブレット、その他のデバイスなどの 1+8+N デバイスでの実行をサポートします。
• クロスデバイス共有のサポート:たとえば、Huawei Share にアクセスした後、ユーザーは友人と霧化サービスを共有でき、友人は確認後に共有サービスを開きます。
• 端末間移行のサポート: たとえば、携帯電話上の未完了のメールをタブレットに移行して編集を続けることができます。
• マルチ端末コラボレーションのサポート: たとえば、携帯電話は文書のページめくりや注釈として使用され、スマート スクリーン ディスプレイは分散オフィスを完成させるために使用され、携帯電話はスマート デバイスでゲームをプレイするためのハンドルとして使用されます。画面。

上記の公式広報によると、Hongmeng OS の分散機能に基づいて、Hongmeng OS はウィジェットに基づいてクロスデバイス機能を追加し、ウィジェットに新たな活力を与えています。
ユーザーがデバイス間でサービスを転送および共有する場合、転送されたデバイスにはアプリケーションをプレインストールする必要がありません。これにより、適用可能なシナリオとサービス カードの価値が大幅に向上します。

5. アトミックサービスアーキテクチャ

Honmeng OS アトミック サービスのアーキテクチャに関する参考図が 2 つあります。
ここに画像の説明を挿入
ここに画像の説明を挿入

基本的な考え方
• カード利用者

カードの内容を表示するホスト アプリケーションは、ホスト内でのカードの表示位置を制御します。

• カード管理サービス

カード オブジェクトの管理と使用、カードの定期的な更新など、システムに追加されたカードを管理するために使用される常駐エージェント サービス。

• カードプロバイダー

カード表示コンテンツを提供し、カード表示コンテンツを制御し、レイアウトを制御し、クリック イベントを制御する HarmonyOS アプリケーションまたはアトミック サービス。

説明する

カード利用者とプロバイダーは永続的な運用を必要とせず、カードの追加・削除・更新要求が必要な場合には、カード管理サービスがカードプロバイダーをプルしてカード情報を取得します。

カード管理サービスには次のモジュールが含まれています。

• 定期的なリフレッシュ: カードの追加後、スケジュールされたタスクを開始して、カードのリフレッシュ ポリシーに従ってカードのリフレッシュを定期的にトリガーします。
• カードキャッシュ管理:カード管理サービスにカードを追加すると、カードの閲覧情報がキャッシュされるため、次回カード取得時にキャッシュされたデータを直接返すことができ、遅延が軽減されます。
• カードのライフ サイクル管理: カードがバックグラウンドに切り替えられるかブロックされると、カードの更新が一時停止され、カードのアップグレード/アンインストール シナリオでカード データが更新およびクリアされます。
• カード ユーザー オブジェクト管理: カード ユーザーの RPC オブジェクトを管理します。これは、ユーザーの要求を確認し、カードの更新後にコールバックを処理するために使用されます。
• 通信適応層: カード ユーザーおよびプロバイダーとの RPC 通信を担当します。

カード プロバイダーには次のモジュールが含まれています。

• カード サービス: カード プロバイダーの開発者によって実装されます。開発者は、カードの作成、更新、削除の要求を処理するために onCreateForm、onUpdateForm、および onDeleteForm を実装し、対応するカード サービスを提供します。
• カード プロバイダー インスタンス管理モジュール: カード プロバイダー開発者によって実装され、カード管理サービスによって割り当てられたカード インスタンスの永続的な管理を担当します。
• 通信適応層: HarmonyOS SDK によって提供され、カード管理サービスと通信し、カード更新データをカード管理サービスに積極的にプッシュする役割を果たします。

上記のアーキテクチャ説明によると、個人的な分析と推論の内容は次のとおりです。

アプリを事前にインストールせずに、サービス カードをデバイス間で転送および共有するにはどうすればよいですか?

Honmeng OS 細分化サービスは、カード ユーザーとカード プロバイダーが分離されたアーキテクチャを採用しており、カード ユーザーとカード プロバイダーは同じデバイス上に存在することも、異なるデバイス上に存在することもできます。転送が異なるデバイス上で実行される場合、RPC 通信を通じて、Hongmeng OS はクロスデバイス転送および共有機能を実現でき、受信側はアプリケーションをプレインストールする必要はありません。
同時に、カード プロバイダーがオフラインになるリスクに対して、Hongmeng OS はアーキテクチャでカード管理サービスのキャッシュ メカニズムをサポートすることで効果的に対処しました。

その他のデザインに関するディスカッション

現時点では、アトミック サービス タイミング リフレッシュ モジュールがどのように実装されているかは不明であり、iOS ウィジェットと同じかどうかは不明であり、マシン全体のリフレッシュ パフォーマンスを向上させるために、システムによってリフレッシュが均一にスケジュールされています。
カードのユーザーとカードの提供者が同じ端末上にある場合、アーキテクチャの観点から、カード管理サービスなしの直接通信として最適化でき、パフォーマンスの低下を避けるために中間のリンクを 1 つ減らすことができるようです。

6. 細分化されたサービスの将来の展望

ios14ウィジェットの機能と、Hongmeng OSサービスカードが将来どのような機能を開始するかを比較および分析してみましょう。

1) 設定機能

ユーザーは自分の好みに応じて設定できます。天気コンポーネントを例に挙げると、晴れ、雨、気温などの情報を気にするユーザーもいれば、PM2.5情報だけを気にするユーザーもいると思いますが、ウィジェットの表示スペースには限りがあるため、すべての情報を表示できない場合があります。コンポーネント内の情報 したがって、ウィジェットの構成に関してユーザーが興味のある情報を選択できるようにすることは、非常に重要な機能です。

2) スマートスタック機能と同様

iOS ウィジェットにはスマート スタック機能があり、Siri のインテリジェントなレコメンデーション機能が統合されており、使用時間や場所などの要素に基づいてコンポーネントをインテリジェントに表示できます。たとえば、朝起きると天気情報を表示したり、オフィスに到着したときは WeChat の新しいニュースを表示したりすることができます。現在、Hongmeng OS は Xiaoyi の提案を実装していますが、Xiaoyi が推奨しているのはアプリケーションのリストであり、サービス カードを順番に表示する機能ではありません。

3) 展開および折りたたみ機能

サービス カードを展開および折りたたむ機能は、リスト タイプのサービス カードの場合に特に重要です。折りたたむとデスクトップのスペースを節約できるため、スペースに敏感な一部の人に特に適しています。

7. 細分化されたサービスインスタンス

アトミックサービスのアプリケーション開発については、Huawei codelab を参照してください:
Clock FA Card Development Sample
https://developer.huawei.com/consumer/cn/codelabsPortal/carddetails/Clock-Card
ここに画像の説明を挿入
詳細については、Hongmeng OS Excellent を参照してください。データ照合、継続更新

おすすめ

転載: blog.csdn.net/qq_31765191/article/details/118725438